Java Platform, Standard Edition

A Java Platform, Standard Edition vagy Java SE egy széles körben elterjedt és használt platform a Java nyelv programozásához. A Java platform használható általános célú hordozható alkalmazások készítéséhez, telepítéséhez, futtatásához. Gyakorlatilag a Java SE tartalmazza a Java virtuális gépet, amelyeken a Java programok futnak (futtatókörnyezet), valamint java osztály könyvtárak halmazát (ez az ún. csomagok, angolul: package), melyek biztosítják a fájlrendszer, a hálózatok, GUI komponensek használatát a java programokon belülről.

Nevezéktan, sztenderdek és specifikációk

A Java SE-t korábban nevezték Java 2 Platformnak, Standard Editionnak, illetve J2SE-nak is. Ez utóbbi elnevezés az 1.2-es verziótól egészen 1.5-ig verzióig volt használatos. Az "SE" használatos arra, hogy megkülönböztethető legyen az alap platform az Enterprise Edition-től (Java EE) valamint a Micro Edition-tól (Java ME). A "2" eredetileg azt hivatott nyomatékosítani, hogy lényeges változást hozott az 1.2-es változat, de az 1.6-ban már eltávolították a névből. A nevezéktan sokszor változott a Java verziók történetében. A J2SE 1.4 (Merlin) verziótól kezdve a Java SE-t a Java Community Process keretében fejlesztették tovább. A JSR (Java Specification Requests) 59 egy összefoglaló specifikáció volt a J2SE 1.4-hez, a JSR 176 pedig a J2SE 5.0 (Tiger)-hez, a Java SE 6 (Mustang)-ot pedig a JSR 270 alatt adták ki.

A Java Platform, Enterprise Edition (Java EE) egy kapcsolódó specifikáció halmaz, amelynek megvalósítása tartalmazza az összes Java SE osztály könyvtárat, valamint számos más olyan könyvtárat, amelyek sokkal jobban használhatók a szervereken futó programok számára, ellentétben azokkal, melyek munkaállomásokon futnak.

A Java Platform, Micro Edition (Java ME) szintén egy kapcsolódó specifikáció halmaz, mely azt a célt szolgálja, hogy hitelesített Java API gyűjteményt biztosítson olyan szoftver fejlesztések számára, melyek a kevés- és korlátozott erőforrással rendelkező eszközökön (mint pl. a mobiltelefonok, PDAk és set-top boxok) valósulnak meg.

A Java Runtime Environment (JRE) és Java Development Kit (JDK) szoftver csomagok, letölthetők és installálhatók egy adott számítógépre, azért, hogy futtatni ill. fejleszteni lehessen Java programokat.

Általános célú csomagok

java.lang

A java.lang Java csomag alapvető nyelv- és futtatókörnyezet közeli osztályokat és interfészeket tartalmaz, beleértve a gyökér osztályokat is. A legfontosabbak a következők: osztály hierarchia, a nyelv közeli definíciós osztályok, alap kivétel osztályok, matematikai metódusokat biztosító osztályok, szálkezelést biztosító osztályok, biztonsági funkciók, valamint számos információt visszaadó osztályok, melyeket az alatta lévő natív rendszerből biztosít a java. Ez a csomag 22 Exception osztályt tartalmaz a 32-ből, melyet a biztosít.

A főbb osztályok a java.lang csomagban a következők:

  • Object – a gyökere az teljes osztály hierarchiának.
  • Enum – megszámlálható osztályok megvalósításához (J2SE 5.0-tól).
  • Class – a gyökere a Java reflection rendszernek.
  • Throwable – az alap osztálya az exception osztály hierarchiának.
  • Error, Exception, és RuntimeException – alap az összes kivétel kezelő osztály gyökerét képezik az öröklési fában
  • Thread – szál kezelési műveleteket biztosítja
  • String – a stringek és string literálok kezelését biztosítja
  • StringBuffer és StringBuilder – a string manipulációt végzik (StringBuilder is a J2SE 5.0-től).
  • Comparable – ez az interfész biztosítja az osztályok általános összehasonlítását és rendezését ( J2SE 1.2 óta).
  • Iterable – ez az interfész biztosítja az általános iterációk használatát, melyek a továbbfejlesztett for ciklusokban használhatók (J2SE 5.0 óta).
  • ClassLoader, Process, Runtime,SecurityManager, és System – ezek az osztályok "rendszer szintű műveleteket" látnak el, azaz kezelik az osztályok dinamikus betöltését, külső processz létrehozását, környezetről információkat képes lekérni mint, pl. az idő, és a biztonsági policyk végrehajtását is biztosítja.
  • Math és StrictMath – ellátják az alap matematikai funkciókat a rendszerben, mint pl., sin, cosin, és négyzetgyök számítást (StrictMath is a J2SE 1.3 óta).
  • A primitív csomagoló osztályok, melyek osztályokba csomagolják az primitív típusokat mint pl. int-be.
  • Alap kivétel osztályokat dob nyelvi szinten, továbbá más általános kivételeket is.

