Java (programmeringsspråk)

Utgaver

Java blir i motsetning til tidligere programmeringsspråk, som for eksempel C++, levert med et stort bibliotek av klasser og metoder, blant annet for bygging av grafiske grensesnitt og for kommunikasjon over Internett. Man kan grovt sett dele opp Java i tre; en standardutgave (Java SE), en forretningsutgave (Java EE) og en mikroutgave (Java ME).

Java SE

Java SE (Java Standard Edition) inneholder de grunnleggende og nødvendige bibliotekene for å utvikle og kjøre Javaprogrammer. 
Versjon 8.0 ble sluppet 18. mars 2014

Java EE

Java EE (Java Enterprise Edition), bygger på Java SE og er en paraplybetegnelse på en mengde rammeverk som blant annet gir muligheter for å lage komponentbaserte, distribuerte flerlagsløsninger og webapplikasjoner. Den seneste versjonen av Java EE er for tiden EE 6. Akronymet J2EE (Java2 Enterprise Edition) ble benyttet fram til versjon 5 ble lansert.

Java ME

Det finnes i tillegg til Java SE og Java EE en tredje versjon, Micro Edition (Java ME) som er et utdrag av Java SE spesielt tilpasset utvikling på mobiltelefoner. Denne teknologien har fått en enorm popularitet, noe f.eks. støtten for mobilspill og programmer på mobiltelefoner er et bevis på.

Java som åpen kildekode

13. november 2006 kunngjorde Sun at store deler av Java ble lisensiert under GPL-lisensen. 8. mai 2007 var prosessen ferdig, og alt unntatt en liten del Sun ikke hadde rettigheter til å relisensere er nå fritt. Et initiativ av Red Hat ble igangsatt for å bytte ut den ufrie delen med fri programvare igjennom prosjektet IcedTea. 4 % var ufritt i mai 2007, og mindre enn 1 % i mai 2008.
Åpningsprosessen har vært varslet i lang tid. I februar 2004 skrev blant annet presidenten i Open Source Initiative, Eric S. Raymond et åpent brev til Sun der selskapet ble oppfordret til å gjøre Java om til åpen kildekode.

Programutviklingsmiljøer

Det finnes flere integrerte utviklingsmiljø for å utvikle i Java. Disse har gjerne støtte for refaktorering, testrammeverk som JUnit og TestNG, og byggesystemer som Ant, Maven og Gradle.
Refactoring innebærer å forbedre kildekoden et program er basert på, uten å endre programmets oppførsel. Et eksempel er at hvis du endrer navn på en metode, skjer en automatisk endring på alle steder i koden der den metoden brukes. NetBeans, Eclipse og IntelliJ IDEA er tre eksempler på integrerte utviklingsmiljøer. Alle tre finnes i frie utgaver.

Norge

Det norske javamiljøet er aktivt og arrangerer jevnlig fagmøter og den årlige konferansen JavaZone.

Høyere utdanning

Både Universitetet i Oslo, Universitetet i Bergen, Universitetet i Agder, Høgskolen i Bergen, Norges teknisk-naturvitenskapelige universitet, Høgskolen i Telemark, Oslomet – storbyuniversitetet, Høgskolen i Østfold og Norges Informasjonsteknologiske Høgskole lærer bort Java i data-grunnkursene sine, og legger også stor vekt på Java i senere kurs.

Hello, World i Java

Utvikling i Java krever at Java Development Kit er installert på datamaskinen. Dette er et eksempel på et enkelt program som printer tekst til en konsoll i det integrerte utviklingsmiljøet.
    
// Hello.javapublic class Hello {

    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }}