Java One

Java już na dobre zadomowiła się wśród narzędzi i technologii programistycznych i cieszy się dużym uznaniem, zwłaszcza w poważnych zastosowaniach biznesowych. Jednocześnie jej niezależność od platformy, uporządkowana składnia i stale rozbudowywane API sprawiają, że jest wygodnym narzędziem do realizacji dowolnych własnych projektów.

Java już na dobre zadomowiła się wśród narzędzi i technologii programistycznych i cieszy się dużym uznaniem, zwłaszcza w poważnych zastosowaniach biznesowych. Jednocześnie jej niezależność od platformy, uporządkowana składnia i stale rozbudowywane API sprawiają, że jest wygodnym narzędziem do realizacji dowolnych własnych projektów.

Java to coraz bardziej popularny i dynamicznie rozwijający się język programowania trzeciej generacji. Powstał w 1991 roku pod nazwą OAK, czyli Object Application Kernel, ale ze względu na zastrzeżenie tej nazwy w 1995 roku nazwano go Java. Jego szybki rozwój nastąpił od 1996 roku, kiedy to firma Sun wypuściła na rynek przeglądarkę Netscape obsługującą Javę. Od tej pory zyskuje coraz większą liczbę zwolenników. Czym sobie Java zasłużyła na taką popularność? Przede wszystkim tym, że pozwala nie tylko tworzyć aplikacje uruchamiane na komputerze użytkownika, ale także aplety, czyli programy uruchamiane w przeglądarkach internetowych. W Javie tworzy się zarówno proste interaktywne elementy stron internetowych, aplikacje sieciowe, jak i rozbudowane systemy korzystające z baz danych.

O szerokim zastosowaniu świadczy także możliwość tworzenia oprogramowania do urządzeń elektronicznych powszechnego użytku. Obecnie ogromną popularność zdobywają aplikacje do telefonów komórkowych.

Co wyróżnia Javę?

Rysunek 1. Proces kompilacji i interpretacji programu w Javie.

Rysunek 1. Proces kompilacji i interpretacji programu w Javie.

W porównaniu do innych języków programowania Java uchodzi za najbardziej bezpieczny. Jej kolejnym atutem jest samodzielna alokacja i dealokacja pamięci, dzięki czemu programista nie musi się martwić o jej właściwe zagospodarowanie. Większość błędów jest wykrywana już na etapie kompilacji programu, a nie dopiero podczas jego wykonywania, jak w przypadku innych języków. Java jest zorientowana obiektowo (OOP - Object Oriented Programming) i z tego powodu bardziej efektywna, o bardziej przejrzystym kodzie.

Jednak najważniejszym wyróżnikiem Javy jest jej uniwersalny charakter. Co to oznacza? Jest językiem raczej interpretowanym niż kompilowanym w klasycznym tego słowa znaczeniu. Owszem, kod źródłowy musi zostać skompilowany, aby aplikacja mogła zostać wykonana, ale kod wynikowy nie jest związany z konkretną platformą sprzętową. Dzięki temu ta sama aplikacja napisana w Javie może być uruchamiana z różnymi systemami operacyjnymi, np. Linuksem, Windows czy Solarisem. Programy napisane w Javie są więc także przenośne. Z tego względu również rozmiar podstawowych typów danych jest identyczny bez względu na przykład na rodzaj procesora. Z punktu widzenia uniwersalności jest to niewątpliwie bardzo istotna cecha.

Czym jest platforma Javy?

Platforma Javy to inaczej jej środowisko uruchomieniowe, którego zadaniem jest wykonywanie kodu Javy, czyli najczęściej - jego interpretacji. Jednak to nie kod źródłowy programu podlega interpretacji (jak w przypadku języków skryptowych), lecz specjalny kod powstający w wyniku kompilacji programu. Kompilator języka Java konwertuje kod źródłowy na kod pośredni, zwany kodem bajtowym (Bytecode). Dopiero Bytecode może być przenoszony do różnych systemów operacyjnych i interpretowany przez maszyny wirtualne charakterystyczne dla danego systemu operacyjnego (rys. 1).