A java.lang csomag osztályai automatikusan be lesznek importálva minden forrás fájlba, külön megjelölés nélkül.

java.lang.ref

java.lang.reflect

Technikák

Két alapvető technika létezik a reflection-ban:

Discovery

java.io

A java.io csomag olyan osztályokat tartalmaz, melyek támogatják az inputot és outputot. A csomagban lévő osztályok elsődlegesen stream-orientáltak; habár tartalmaz véletlen elérésű fájlokhoz is osztályt. A központi osztályok ebben a csomagban a InputStream és a OutputStream, amelyek abstract alap osztályok kifejezetten a bájt streamek olvasására és írására. A Reader-rel és Writer-rel kapcsolatos osztályok absztrakt alaposztályok kifejezetten a karakter stream-ek olvasásához és írásához. A csomag tartalmaz néhány vegyes osztályt is, melyek támogatják a host fájlrendszerrel kapcsolatos interakciókat.

Streams

Véletlen elérés

Fájlrendszer

java.nio

Bővebben: New I/O

java.math

java.net

A java.net csomag speciális IO rutinokat biztosít a hálózatokhoz, a HTTP kérésekhez, éppúgy, mint más egyéb megszokott tranzakciókhoz.

java.text

A java.text csomag string elemzési (parsing) rutinokat valósít meg, támogat számos emberi nyelvet és földrajzihely specifikus elemzést.

java.util

Speciális célú csomagok

java.applet

Bővebben: Java applet

java.beans

Bővebben: JavaBeans

java.awt

Bővebben: Abstract Window Toolkit

java.rmi

Bővebben: Java remote method invocation

A java.rmi csomag Java remote method invocation-t biztosít a távoli metódushívásokhoz két java alkalmazás között, melyek különböző JVM-eken futnak.

java.security

A java.security csomag biztonsági támogatást tartalmaz, beleértve az üzenet digest algoritmust is.

java.sql

Bővebben: Java Database Connectivity

A java.sql csomag egy JDBC API megvalósítás SQL adatbázisok eléréséhez.

javax.rmi

Bővebben: RMI-IIOP

A javax.rmi csomag támogatást nyújt az alkalmazások közötti távoli kommunikációhoz az RMI az IIOP protokoll feletti használatával. Ez a protokoll egyesíti az RMI és CORBA funkcionalitását.[1]

javax.swing

Bővebben: Swing (Java)

javax.swing.text.html.parser

A javax.swing.text.html.parser csomag hibatűrő HTML elemzőt biztosít. Felhasználásával web böngészők és webes robotok írhatók.

javax.xml.bind.annotation

A javax.xml.bind.annotation csomag nagy számú annotáció tipust tartalmaz (összességében 30-at) a JDK 6-ban. Definiál annotációkat a Java program elemekeinek testreszabásához a XML séma mappelésekhez.

OMG packages

org.omg.CORBA

Bővebben: CORBA

org.omg.PortableInterceptor

Kapcsolódó szócikkek

További információk

  • Oracle Technology Network's Java SE
  • Java SE 7 API Javadocs
  • Java SE API documentation
  • JSR 270 (Java SE 6)
  • JSR 176 (J2SE 5.0)
  • JSR 59 (J2SE 1.4)
  • Java software development kits (2011. szeptemberi állapot szerint):
    • 1.7 (stable, current)
    • 1.6 (stable)
    • 1.5 (stable)
    • 1.4 (obsolete)
    • 1.3 (obsolete)
    • 1.2 (no longer actively supported)
  • Open Source Java
  • Java SE Tech Tips

Jegyzetek

  1. Java SE alap technológiái - CORBA / RMI-IIOP
  • Informatika Informatikai portál • összefoglaló, színes tartalomajánló lap