Język Java jest szeroko stosowany do realizacji technologii komponentowej w Internecie i intrasieciach. Język ten, opracowany przez oddział SunSoft firmy Sun Microsystems (początkowo projektowany jako narzędzie do programowania urządzeń elektroniki profesjonalnej), ma tę zaletę, że stwarza możliwość uruchamiania programów w nim napisanych, na dowolnej platformie sprzętowej. W przypadku Internetu i intrasieci język Java znakomicie nadaje się do pisania tzw. apletów - miniaplikacji umieszczanych na stronach HTML i sprowadzanych na przeglądarkę w celu bezpośredniego wykonania na maszynie klienta. Stwarza to szerokie możliwości, m.in. prezentacji multimedialnych i animacji obrazów na przeglądarce.
Java jest językiem wywodzącym się bezpośrednio z C/C++. Zasadnicza różnica pomiędzy programami napisanymi w języku C++ i Java tkwi w sposobie wykonywania tych programów: program w języku C++ jest przekształcany w procesie kompilacji i łączenia w formę binarną – bezpośrednio wykonywalną na określonej platformie sprzętowej. Natomiast program napisany w języku Java jest interpretowany przez maszynę wirtualną Javy (JVM - Java Virtual Machine), która jest specjalnym program wykonywanym na określonej platformie sprzętowej.
Jak widać, w drugim podejściu program może być napisany tylko raz, natomiast każdą platformę wyposaża się jednorazowo w JVM.
W świecie systemów komputerowych istnieje wiele platform systemowych, np.: Windows, Macintosh, OS/2, Unix, Linux. Program binarny pracujący na jednej platformie nie może pracować na innej, ponieważ binarne formy programów są maszynozależne. Platforma Javy różni się tym od pozostałych, że tworzy na nich warstwę maszyny wirtualnej, a programy na niej wykonywane mają postać kodu bajtowego (który nie jest związany z żadna architekturą komputerową), określającego "instrukcje maszynowe" dla maszyny wirtualnej (virtual machine). Programy napisane w języku Java są kompilowane w plik kodów bajtowych wykonywalny wszędzie tam, gdzie obecna jest platforma Javy - na dowolnym podstawowym systemie operacyjnym. Jądrem platformy Javy jest Java Virtual Machine. Programy, napisane w tym języku i następnie skompilowane, mogą pracować na platformie Javy.
Składa się ona z dwóch podstawowych elementów:
Platforma Javy umożliwia tworzenie dwóch podstawowych rodzajów programów:
Pomimo że aplety i aplikacje różnią się sposobem uruchamiania, to w większości mają ten sam zakres dostępu do szerokiego zakresu możliwości języka. Jednak aplety potrzebują do pracy sieci, natomiast aplikacje nie. Aplikacje mają też większą swobodę w dostępie do pełnych usług systemu: na przykład aplikacje – w przeciwieństwie do apletów – mogą normalnie czytać i zapisywać pliki na dyskach. Ponieważ aplety mogą być sprowadzane z ośrodków nie weryfikowanych, są ograniczone w funkcjach dostępu do plików, z wyjątkiem serwera, z którego pochodzą.
Język Java jest środkiem do tworzenia kodów źródłowych. Aplety i aplikacje napisane w języku Java są kompilowane na kod bajtowy - formę pracującą na platformie Javy. Kod bajtowy Javy jest weryfikowany przez weryfikator kodu bajtowego przed przekazaniem do wykonania na JVM. Jest to niezbędne w celu zapewnienia wiarygodności sprowadzanych apletów Javy.
Większość znaczących opinii o tym języku koncentruje się nie tyle na aplikacjach Javy, co raczej na jej apletach. Aplet jest komponentem programowym, który pracuje zazwyczaj wewnątrz pewnego zasobnika. Najbardziej znanym przykładem zasobnika dla apletów Javy jest przeglądarka webowa.
W czasie sprowadzania apletu Javy z serwera WWW do przeglądarki jest transmitowana forma apletu po częściowej translacji: w postaci kodów bajtowych Javy. Przeglądarka zawiera implementację maszyny wirtualnej Javy - oprogramowania interpretującego instrukcje kodu bajtowego. Taka przeglądarka zawiera także standardowy zestaw biblioteki klas, z których aplet może w tym miejscu skorzystać. Maszyna wirtualna wykonuje aplet, a użytkownik ogląda jedynie efekty jego pracy.