Środowisko uruchomieniowe Java

Java Runtime Environment (Rep. JRE dla środowiska Java Runtime Environment ), czasami nazywany po prostu „Java” to rodzina oprogramowania , które pozwala na wykonanie programów napisanych w języku programowania Java , na różnych platformach komputerowych .

Jest rozpowszechniany bezpłatnie przez Oracle Corporation , ponieważ różne wersje dla systemów operacyjnych Windows , Mac OS X i Linux , wszystkie są zgodne z Java Specification Requests (JSR).

JRE jest często uważany za platformę IT, podobnie jak system operacyjny (OS). Rzeczywiście, jeśli nie jest systemem operacyjnym, oferuje te same funkcjonalności za pośrednictwem swoich bibliotek, a tym samym umożliwia wykonywanie programów napisanych w języku Java na wielu typach urządzeń - komputerach osobistych, komputerach typu mainframe , telefonach komórkowych - bez względu na charakterystykę techniczną bazowego IT platforma, na której działa środowisko JRE.

JRE to popularne oprogramowanie zainstalowane na ponad 900 milionach komputerów.

Architektura

Środowisko JRE składa się z maszyny wirtualnej , bibliotek oprogramowania używanych przez programy Java oraz wtyczki umożliwiającej wykonywanie tych programów z przeglądarek internetowych .

Bazując na zasadach technologii Java , uruchomionej przez Sun Microsystems w 1995 r., JRE symuluje obecność wirtualnej maszyny Java – fikcyjnego komputera. Pełni rolę emulatora i naśladuje zachowanie tej fikcyjnej maszyny, która uruchamia programy Java.

Android , platforma dla telefonów komórkowych stworzona przez Google , zawiera wirtualną maszynę i bibliotekę oprogramowania podobną do JRE , która jest włączana do urządzeń przez producentów.

Maszyna wirtualna

Maszyna wirtualna Java (ang. JVM dla Java Virtual Machine ) jest symulacją oprogramowanie prawdziwej maszynie. Głównym zadaniem maszyny wirtualnej jest załadowanie plików wykonywalnych do pamięci i wykonanie kodu bajtowego - instrukcji maszyny wirtualnej. Istnieje kilka trybów wykonania kodu bajtowego.

Tryby wykonywania kodu bajtowego
  • W najprostszym trybie - interpretacji - maszyna wirtualna interpretuje kod bajtowy: dekoduje jednorazowo jedną instrukcję kodu bajtowego i wykonuje odpowiednią operację.
  • Tryb HotSpot maszyny wirtualnej tłumaczy instrukcje z kodu bajtowego na język maszyny, na której działa środowisko JRE; następnie wykonywane są przetłumaczone instrukcje. Przetłumaczone instrukcje są przechowywane w celu ograniczenia liczby operacji tłumaczeniowych. W tym trybie uruchamianie programów Java jest szybsze, ale wymaga więcej pamięci.
  • W trybie kompilacji adaptacyjnej maszyna wirtualna tłumaczy tylko często wykonywane instrukcje, naprzemiennie używając technik interpretacji lub HotSpot w razie potrzeby.

Maszyna wirtualna jest również wyposażony zbierania śmieci (w języku angielskim  : garbage collector ) Pamięć uwalniając że nie jest już wykorzystywana przez program Java.

Biblioteki

Biblioteki oprogramowania od JRE zaimplementować interfejs programistyczny (angielski interfejs programowania aplikacji -. Abr API ). Jest to standaryzowany zestaw funkcji związanych z zajęć z przedmiotów i pogrupowanych tematycznie ( pakietu ). W wydaniu z 2002 r. JRE zawiera 135 pakietów, które zapewniają funkcje używane przez programy Java do:

Od 1998 roku istnieje kilka mniej lub bardziej bogatych bibliotek do wyboru. Biblioteki zawarte w JRE odpowiadają standardowej edycji o nazwie Java SE , która przeznaczona jest na komputery osobiste. Istnieje również wersja Java ME dla telefonów komórkowych oraz wersja Java EE dla biznesu serwerowego .

