სხვაობა JVM-სა და JRE-ს შორის

სხვაობა JVM-სა და JRE-ს შორის
სხვაობა JVM-სა და JRE-ს შორის

ვიდეო: სხვაობა JVM-სა და JRE-ს შორის

ვიდეო: სხვაობა JVM-სა და JRE-ს შორის
ვიდეო: „მძიმე და "მსუბუქი" ნარკოტიკი და მისი გავლენა ფსიქიკაზე“ - ფსიქოლოგი მარინა კაჭარავა 2024, ნოემბერი
Anonim

JVM vs JRE

Java არის პლატფორმათაშორისი პროგრამირების ენა. ის ასევე იცავს პრინციპს "დაწერე ერთხელ, გაიქეცი სადმე". Java-ში დაწერილი პროგრამა შეიძლება შედგეს ჯავის ბაიტიკოდში ჯავის შემდგენელის მიერ. შემდეგ, ბაიტიკოდი შეიძლება შესრულდეს ნებისმიერ პლატფორმაზე, რომელიც მუშაობს JRE (Java Runtime Environment). JRE მოიცავს JVM (Java ვირტუალური მანქანა), ბაზის ბიბლიოთეკებს (რომელიც ახორციელებს Java API) და სხვა დამხმარე ფაილებს. JVM არის აბსტრაქტული გამოთვლითი მანქანა, რომელიც მოქმედებს როგორც შუამავალი სპეციფიკურ პლატფორმებზე JRE-სა და Java კოდს შორის.

რა არის JVM?

JVM არის ვირტუალური მანქანის ტიპი, რომელიც გამოიყენება მანქანების მიერ Java ბაიტიკოდის შესასრულებლად. Sun Microsystems-ის მიხედვით (რომელიც ამუშავებდა Java-ს, სანამ ის Oracle-მა იყიდა, სულ ახლახან), მსოფლიოში არსებობს 4 მილიარდზე მეტი JVM ჩართული მოწყობილობა. უფრო კონკრეტულად, Java Virtual Machine არის აბსტრაქტული გამოთვლითი მანქანა, რომელიც დანერგილია სტანდარტულ აპარატურასა და ოპერაციულ სისტემაზე. JVM-ის მიერ მოწოდებული ერთ-ერთი მნიშვნელოვანი ფუნქცია არის გამონაკლისების ავტომატური მართვა. როგორც წესი, JVM-ს თან ახლავს სტანდარტული ბიბლიოთეკების კოლექცია. სინამდვილეში, JRE არის პაკეტი, რომელიც შეიცავს JVM-ს და კლასებს, რომლებიც ახორციელებენ Java API-ს. JVM არის ძალიან მნიშვნელოვანი კომპონენტი, რომელიც ითვალისწინებს Java პროგრამირების ენის ბუნებას "ერთჯერ შეადგინე, გაუშვით ყველგან". სანამ JVM მუშაობს, თქვენი Java კოდი შეიძლება იმუშაოს მის თავზე, მიუხედავად აპარატში გამოყენებული პლატფორმისა. ამიტომ ჯავას უწოდებენ კროს-პლატფორმულ ან მრავალპლატფორმულ ენას.

რა არის JRE?

JRE არის შესრულების გარემო, რომელზედაც გაშვებულია Java კოდი. როგორც წესი, JRE შედგება JVM-ისგან, სტანდარტული საბაზისო კლასებისგან (რომლებიც ახორციელებენ ბაზის Java API-ს) და სხვა დამხმარე ფაილებს. JRE-ის ტიპი და სტრუქტურა განსხვავდება ოპერაციული სისტემის და CPU არქიტექტურის მიხედვით. Java კოდის გაშვებისას, JRE დაუკავშირდება ოპერაციულ სისტემას, რომელიც თავის მხრივ ისაუბრებს შესაბამის აპარატურულ კომპონენტებთან. თქვენს სისტემაზე დაინსტალირებული JRE აუცილებელია თქვენს აპარატზე ნებისმიერი ჯავა კოდის გასაშვებად. თუმცა, JRE არ შეიცავს კომპილატორს, გამართვას ან Java პროგრამების განვითარებისთვის საჭირო სხვა ინსტრუმენტებს (როგორიცაა appletviewer და javac). თუ Java-ში პროგრამების შემუშავება გჭირდებათ, უნდა გქონდეთ JDK (Java Development Kit), რომელიც მოიცავს JRE-საც.

რა განსხვავებაა JVM-სა და JRE-ს შორის?

მიუხედავად იმისა, რომ ყოველდღიურ გამოყენებაში ტერმინები JVM და JRE გამოიყენება ურთიერთშენაცვლებით, მათ აქვთ განსხვავებები. JVM არის ვირტუალური მანქანა, რომელიც მუშაობს ოპერაციული სისტემის თავზე, ხოლო JRE არის სამუშაო დროის შესრულების გარემო. JVM არის JRE-ის ნაწილი. JVM სპეციფიკაცია მოქმედებს როგორც დამაკავშირებელი პლატფორმის სპეციფიკური JRE იმპლემენტაციასა და სტანდარტულ Java ბიბლიოთეკებს შორის.აქედან გამომდინარე, JVM არის ერთეული, რომელიც უზრუნველყოფს პროგრამისტს აბსტრაქციას შიდა განხორციელების დეტალებიდან. და ის პასუხისმგებელია შედგენილი ბაიტეკოდის ინტერპრეტაციაზე. თუმცა, JVM-ს სჭირდება საბაზისო ბიბლიოთეკები და სხვა დამხმარე ფაილები ჯავას ბაიტიკოდის შესასრულებლად. მაგრამ ზოგჯერ, JRE უბრალოდ იდენტიფიცირებულია, როგორც JVM-ის განხორციელება.

გირჩევთ: