Zestaw narzędzi programistycznych Java - Java Development Kit
Deweloper(zy) | Korporacja Oracle |
---|---|
Wersja stabilna | 17.0.0 / 14 września 2021
|
System operacyjny | Windows NT , macOS (x64), Linux , Solaris |
Platforma | IA-32 , x64 , ramię , SPARC |
Rodzaj | Zestaw do tworzenia oprogramowania |
Licencja | Licencja Sun (większość z nich również na licencji GPL) |
Strona internetowa | www |
Java Development Kit ( JDK ) to realizacja jednej z tej platformy Java Standard Edition , Java Platform, Enterprise Edition lub Java Platform, Micro Edition platform wydany przez Oracle Corporation w postaci produktu binarnej mającej na Java deweloperów na Solaris , Linux , macOS lub Windows . JDK zawiera prywatną maszynę JVM i kilka innych zasobów do zakończenia tworzenia aplikacji Java. Od czasu wprowadzenia platformy Java jest to zdecydowanie najczęściej używany zestaw SDK (Software Development Kit ).
JDK jest dostępny dla 64-bitowego systemu macOS x64 (i ta wersja działa również z Rosetta 2 ), podczas gdy dostępna jest również kompilacja wczesnego dostępu (podgląd programisty) firmy Microsoft do obsługi najnowszych komputerów Mac Apple M1 .
Zawartość JDK
JDK ma jako główne komponenty zbiór narzędzi programistycznych, w tym:
- appletviewer – to narzędzie może być używane do uruchamiania i debugowania apletów Java bez przeglądarki internetowej
- apt – narzędzie do przetwarzania adnotacji
- extcheck – narzędzie wykrywające konflikty plików JAR
- idlj – kompilator IDL-to-Java. To narzędzie generuje powiązania Java z podanego pliku Java IDL .
- jabswitch – Java Access Bridge . Udostępnia technologie pomocnicze w systemach Microsoft Windows.
- java – loader do aplikacji Java. To narzędzie jest interpreterem i może interpretować pliki klas generowane przez kompilator javac . Teraz jeden program uruchamiający jest używany zarówno do programowania, jak i wdrażania. Stary program uruchamiający wdrażanie, jre, nie jest już dostarczany z Sun JDK, a zamiast tego został zastąpiony przez nowy program ładujący java.
- javac – kompilator Javy , który konwertuje kod źródłowy na bajtkod Javy
- javadoc – generator dokumentacji, który automatycznie generuje dokumentację z komentarzy do kodu źródłowego
- jar – archiwizator, który pakuje powiązane biblioteki klas w pojedynczy plik JAR . To narzędzie pomaga również zarządzać plikami JAR.
- javafxpackager – narzędzie do pakowania i podpisywania aplikacji JavaFX
- jarsigner – narzędzie do podpisywania i weryfikacji słoików
- javah – generator nagłówków i skrótów C, używany do pisania metod natywnych
- javap – deasembler pliku klasy
- javaws – program uruchamiający Java Web Start dla aplikacji JNLP
- JConsole – konsola monitorowania i zarządzania Java
- jdb – debugger
- jhat – Java Heap Analysis Tool (eksperymentalne)
- jinfo – To narzędzie pobiera informacje o konfiguracji z uruchomionego procesu Java lub zrzutu awaryjnego. (eksperymentalny)
- jmap Oracle jmap — mapa pamięci — to narzędzie generuje mapę pamięci dla języka Java i może drukować mapy pamięci obiektów współdzielonych lub szczegóły pamięci sterty danego procesu lub zrzutu pamięci. (eksperymentalny)
- jmc – Kontrola misji Java
- jpackage – narzędzie do generowania samodzielnych pakietów aplikacji. (eksperymentalny)
- jps – Java Virtual Machine Process Status Tool wyświetla listę oprzyrządowanych wirtualnych maszyn Java HotSpot (JVM) w systemie docelowym. (eksperymentalny)
- jrunscript – powłoka skryptu wiersza poleceń Java .
- jshell - pętla read-eval-print , wprowadzona w Javie 9.
- jstack – narzędzie, które drukuje ślady stosu Java wątków Java (eksperymentalne)
- jstat – narzędzie do monitorowania statystyk Java Virtual Machine (eksperymentalne)
- jstatd – demon jstat (eksperymentalny)
- keytool – narzędzie do manipulowania magazynem kluczy
- pack200 – narzędzie do kompresji JAR
- policytool – narzędzie do tworzenia i zarządzania politykami, które może określić politykę dla środowiska wykonawczego Java, określając, jakie uprawnienia są dostępne dla kodu z różnych źródeł.
- VisualVM — wizualne narzędzie integrujące kilka narzędzi JDK wiersza poleceń oraz lekkie możliwości profilowania wydajności i pamięci
- wsimport – generuje przenośne artefakty JAX-WS do wywoływania usługi sieciowej.
- xjc — część interfejsu API Java do powiązania XML (JAXB). Akceptuje schemat XML i generuje klasy Java.
Narzędzia eksperymentalne mogą nie być dostępne w przyszłych wersjach JDK.
JDK jest również dostarczany z kompletnym środowiskiem wykonawczym Java , zwykle nazywanym prywatnym środowiskiem wykonawczym, ponieważ jest oddzielony od „zwykłego” środowiska JRE i zawiera dodatkową zawartość. Składa się z wirtualnej maszyny Javy i wszystkich bibliotek klas obecnych w środowisku produkcyjnym, a także dodatkowych bibliotek przydatnych tylko dla programistów, takich jak biblioteki internacjonalizacji i biblioteki IDL .
Kopie JDK zawierają również szeroki wybór przykładowych programów demonstrujących użycie prawie wszystkich części Java API .
Niejednoznaczność między JDK a SDK
JDK stanowi rozszerzony podzbiór zestawu programistycznego (SDK). Zawiera „narzędzia do tworzenia, debugowania i monitorowania aplikacji Java”. Oracle zdecydowanie sugeruje, aby teraz używać terminu JDK w odniesieniu do zestawu Java SE Development Kit. Pakiet Java EE SDK jest dostępny z pakietem JDK lub bez niego, co oznacza w szczególności pakiet JDK Java SE 7.
Inne JDK
Oprócz najczęściej używanego JDK omówionego w tym artykule, istnieją inne JDK powszechnie dostępne dla różnych platform, z których niektóre pochodziły ze źródła Sun JDK, a inne nie. Wszystkie są zgodne z podstawowymi specyfikacjami Javy, ale często różnią się w wyraźnie nieokreślonych obszarach, takich jak zbieranie śmieci, strategie kompilacji i techniki optymalizacji. Zawierają:
W trybie deweloperskim lub konserwacyjnym:
- Azul Systems Zing, JDK o niskim opóźnieniu dla systemu Linux;
- Azul Systems / Oparty na OpenJDK Zulu dla Linux, Windows, Mac OS X, wbudowany i chmura;
- OpenJDK / mrożona herbata ;
- Aicas Jamajka VM ;
- IBM J9 JDK, dla AIX, Linux, Windows, MVS, OS/400, Pocket PC, z/OS;
Brak konserwacji lub wycofanie:
- Harmonia Apaczów ;
- Jabłko „s Mac OS Runtime dla Java JVM / JDK dla klasycznego Mac OS ;
- Blackdown Java – Port JDK firmy Sun dla systemu Linux;
- GNU jest Classpath i GCJ (The GNU kompilator Java );
- Oracle Corporation „s JRockit JDK, dla systemów Windows, Linux i Solaris;