Podłącz

Java Plug-In to wtyczka do przeglądarek internetowych , która umożliwia wykonywanie apletów za pomocą maszyny wirtualnej JRE. W aplety są programy osadzone na stronach internetowych w celu wzbogacenia ich treść.

Gdy strona internetowa zawiera łącze do apletu, wtyczka wywołuje maszynę wirtualną JRE w celu uruchomienia danego programu. Przeglądarki takie jak Internet Explorer czy Netscape Navigator mają wbudowaną maszynę wirtualną, ale ta jest mniej zaawansowana i nie oferuje takich samych możliwości jak JRE. Wtyczka Java umożliwia wówczas uniknięcie korzystania z maszyny wirtualnej wbudowanej w przeglądarkę.

Inne pakiety Java

JRE to jedynie środowisko do wykonywania oprogramowania napisanego wcześniej w języku programowania Java.

Napisanie takiego oprogramowania wymaga użycia JDK ( Java Development Kit ), również dystrybuowanego przez Oracle Corporation . Tak więc, podczas gdy JRE jest przeznaczone dla użytkowników programów w języku Java, JDK jest przeznaczone dla programistów: oprócz maszyny wirtualnej i bibliotek zawiera polecenia umożliwiające tworzenie programów w języku Java. Ten sam JDK jest spakowany w różnych dystrybucjach, zawierających komplementarne interfejsy API przeznaczone do różnych kontekstów implementacji: Java SE , Java EE , Java ME , itd.

Historia

Technologia Java została wydana w 1995 roku, a Sun Microsystems wypuszczał edycję co 18 miesięcy. W pierwszej wersji JRE , opublikowanej w 1995 roku, na łączną kwotę 171 bibliotek klas z obiektami . W wydanej w 2002 roku wersji 1.4 liczą już 2367 klas obiektów.

W 2010 roku firma Sun Microsystems , zajmująca się dystrybucją JRE , została przejęta przez firmę Oracle Corporation , która ogłosiła zamiar dalszego rozwoju technologii Java.

rok nazwisko wersja liczba klas API
1996 Java JRE 1,0 170
1997 Java JRE 1,1 391
1998 Java 2 JRE 1.2 1462
2000 Java 2 JRE 1,3 1,732
2002 Java 2 JRE 1,4 2367 (na 54 opakowania)
2004 Java 2 JRE 1.5.0 lub 5.0 (2013: 1.5.0.41) 2800 (za 166 opakowań)
2006 Java 6 JRE 1.6.0 (2013: 1.6.0.45) 3793 (za 203 opakowania)
2011 Java 7 JRE 1.7.0 (2013: 1.7.0.45) 4024 (6 nowych pakietów: java.lang.invoke, java.nio.file (+ file.attribute & file.spi), javax.swing.plaf.nimbus & javax.xml.ws.spi.http )

Obsługiwane wersje i systemy

Wersje JRE są ponumerowane identycznie jak wersje Javy  ; Pod koniec 2012 roku istniało zatem ponad 50 kolejnych wersji JRE, w tym 7 głównych. Najnowsza wersja dla OS X , Linux , Windows i Solaris to zatem 1.7.0.45 (zwana również „7 Update 45”) wPaździernik 2013, dystrybuowany przez ich właściciela Oracle (po przejęciu wydawcy Sun Microsystems w 2009 roku).

Jeśli Java jest dostępna w kilku wersjach ( Java SE, Java EE, Java ME, Java FX ), JRE odpowiada standardowej edycji „Java SE”. Dlatego uruchomienie oprogramowania napisanego w Java EE na klienckiej stacji roboczej wymaga, oprócz JRE, aby dodatkowe biblioteki J2EE były dostarczane przez kontener Java , „ciężki”, taki jak Apache Tomcat , JBoss lub JOnAS , lub „lekki”, taki jak jako wiosna .

Ponadto JRE ma powołanie do „przetłumaczenia” kodu bajtowego Javy na język maszynowy , dla każdej wersji istnieje tyle dystrybucji JRE, ile jest platform docelowych: OS X Motorola, OS X Intel, Linux 32-bitowy, Linux 64-bitowy, Windows 32-bitowy (x86), x64, Solaris Sparc itp.

Specjalne funkcje w systemie Mac OS X

  • Od wersji Java 1.5 nie ma już żadnego wydania środowiska JRE dla komputerów Mac OS X z procesorami Motorola .
  • Wersje 1.6 Javy (Java 6) dla Mac OS X z procesorem Intel i większością Javy 7 zostały zintegrowane z tym systemem operacyjnym, a zatem dystrybuowane specjalnie przez Apple . To dopaździernik 2010 gdzie Apple „dopasowuje się”, ogłaszając plany zaprzestania integracji kolejnych środowisk wykonawczych Javy w OS X.
  • Tak więc w 2012 r., począwszy od wydania 2012-006 systemu Mac OS X v10.7 , dystrybucja środowiska JRE w systemie Mac OS X powraca na łono Oracle.

Uwagi i referencje

  1. (in) "  Czym jest technologia Java i dlaczego go potrzebuję?  "
  2. (in) "  java.com - Jakie są wymagania systemowe dla Java 7?  "
  3. Emmanuel Puybaret, Java 1.4 i 5.0 - Les Cahiers du programur , Editions Eyrolles - 2006 ( ISBN  9782212119169 )
  4. (w) Doug Lowe i Barry Burd, Java All-In-One Desk Reference For Dummies , Wiley - 2007 ( ISBN  9780470124512 )
  5. (w) „  java.com — Dowiedz się więcej o technologii Java  ” .
  6. (w) Jeff Friesen, Nauka języka Java dla programowania na Androida , Apress - 2010 ( ISBN  9781430231561 ) .
  7. (w) Linda Null i Julia Lobur, Podstawy organizacji i architektury komputerów , Jones & Bartlett Learning - 2006 ( ISBN  9780763737696 )
  8. (en) Buyya, Object Oriented Prog With Java , Tata McGraw-Hill Education - 2009 ( ISBN  9780070669086 ) .
  9. (w) Gary B. Shelly, Thomas J. Cashman, Michael Mick i Joy L. Starks, Programowanie Java: kompleksowe koncepcje i techniki , Cengage Learning - 2005 ( ISBN  9781418859855 ) .
  10. Benjamin Aumaille, J2SE: podstawy programowania w języku Java , Éditions ENI - 2002 ( ISBN  9782746018044 ) .
  11. (w) Dominik Gruntz i Stephan Murer, Component Software: Beyond Object-Oriented Programming , Pearson Education - 2002 ( ISBN  9780201745726 ) .
  12. (w) David Flanagan, Java Foundation Classes in a Nutshell: A Desktop Quick Reference , O'Reilly Media Inc. - 1999 ( ISBN  9781565924888 )
  13. (w) „  Oracle — sprzęt i oprogramowanie. Zaprojektowany do współpracy.  ” .
  14. (w) Barry Burd, Java For Dummies , Wiley - 2011 ( ISBN  9781118128305 )
  15. http://www.oracle.com/technetwork/java/javase/7u17-relnotes-1915289.html
  16. Omówienie platformy Java SE6
  17. Omówienie platformy Java SE7
  18. Pobieranie Java dla wszystkich systemów operacyjnych www.java.com
  19. Mac OS X Java Deprecation developer.apple.com 20 października 2010 r.
  20. Oracle aktualizuje Java SE i JavaFX dla OS X , Le Monde Informatique - 16 sierpnia 2012 r.
  21. (w) Informacje o Javie dla OS X 2012-006 , http://support.apple.com .

Zobacz również

Powiązane artykuły

Linki zewnętrzne