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és]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
[szerkesztés]java.lang
[szerkesztés]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
, é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és]java.lang.reflect
[szerkesztés]Technikák
[szerkesztés]Két alapvető technika létezik a reflection-ban:
Discovery
[szerkesztés]java.io
[szerkesztés]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
[szerkesztés]Véletlen elérés
[szerkesztés]Fájlrendszer
[szerkesztés]java.nio
[szerkesztés]java.math
[szerkesztés]java.net
[szerkesztés]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
[szerkesztés]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
[szerkesztés]Speciális célú csomagok
[szerkesztés]java.applet
[szerkesztés]java.beans
[szerkesztés]java.awt
[szerkesztés]java.rmi
[szerkesztés]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
[szerkesztés]A java.security
csomag biztonsági támogatást tartalmaz, beleértve az üzenet digest algoritmust is.
java.sql
[szerkesztés]A java.sql
csomag egy JDBC API megvalósítás SQL adatbázisok eléréséhez.
javax.rmi
[szerkesztés]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
[szerkesztés]javax.swing.text.html.parser
[szerkesztés]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
[szerkesztés]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
[szerkesztés]org.omg.CORBA
[szerkesztés]org.omg.PortableInterceptor
[szerkesztés]Kapcsolódó szócikkek
[szerkesztés]Tová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