Zalety i wady interpretera wirtualnej maszyny Java

Młoda biznesowa dama nosi zestaw słuchawkowy

Agent obsługi klienta przez telefon.

Źródło obrazu: Wyświetl zasoby/Zobacz zasoby/Getty Images

Zanim pojawił się Adobe Flash i inne nowoczesne technologie internetowe, właściciele witryn używali języka Java do tworzenia atrakcyjnych, interaktywnych witryn internetowych. Podobnie jak Flash, program Java odtwarza filmy, generuje wysokiej jakości grafikę i obsługuje złożone aplikacje, które przypominają aplikacje komputerowe. Działający za kulisami interpreter wirtualnej maszyny języka Java umożliwia korzystanie z tych zalet, ale ma też istotne wady.

Anatomia wirtualnej maszyny Java

Termin Java ma kilka znaczeń; może odnosić się do języka programowania używanego przez programistów do tworzenia aplikacji, specyfikacji Application Programmer's Interface lub specyfikacji Java Virtual Machine. Podczas odwiedzania strony sieci Web zawierającej program Java, zwany także apletem, przeglądarka aktywuje wirtualną maszynę Java, która interpretuje kod Java i uruchamia aplet. Podobnie jak prawdziwa maszyna obliczeniowa, JVM przetwarza instrukcje i zarządza obszarami pamięci.

Wideo dnia

Zaleta: Java działa w chronionym obszarze

Wyobraź sobie, co mogłoby się stać, gdyby strona internetowa miała możliwość usunięcia twoich plików lub zbadania twoich prywatnych dokumentów. Mimo że aplety Java mogą wykonywać przydatne zadania, których nie może wykonać zwykły kod HTML, Java działa w izolacji wewnątrz wirtualnej maszyny Java. JVM zapewnia, że ​​aplet renegata z niebezpiecznej strony nie może uzyskać dostępu do zasobów systemowych, takich jak dyski twarde.

Wada: cyberprzestępcy mogą wykorzystać wirtualną maszynę Java

Chociaż JVM ogranicza działania apletu, osoby atakujące nadal mogą wykorzystać słabości platformy Java. Na przykład na początku 2013 r. firma Microsoft zobaczyła trzy przykłady apletów zaprojektowanych do wykorzystywania zdalnego wykonywania kodu do infekowania komputerów. Oracle, twórca Javy, wydał aktualizację, która zapewnia bezpieczeństwo, ustawiając domyślne zabezpieczenia apletu poziomy na „Wysoki”. To ustawienie zapewnia, że ​​przeglądarka ostrzega Cię, gdy niepodpisany aplet próbuje uruchomić. Jak zauważa Microsoft, „ogromna większość apletów wykorzystujących luki w zabezpieczeniach nie jest podpisana”. Cyfrowy podpis na aplecie pozwala wiedzieć, kto go utworzył i sprawdzić, czy nikt nie zmodyfikował apletu po jego twórcy podpisał.

Zaleta: jeden rozmiar pasuje do wszystkich

„Cross platform” odnosi się do zdolności programu do pomyślnego działania na różnych typach sprzętu. Ponieważ Java jest wieloplatformowa, programiści mogą napisać jeden fragment kodu, który działa na dowolnym komputerze PC, Mac, telefonie komórkowym i dowolnym innym urządzeniu z JVM. Java nie zawsze musi być uruchamiana w przeglądarce. Możesz pobierać aplikacje Java, które działają na Twoim komputerze tak, jak robią to zwykłe programy.

Wada: może być wymagany pewien montaż

Jeśli nikt nigdy nie zainstalował środowiska Java Runtime Environment na twoim komputerze, nie możesz używać Javy. Odwiedź stronę internetową Sprawdź wersję Java i postępuj zgodnie z instrukcjami, aby pobrać i zainstalować najnowszą wersję, jeśli jej nie masz. Chociaż nie jest to długa instalacja, mogą wystąpić pewne problemy, więc zapoznaj się ze stroną rozwiązywania problemów z językiem Java, jeśli potrzebujesz pomocy w uruchomieniu instalacji.

Dodatkowe zalety

Na poziomie szczegółowym Java Virtual Machines używa swojego kompilatora just-in-time do konwersji kodu Java na język maszynowy niskiego poziomu, który działa tak szybko, jak zwykłe aplikacje. Ponieważ przeglądarki mogą buforować ten skompilowany kod, mogą go później użyć ponownie bez ponownego pobierania i przechodzenia przez kroki kompilacji.