Jak uruchomić gotowy program napisany w Javie?

Rysunek 2. Środowisko uruchomieniowe Javy.

Rysunek 2. Środowisko uruchomieniowe Javy.

Uruchamianie programów w Javie to inaczej interpretowanie kodu pośredniego i wykonywanie odpowiednich instrukcji kodu maszynowego, czyli binarnego kodu właściwego dla danego procesora i systemu operacyjnego. Służy do tego wspomniana platforma Javy, czyli środowisko uruchomieniowe aplikacji.

Platformę Javy stanowi JRE (Java Runtime Environment), czyli środowisko, które składa się z dwóch podstawowych części:

  • Java VM (Java Virtual Machine), czyli maszyny wirtualnej Javy

  • Java API (Application Programming Interfaces), czyli interfejsów tworzenia aplikacji.
Ponieważ każda instrukcja kodu wynikowego Javy, czyli inaczej kodu pośredniego, musi zostać zinterpretowana przez maszynę wirtualną Javy, proces ten może spowalniać działanie aplikacji, dlatego aby przyspieszyć wykonywanie kodu pośredniego, wprowadzono kompilację JIT (Just-In-Time), czyli kompilację w locie. Polega ona na zamianie kodu pośredniego na kod binarny danego procesora i systemu operacyjnego w czasie rzeczywistym, co znacznie przyspiesza działanie programu. Dodatkową zaletą jest kompilowanie powtarzających się fragmentów kodu tylko jednokrotnie.

Każdy system operacyjny wymaga specyficznego rodzaju maszyny wirtualnej. Ale oprócz tego do interpretacji kodu pośredniego niezbędne są również biblioteki znajdujące się w Java API. Tak więc do uruchomienia programu napisanego w Javie niezbędne jest całe JRE, dostępne na stronie firmy Sun Microsystems ( http://java.sun.com ).

Środowisko programistyczne Javy

Wiemy już, że do uruchomienia aplikacji Javy niezbędne jest JRE charakterystyczne dla danego systemu operacyjnego. Jeśli nie będziemy pisać programów w Javie, a jedynie korzystać z gotowych aplikacji, to JRE w zupełności wystarczy, ale gdy chcemy tworzyć własne aplikacje, potrzebujemy czegoś więcej. Odpowiedni do naszych potrzeb jest bezpłatny pakiet ze środowiskiem programistycznym, zwany SDK (Software Development Kit) Standard Edition (SE), dostępny na stronie firmy Sun Microsystems pod adresem http://java.sun.com/j2se/1.4/download.html .

Zawiera nie tylko JRE, ale także niezbędny do pisania programów kompilator czy pomocny w wykrywaniu błędów debugger. SDK to zestaw narzędzi uruchamianych z wiersza poleceń. Do pisania kodu źródłowego potrzebny będzie edytor tekstowy, który zapisuje pliki z rozszerzeniem .java. Standardowy Notatnik z systemu Windows nie jest najlepszym wyborem, ponieważ często dodaje do nazw plików rozszerzenie .txt.

Oprócz SDK są także inne - bezpłatne i płatne - zintegrowane środowiska programistyczne. Jak sama nazwa wskazuje, wszystkie potrzebne komponenty są zamieszczone w jednym programie, czyli zintegrowane. Takie zintegrowane środowiska zawierają zazwyczaj edytor do pisania programów, kompilator, interpreter oraz liczne narzędzia wspomagające tworzenie aplikacji. Posługując się nimi, nie musimy korzystać z okna konsoli, a wiele zadań programisty wykonuje za nas program. Za przykład mogą posłużyć Borland JBuilder czy bezpłatny JCreator.

Zintegrowane środowiska wspomagają, ułatwiają i przyspieszają pracę programisty, ale czasami ukrywają pewne szczegóły, istotne z dydaktycznego punktu widzenia. Dlatego pisząc aplikacje, nie będziemy z nich korzystać i pozostaniemy przy środowisku programistycznym SDK SE.


Zobacz również