Java ვირტუალური მანქანა (JVM) არის გარემო, რომელიც ახორციელებს Java პროგრამებს. Java პროგრამები შედგენილია შუალედურ ენაზე, რომელსაც ეწოდება bytecode, რასაც JVM ახორციელებს. ბაიტეკოდში შედგენილი ნებისმიერი პროგრამა შეიძლება შესრულდეს ნებისმიერ პლატფორმაზე, რომელსაც აქვს დაინსტალირებული JVM. ეს ხდის Java პროგრამულ უზრუნველყოფას თავსებადობას მრავალ სხვადასხვა გამოთვლით პლატფორმასთან. JVM-ს აქვს რამდენიმე მნიშვნელოვანი უპირატესობა და უარყოფითი მხარე, რომელიც ნებისმიერმა დეველოპერმა უნდა აწონ-დაწონოს ჯავის განვითარებაში ინვესტირებამდე.
პლატფორმის დამოუკიდებლობა
Java bytecode შეიძლება დაიწეროს ერთხელ და შემდეგ გაუშვას მრავალ პლატფორმაზე. Java bytecode არ საჭიროებს პორტირებას კონკრეტულ აპარატურულ გარემოში, რადგან ის მუშაობს Java ვირტუალურ მანქანაში. Java bytecode-ში შედგენილი ნებისმიერი აპლიკაციის გაშვება შესაძლებელია ნებისმიერ გამოთვლით პლატფორმაზე, რომელსაც აქვს Java ვირტუალური მანქანა.
დღის ვიდეო
უსაფრთხოება
ჯავა დაიწერა უსაფრთხოების გათვალისწინებით. Java ვირტუალურ მანქანას აქვს ჩაშენებული უსაფრთხოების ფუნქციები, რომლებიც პროგრამისტებს საშუალებას აძლევს დაწერონ მაღალ უსაფრთხო Java პროგრამები. ის ასევე ხელს უშლის მავნე პროგრამულ უზრუნველყოფას ოპერაციული სისტემის (OS) კომპრომეტირებისგან, რადგან ის იცავს Java აპლიკაციებს ოპერაციული სისტემის რესურსებთან ურთიერთქმედებისგან.
Შესრულება
Java პროგრამები, რომლებიც მუშაობენ Java ვირტუალურ მანქანაზე, უფრო ნელა მუშაობენ, ვიდრე C++-ში დაწერილი ექვივალენტური პროგრამები. ბაიტეკოდის სისტემის ნეიტრალიტეტი მოქმედებს როგორც მინუსი, როდესაც საქმე ეხება შესრულებას. ეს იმიტომ ხდება, რომ კოდის ოპტიმიზაცია დიდწილად ეყრდნობა სისტემის სპეციფიკურ მახასიათებლებს. ვინაიდან ჯავის ბაიტიკოდი სისტემურად ნეიტრალურია, მისი ოპტიმიზაცია შეუძლებელია კონკრეტული ტექნიკის ნაკრებისთვის.
სისწორე
პროგრამა, რომელიც მუშაობს, როგორც მოსალოდნელი იყო, ნათქვამია, რომ სწორია. ვინაიდან Java პროგრამა ეყრდნობა Java ვირტუალურ მანქანას მის შესასრულებლად, JVM უნდა იყოს თავისუფალი შეცდომებისგან, რომ პროგრამა სწორად იმუშაოს. Java-ის ვირტუალურ მანქანაზე ეს დამოკიდებულება წარმოგიდგენთ პროგრამის მარცხის შესაძლო წერტილს. საბედნიეროდ, Java Virtual Machine პროგრამული უზრუნველყოფა იწარმოება ძალიან მაღალი სტანდარტებით და, შესაბამისად, არ არის გამორიცხული რაიმე შეცდომით. მიუხედავად ამისა, ჯავის ვირტუალურ მანქანაში წარუმატებლობა არის შესაძლებლობა, რომელიც გასათვალისწინებელია.