Java SE
Java Platform, Standard Edition o Java SE (conegut anteriorment fins la versió 5.0 com Plataforma Java 2, Standard Edition o J2SE), és una colecció de APIs del llenguatge de programació Java útils per a molts programes de la Plataforma Java. La Plataforma Java 2, Enterprise Edition inclou totes las classes al Java SE, ademés d'algunes de las cuals sún útils per a programes que s'executen en servidors sobre workstations.
Començant amb la versió J2SE 1.4 (Merlin), la plataforma Java SE ha set desenvolupada sota la supervisió del Java Community Process. JSR 59 l'especificació per a J2SE 1.4 i JSR 176 específic J2SE 5.0 (Tiger). En 2006, Java SE 6 (Mustang) està sent desenvolupat sota el JSR 270.
El següent són descripcions d'alguns dels principals paquets Java SE.
Paquets de Propòsit General
El paquet Java java.lang
conté classes fundamentals i interfícies fortement relacionades amb el llenguatge i el sistema runtime. Aixó inclou les classes arrel que formen la jerarquía de classes, tipus relacionats amb la definició del llenguatge, excepcions bàsiques, funcions matemàtiques, fils, funcions de seguretat, així com també alguna informació sobre el sistema natiu subadjacent.
Les principals classes en java.lang
són:
- Object – la classe que es la arrel de tota la jerarquía de classes.
- Enum – la classe base per a les classes enumeration (pròpies de J2SE 5.0).
- Class – la clase que és l'arrel del sistema de reflexió Java.
- Throwable – la classe que és la classe base de la jerarquía de classes d'excepcions.
- Error, Exception, i RuntimeException – les classes base de cada tipus d'excepció.
- Thread– la classe que permet operacions amb fils.
- String – la classe per a cadenes String i literals.
- StringBuffer i StringBuilder – classes per a realitzar manipulació de strings(
StringBuilder
com part de J2SE 5.0). - Comparable – la interficie que permet comparació genèrica i ordenament d'objetes (com parte de J2SE 1.2).
- Iterable – la interficie que permet iteració genèrica utilitzant el bucle
for
millorat (com part J2SE 5.0). - ClassLoader, Process, Runtime,SecurityManager, i System – classes que suministren "operacions del sistema" que gestionen el enllaç dinàmic de classes, creació de processos externs, investigacions de l'entorno del host tals com l'hora del día, i reforç de polítiques de seguretat.
- Les classes Math i StrictMath – suministren funcions matemàtiques bàsiques tals com sinus, cosinus, i arrel quadrada(
StrictMath
forma part de J2SE 1.3). - Les classes wrapper primitives encapsulen tipus primitius com objectes.
- Les classes exception bèsiques llancen excepcions del nivell del llenguatge i altres excepcions comuns.
Les classes de java.lang
són importades automàticament a cada Fixer font.
El paquet és importat automàticament a cada Fitxer font. El paquet java.lang.ref
subministra tipus més flexibles de referències que altres disponibles, permitint interacció limitada entre l'aplicació i la recolecció de basura de la Màquina virtual java (JVM) . És un paquet important, bastant céntric al llenguatge per a que els dissenyadors del llenguatge li dongin un nom que comenci per "java.lang", però és de propòsit especial, i no utilitzat per molts desenvolupadors. Aquest paquet es va afegir a J2SE 1.2.
Java té un sistema de referències més expresiu que la majoría dels altres llenguatges de programació que la utilitzen, aixó permet un comportament especial per a la recolección de basura. Una referència normal en Java es coneix com una referència forta. El paquet java.lang.ref
defineix altres tipus de referències—referències soft, weak, i fantasma. Cada tipus de referència està dissenyat per a ús específic.
Una SoftReference pot utilitzar-se per implementar una cache. Un objete que no és recuperable per una referència forta (això és, no és recuperable fortament), però que estigui referenciat per una referència soft s'anomena recuperable softly. Un objete recuperable softly pot ser recolectat com basura a decisió del recolector de basura. Això generalment significa que els objetes recuperables softly solament seran recolectats quant la memoria lliure sigui baixa, però també, és la decisió del recolector de basura. Semànticament, una referència soft significa "manté aquest objete a menys que la memòria es necesiti."
Una WeakReference s'utilitza per a implementar mapes weak. Un objete que no és recuperable fortement o softly, però es referencia per una referència weak que s'anomena "recuperable weakely". Un objete recuperable weakly serà recolectat a la basura durant el següent cicle de recolecció. Aquest comportament s'utilitza en la clsase WeakHashMap. Un mapa weak permet al programador ficar parells clau/valor al mapa i no preocupar-se que els objetes prenen memòria quant la clau ja no sigui recuperable en cap lloc més. Semànticament, una referència weak significa "aconseguir la lliberació de'aquest objete quant res més el referencia."
Una PhantomReference s'utilitza per a referenciar objetes que han set marcats per a recolecció de basura i han set finalitzats, però no han set encara reclamats. Un objete que no és recuperable fortement, softly o weakly, però és referenciat per una referència fantasma s'anomena recuperable fantasma. Això permet neteja més flexible que és posible amb el mecanisme de finalització unicament. Semànticament, una referència fantasma significa "aquest objete no es necesita més i ha set finalitzat en preparació a ser recolectat."
Cada un d'aquests tipus de referència extenen la classe Reference la qual subministra el mètode get() per a retornar una referència forta a l'objete referit (o null
si la referència ha set aclarada o si el tipus de referència es fantasma), i el mètode clear() per a netejar la referència.
java.lang.ref
també defineix la ReferenceQueue de classe, la qual pot utilitzar-se en cada aplicació discutida sobre mantenir la pista dels objectes que han caanviat el tipus de referència. Quant una Reference
es crea està registrat opcionalment amb una cua de referències. L'aplicació enquesta la cua de referències per a obtindre referències que han canviat l'estat d'alcançabilitat.
Enllaços externs
- Pàgina principal Java SE
- documentació de l'API de Java SE
- JSR 270 (Java SE 6)
- JSR 176 (J2SE 5.0)
- JSR 59 (J2SE 1.4)
- Java software development kits (fins l'agost de 2006):
- Open Source Java