Java programozás/A Java nyelv története

A Java programozási nyelvet James Gosling és más mérnökök hozták létre a Sun Microsystems berkein belül. A fejlesztés 1991-ben kezdődött a Green Project részeként. Hivatalosan 1995. május 23-án jelentették be, az első verziót novemberben adták ki. Eredetileg a C++ utódjának szánták. Az eredeti neve Oak volt (angolul tölgyfát jelent, állítólag a James Gosling irodája előtt álló fa ihlette), azonban ez már egy bejegyzett név volt.

VerziókSzerkesztés

  • JDK 1.0, 1996. január 23.
  • JDK 1.1, 1997. február 19.
  • JDK 1.2, kódneve Playground (más néven Java 2), 1998. december 8.
  • JDK 1.3, Kestrel, 2000. május 8.
  • JDK 1.4, Merlin, 2002. február 6.
  • JDK 5.0, Tiger (korábbi nevén 1.5), 2004. szeptember 30.
  • JDK 6, Mustang, 2006. december 11.
  • JDK 7, Dolphin várhatóan 2008-ban jelenik meg
1.0
A Java első kiadása a Java Developement Kit 1.0 (JDK 1.0, Java fejlesztői csomag) volt. Ez tartalmazta a futtatási környezetet (a virtuális gépet és az osztálykönyvtárakat) és a fejlesztői eszközöket (például a javac fordítót). Később a Sun kiadott egy csomagot Java Runtime Environment (JRE) néven, ami csak a futtatási környezetet tartalmazta. Az emberekben azonban az első név ragadt meg, ezért szoktak a különböző verziókra a JDK verziója szerint hivatkozni.
1.2 (Java 2)
Az 1.2 utáni JDK verziókat gyakran Java 2-nek nevezik. Például a JDK 1.4 hivatalos neve Java 2 Platform, Standard Edition 1.4.
A legfőbb változások:
  • új eseménykezelő rendszer
  • változások a szálak szinkronizálásában
  • megjelent a JIT (just-in-time) fordítás
1.3, 1.4
A nyelv nem sokat változott, az osztálykönyvtárak nagyobbak lettek, és sok változáson mentek át. Új, Java platformhoz kapcsolódó kiterjesztések és architektúrák jelentek meg, például: J2EE, J2ME, NDI, JSML, JDBC, JAIN, JDMK, Jini, Jiro, JXTA, JavaSpaces, JMI.
1.5 (Java 5)
A főbb változások:
  • Generikus osztályok
  • Autoboxing/unboxing
  • újfajta for ciklus a tárolók bejárására
  • Annotációk – plusz információk fűzése az osztályokhoz szabványos, automatikusan értelmezhető módon