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 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 osztályt tartalmaz a 32-ből, melyet a biztosít.
A főbb osztályok a csomagban a következők: – a gyökere az teljes osztály hierarchiának. – megszámlálható osztályok megvalósításához (J2SE 5.0-tól). – a gyökere a Java reflection rendszernek. – az alap osztálya az exception osztály hierarchiának. , , és – alap az összes kivétel kezelő osztály gyökerét képezik az öröklési fában – szál kezelési műveleteket biztosítja – a stringek és string literálok kezelését biztosítja és – a string manipulációt végzik (StringBuilder is a J2SE 5.0-től). – ez az interfész biztosítja az osztályok általános összehasonlítását és rendezését ( J2SE 1.2 óta). – 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). , , ,, és – 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. és – 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 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 és a , amelyek abstract alap osztályok kifejezetten a bájt streamek olvasására és írására. A -rel és -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
java.math
java.net A 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 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
java.beans
java.awt
java.rmi
A 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 csomag biztonsági támogatást tartalmaz, beleértve az üzenet digest algoritmust is.
java.sql
A csomag egy JDBC API megvalósítás SQL adatbázisok eléréséhez.
javax.rmi
A 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.Java SE alap technológiái - CORBA / RMI-IIOP
javax.swing
javax.swing.text.html.parser A 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 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
org.omg.PortableInterceptor
Kapcsolódó szócikkek Java EE Java ME Java Class Library
További információk Oracle Technology Network's Java SE
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
Kategória:Java