Wróć do informacji o e-podręczniku Wydrukuj Pobierz materiał do PDF Pobierz materiał do EPUB Pobierz materiał do MOBI Zaloguj się, aby dodać do ulubionych Zaloguj się, aby skopiować i edytować materiał Zaloguj się, aby udostępnić materiał Zaloguj się, aby dodać całą stronę do teczki

Java to wszechstronny, wieloplatformowykod wieloplatformowywieloplatformowy, obiektowy język programowania, który został stworzony w  roku przez kanadyjskiego informatyka Jamesa Goslinga.

Język ten nazywa się kompilowanym. Oznacza to, że jeśli chcemy uzyskać działający program, musimy najpierw skompilować go do kodu maszynowego.

Javę, podobnie jak języki interpretowane, nazywamy językiem wieloplatformowym. Jego stworzeniu przyświecała zasada: Write once, run anywhere (WORA principle). Była ona także sloganem reklamowym języka Java.

W jaki sposób jest wykonywany kod źródłowy w języku Java?

Kod źródłowy tworzy w swoim IDEIntegrated Development Environment (IDE)IDE programista. Zanim dojdzie do uruchomienia programu, w komputerze zachodzi seria procesów, głównie związanych z kompilacjąkompilacjakompilacją. Przebieg wszystkich operacji w języku Java, związanych z wykonywaniem kodu źródłowego, przedstawia poniższa ilustracja.

RBc1E2DT4snIv
Cały proces wykonania kodu źródłowego Javy można podzielić na procesy zachodzące w trakcie kompilacji, czyli jeszcze przed uruchomieniem programu, oraz na procesy zachodzące w trakcie działania programu.
Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.

Procesy zachodzące w trakcie kompilacji

Kod źródłowy napisany w języku Java (plik z rozwinięciem .java) trafia najpierw do kompilatorakompilatorkompilatora (javac). Jest on wtedy wstępnie tłumaczony z jednego języka (źródłowego) na równoważny inny język (wynikowy). Oznacza to, że jest kompilowany do postaci kodu bajtowegokod bajtowy Javykodu bajtowego języka Java (plik z rozwinięciem .class).

Procesy zachodzące podczas działania programu

Kod bajtowy języka Java jest tłumaczony przez kompilator JIT (Just in Time), dzięki czemu przyjmuje postać kodu maszynowegokod maszynowykodu maszynowego, zrozumiałego dla procesora. Kompilator JIT jest jednym z komponentów JVMJava Virtual Machine (JVM)JVM – Wirtualnej Maszyny Javy.

Kod źródłowy języka Java jest tworzony dla każdego systemu operacyjnego w ten sam sposób (zgodnie z WORA principle), natomiast JVM jest specyficzne dla danego systemu operacyjnego.

RJkMiMIs56VZB
Architektura Java Development Kit
Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.

Komponenty Java Development Kit:

  • JREJava Running Environment (JRE)JRE (Java Runtime Environment), w tym JVM oraz różne biblioteki i archiwa potrzebne do pisania i uruchamiania programów;

  • narzędzia programistyczne, takie jak np. kompilator (javac).

Słownik

Oracle
Oracle

firma zajmująca się m.in. tworzeniem i udoskonalaniem kolejnych wersji języka Java.

Java Running Environment (JRE)
Java Running Environment (JRE)

środowisko uruchomieniowe Javy; zestaw narzędzi przystosowanych do uruchamiania programów skompilowanych do kodu bajtowego Javy.

Java Virtual Machine (JVM)
Java Virtual Machine (JVM)

Wirtualna Maszyna Javy – pojęcie abstrakcyjne; specyfikacja określająca zestaw narzędzi potrzebnych do skompilowania i uruchomienia programów napisanych w języku Java lub skompilowanych do kodu bajtowego Javy. JVM jest zależne od danego systemu operacyjnego.

Integrated Development Environment (IDE)
Integrated Development Environment (IDE)

zintegrowane środowisko programistyczne. Rodzaj aplikacji przeznaczonych dla programistów do pisania, testowania i uruchamiania programów. Aplikacje te posiadają wiele przydatnych narzędzi, przez co oszczędzają programiście wiele czasu, a przede wszystkim bardzo ułatwiają pisanie programów. Najczęściej są przystosowane do jednego konkretnego języka.

kompilacja
kompilacja

proces, w którym kod źródłowy za pomocą kompilatora jest tłumaczony na język maszynowy, specyficzny dla danego software'u czy hardware'u. Proces kompilacji jest specyficzny dla języka programowania i może zachodzić z różną prędkością.

kod bajtowy
kod bajtowy

lista instrukcji do wykonania przez wirtualną maszynę Javy.

kod maszynowy
kod maszynowy

zestaw rozkazów, za których realizację odpowiada bezpośrednio procesor; ciąg zer i jedynek, które są interpretowane przez procesor.

kompilator
kompilator

program służący do automatycznego tłumaczenia kodu źródłowego programu na kod maszynowy; tworzy plik wykonywalny, który można uruchomić na innym komputerze bez użycia środowiska programistycznego; w przypadku Javy mówimy o kodzie bajtowym.

kod wieloplatformowy
kod wieloplatformowy

o kodzie powiemy, że jest wieloplatformowy, jeśli będzie w większości przypadków działał na różnych systemach operacyjnych (MS Windows, Linux, Mac OS i innych), dając ten sam wynik.

kod bajtowy Javy
kod bajtowy Javy

lista instrukcji do wykonania przez wirtualną maszynę Javy (JVM)