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
szerkesztésA 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
szerkesztésjava.lang
szerkesztésA 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
, ésRuntimeException
– alap az összes kivétel kezelő osztály gyökerét képezik az öröklési fábanThread
– szál kezelési műveleteket biztosítjaString
– a stringek és string literálok kezelését biztosítjaStringBuffer
ésStringBuilder
– 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ábbfejlesztettfor
ciklusokban használhatók (J2SE 5.0 óta).ClassLoader
,Process
,Runtime
,SecurityManager
, ésSystem
– 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
ésStrictMath
– 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
szerkesztésjava.lang.reflect
szerkesztésTechnikák
szerkesztésKét alapvető technika létezik a reflection-ban:
Discovery
szerkesztésjava.io
szerkesztésA 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
szerkesztésVéletlen elérés
szerkesztésFájlrendszer
szerkesztésjava.nio
szerkesztésjava.math
szerkesztésjava.net
szerkesztésA 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
szerkesztésA 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
szerkesztésSpeciális célú csomagok
szerkesztésjava.applet
szerkesztésjava.beans
szerkesztésjava.awt
szerkesztésjava.rmi
szerkesztésA 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
szerkesztésA java.security
csomag biztonsági támogatást tartalmaz, beleértve az üzenet digest algoritmust is.
java.sql
szerkesztésA java.sql
csomag egy JDBC API megvalósítás SQL adatbázisok eléréséhez.
javax.rmi
szerkesztésA 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
szerkesztésjavax.swing.text.html.parser
szerkesztésA 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
szerkesztésA 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
szerkesztésorg.omg.CORBA
szerkesztésorg.omg.PortableInterceptor
szerkesztésKapcsolódó szócikkek
szerkesztésTovábbi információk
szerkesztés- 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):
- Open Source Java
- Java SE Tech Tips