Mikä on Java?

Java on Sun Microsystemsin kehittämä laaja teknologiaperhe ja ohjelmistoalusta, johon kuuluu muun muassa laitteistoriippumaton oliopohjainen ohjelmointikieli sekä ajoaikainen ympäristö virtuaalikoneineen ja luokkakirjastoineen. Sun on ilmoittanut Javan julkaisusta vapaana ohjelmistona GNU GPL -lisenssillä. Java-alusta on käytössä noin 3,8 miljardissa laitteessa matkapuhelimista supertietokoneisiin.

Java on saanut nimensä Jaavan saaren (Indonesiassa) mukaan, sillä kyseisellä saarella tuotetaan kahvilajia, jota Java-kielen kehittäjät nauttivat suuria määriä kieltä suunnitellessaan ja toteuttaessaan. JavaScript puolestaan on saanut nimensä Java-kielen suuresta suosiosta. JavaScript ei muilla tavoin liity mitenkään Javaan.

Kehitysympäristö

Javaan kuuluu ohjelmointikieli, josta on julkaistu eri versioita kehitysympäristön (Java Development Kit; JDK) kehittymisen myötä. Kehitysympäristöön kuuluu kääntäjä (javac) ja muut kehitystyökalut (jar, javadoc, jdb). Kehitysympäristö sisältää myös täydellisen ajoympäristön (Java Runtime Environment; JRE), joka tarvitaan käännettyjen ohjelmien ajamiseen. Ajoympäristö sisältää virtuaalikoneen (Java Virtual Machine; JVM), joka on JRE:n versiosta 1.2 (joulukuu 1998) lähtien sisältänyt ajonaikaisen käännöksen konekielelle (just-in-time compiler; JIT). Ajoympäristöön kuuluvat myös luokkakirjastot, jotka ovat nekin saaneet lisää ominaisuuksia Javan kehittymisen myötä. Java 1.2 brändättiin suurten muutosten vuoksi nimellä Java 2. Java 2 -nimeä ei kuitenkaan käytetty markkinoinnissakaan kovin kauaa, sillä jo Java 1.5 brändättiin Java 5:ksi.

Ajoympäristö on nykyisin jaettu kolmeen osaan.
- Java Standard Edition (Java SE) sisältää yleiset ominaisuudet, graafiset käyttöliittymät, tietokanta- (Java Database Connectivity; JDBC) ja perus-XML-rajapinnat.

- Java Enterprise Edition (Java EE) on tarkoittu palvelinsovellusten kehittämiseen ja ajamiseen ja sisältää mm. nimeämis- ja hakemistopalvelut (Java Naming and Directory Interface; JNDI), komponenttirajapinnan (Enterprise Java Beans; EJB), servlet- ja portlet-määrittelyt, JSP (JavaServer Pages) ja muita web-palvelintekniikoita.

-Java Micro Edition (Java ME) on tarkoitettu teholtaan rajoittuneiden laitteiden ohjelmointiin, kuten matkapuhelimiin ja digibokseihin (Multimedia Home Platform; DVB-MHP). J2ME eroaa merkittävästi muista ympäristöistä ja käyttää rajoitetumpaa virtuaalikonetta (K Virtual Machine; KVM) ja jättää toteuttamatta joitain kielen ominaisuuksia (kuten liukuluvut ja luokkien purkajat). Java ME on edelleen jaettu konfiguraatioihin ja profiileihin laitteiden ominaisuuksien mukaan.