Java Platform, Standard Edition - Java Platform, Standard Edition

Java Platform Standard Edition ( Java SE ) on alustasta kehittämiseen ja käyttöönottoon kannettavien koodin varten työpöydän ja palvelimen ympäristöissä. Java SE tunnettiin aiemmin nimellä Java 2 Platform, Standard Edition ( J2SE ).

Alusta käyttää Java- ohjelmointikieltä ja on osa Java-ohjelmistoalustaperhettä . Java SE määrittelee joukon yleiskäyttöinen API alipalvelun kuten java API varten java luokan Kirjasto -ja sisältää myös Java-kielellä Specification ja Java Virtual Machine Specification . OpenJDK on virallinen viitetoteutus versiosta 7 lähtien.

Nimikkeistö, standardit ja eritelmät

Alusta tunnettiin nimellä Java 2 Platform, Standard Edition tai J2SE versiosta 1.2, kunnes nimi vaihdettiin Java Platform, Standard Edition tai Java SE versiossa 1.5. "SE": tä käytetään erottamaan perusalusta Enterprise Edition ( Java EE ) - ja Micro Edition ( Java ME ) -alustoista. "2" oli alun perin tarkoitettu korostamaan versiossa 1.2 tehtyjä suuria muutoksia, mutta se poistettiin versiosta 1.6. Nimeämiskäytäntöä on muutettu useita kertoja Java-versiohistorian aikana . J2SE 1.4: sta (Merlin) alkaen Java SE on kehitetty Java-yhteisöprosessissa , joka tuottaa kuvaukset Java-alustalle ehdotetuista ja lopullisista spesifikaatioista nimeltä Java Specification Requests (JSR) . JSR 59 oli sateenvarjoeritelmä J2SE 1.4: lle ja JSR 176 määritti J2SE 5.0: n (Tiger). Java SE 6 (Mustang) julkaistiin nimellä JSR 270.

Java Platform, Enterprise Edition (Java EE) on siihen liittyvä eritelmä, joka sisältää kaikki Java SE: n luokat sekä numeron, joka on hyödyllisempi palvelimilla suoritettaville ohjelmille kuin työasemille .

Java Platform, Micro Edition (Java ME) on siihen liittyvä eritelmä, jonka tarkoituksena on tarjota sertifioitu kokoelma Java-sovellusliittymiä ohjelmistojen kehittämiseksi pienille, resurssirajoitteisille laitteille, kuten matkapuhelimille , kämmentietokoneille ja digisovittimille .

Java Runtime Environment (JRE) ja Java Development Kit (JDK) ovat varsinaiset tiedostot ladataan ja asennetaan tietokoneeseen ajaa tai kehittää Java-ohjelmia, vastaavasti.

Yleiskäyttöiset paketit

java.lang

Java Paketti java.lang sisältää perustavanlaatuisia luokat ja rajapinnat tiiviisti sidoksissa kieleen ja runtime järjestelmä. Tämä sisältää juuren luokat, jotka muodostavat luokan hierarkian , tyypit sidottu kieleen määritelmän perus poikkeuksia , matemaattiset funktiot, ketjuttaminen , turvatoimintoja, sekä joitakin tietoja taustalla oma käyttöjärjestelmä. Tämä paketti sisältää 22 Error JDK 6: n 32 luokasta.

Pääryhmät ja käyttöliittymät java.lang ovat:

Luokan luokat java.lang tuodaan automaattisesti jokaiseen lähdetiedostoon .

java.lang.ref

java.lang.ref Paketti tarjoaa joustavampiin viittauksia kuin muuten saatavilla, jotka mahdollistavat rajoitetun vuorovaikutusta sovelluksen ja Java Virtual Machine (JVM) roskienkerääjä . Se on tärkeä paketti, joka on riittävän keskeinen kielelle, jotta kielisuunnittelijat voivat antaa sille nimen, joka alkaa "java.lang": lla, mutta se on jonkin verran erikoiskäyttöön, eikä monet kehittäjät käytä sitä. Tämä paketti lisättiin J2SE 1.2: een.

Javalla on ilmeikäs viitejärjestelmä ja se sallii erityisen toiminnan roskien keräyksessä. Normaali viittaus Java: ssa tunnetaan "vahvana viitteenä". java.lang.ref Paketti määritellään kolme muuntyyppisiä viitteet-pehmeä, heikko , ja phantom viitteet. Jokainen viitetyyppi on suunniteltu tiettyä käyttöä varten.

  • A: ta SoftReference voidaan käyttää välimuistin toteuttamiseen . Kohdetta, johon ei voida saavuttaa vahvalla viitteellä (toisin sanoen ei ole kovin tavoitettavissa), mutta johon viitataan pehmeällä viitteellä, kutsutaan "pehmeästi saavutettavaksi". Pehmeästi saavutettavissa oleva esine voi olla jätettä, joka on kerätty roskakorin harkinnan mukaan. Tämä tarkoittaa yleensä sitä, että pehmeästi tavoitettavat esineet kerätään vain roskiin, kun vapaata muistia on vähän - mutta tämäkin on jätteiden kerääjän harkinnan mukaan. Semanttisesti pehmeä viite tarkoittaa "Säilytä tämä objekti, kun mikään muu ei viittaa siihen, ellei muistia tarvita".
  • A: WeakReference ta käytetään heikkojen karttojen toteuttamiseen. Kohdetta, joka ei ole voimakkaasti tai pehmeästi tavoitettavissa, mutta johon viitataan heikossa viitteessä, kutsutaan " heikosti saavutettavaksi ". Heikosti saavutettavissa oleva esine on seuraavassa keräysjaksossa kerätyt roskat. Tätä käyttäytymistä käytetään luokassa java.util.WeakHashMap . Heikko kartta antaa ohjelmoijalle mahdollisuuden laittaa avain / arvo-parit karttaan eikä olla huolissaan siitä, että esineet vievät muistia, kun avainta ei ole enää tavoitettavissa missään muualla. Toinen mahdollinen heikkojen viitteiden sovellus on merkkijonon sisäinen pooli . Semanttisesti heikko viite tarkoittaa "päästä eroon tästä esineestä, kun mikään muu ei viittaa siihen seuraavassa roskakorissa".
  • A: PhantomReference ta käytetään viittaamaan objekteihin, jotka on merkitty roskakoriin ja jotka on viimeistelty , mutta joita ei ole vielä palautettu. Kohdetta, johon ei voida päästä voimakkaasti, pehmeästi tai heikosti, mutta johon viitataan fantomiviitteellä, kutsutaan "saavutettavissa olevaksi fantomiksi". Tämä mahdollistaa joustavamman siivouksen kuin pelkällä viimeistelymekanismilla on mahdollista. Semanttisesti fantomiviite tarkoittaa "tätä objektia ei enää tarvita ja se on viimeistelty keräystä valmisteltaessa".

Kukin näistä viitetyypeistä laajentaa Reference luokkaa, mikä tarjoaa get() menetelmän vahvan viitteen palauttamiseksi viiteobjektiin (tai null jos viite on tyhjennetty tai jos viittaustyyppi on fantomi), ja clear() menetelmän viitteen tyhjentämiseksi.

Siinä java.lang.ref määritellään myös luokka ReferenceQueue , jota voidaan käyttää kaikissa yllä mainituissa sovelluksissa seurata objekteja, jotka ovat muuttaneet viitetyyppiä. Kun a Reference luodaan, se rekisteröidään mahdollisesti viitejonoon. Sovellus kyselee viitejonoa saadakseen viitteitä, jotka ovat muuttaneet saavutettavuustilaa.

java.lang.reflect

Reflection on Java- sovellusliittymän komponentti, joka antaa Java-koodin tutkia ja "heijastaa" Java-komponentteja ajon aikana ja käyttää heijastuneita jäseniä. Luokat java.lang.reflect paketin mukana java.lang.Class ja java.lang.Package mahtuu sovelluksiin kuten debuggers , tulkit , esine tarkastajat, luokka selaimet , ja palvelut, kuten objekti serialization ja JavaBeans , jotka tarvitsevat joko yleisölle jäsenet kohdeobjektin (perustuu sen runtime luokka) tai tietyn luokan ilmoittamat jäsenet. Tämä paketti lisättiin JDK 1.1: een.

Reflektiota käytetään luokkien instansointiin ja menetelmien kutsumiseen niiden nimillä, joka mahdollistaa dynaamisen ohjelmoinnin. Luokat, rajapinnat, menetelmät, kentät ja konstruktorit voidaan kaikki löytää ja käyttää ajon aikana. Heijastusta tukevat metatiedot , jotka JVM: llä on ohjelmasta.

Tekniikat

Pohdinnassa on mukana perustekniikoita:

  • Löytäminen - tämä tarkoittaa kohteen tai luokan ottamista ja jäsenten, yläluokkien, toteutettujen rajapintojen löytämistä ja mahdollisesti löydettyjen elementtien käyttöä.
  • Käyttö nimen mukaan - tarkoittaa alkua elementin symbolisesta nimestä ja nimetyn elementin käyttämistä.
Löytö

Löytö alkaa tyypillisesti objektista ja Object.getClass() menetelmän kutsumisesta objektin saamiseksi Class . Class Esine on useita menetelmiä löytää sisällön luokka, esimerkiksi:

  • getMethods() - palauttaa joukon Method esineitä, jotka edustavat kaikkia luokan tai käyttöliittymän julkisia menetelmiä
  • getConstructors() - palauttaa joukon Constructor esineitä, jotka edustavat kaikkia luokan julkisia rakentajia
  • getFields() - palauttaa joukon Field esineitä, jotka edustavat kaikkia luokan tai käyttöliittymän julkisia kenttiä
  • getClasses() - palauttaa joukon Class esineitä, jotka edustavat kaikkia julkisia luokkia ja rajapintoja, jotka ovat luokan tai käyttöliittymän jäseniä (esim. Sisäiset luokat )
  • getSuperclass() - palauttaa Class luokan tai käyttöliittymän yliluokkaa edustavan objektin ( null palautetaan käyttöliittymille)
  • getInterfaces() - palauttaa joukon Class esineitä, jotka edustavat kaikkia luokan tai rajapinnan toteuttamia rajapintoja
Käytä nimen mukaan

Class Tavoite voidaan saada joko löytö, käyttämällä luokan kirjaimellisesti (esimerkiksi MyClass.class ) tai käyttämällä luokan nimi (esim Class.forName("mypackage.MyClass") ). Jossa on Class esine, jäsen Method , Constructor tai Field esineet voidaan saada käyttämällä symbolinen nimi jäsenen. Esimerkiksi:

  • getMethod("methodName", Class...) - palauttaa Method julkista menetelmää edustavan objektin sen luokan tai käyttöliittymän nimellä "methodName", joka hyväksyy parametrien määrittämät Class... parametrit.
  • getConstructor(Class...) - palauttaa Constructor luokan julkista rakennuttajaa edustavan objektin, joka hyväksyy parametrien määrittelemät Class... parametrit.
  • getField("fieldName") - palauttaa Field julkista kenttää edustavan objektin luokan tai käyttöliittymän nimellä "fieldName".

Method , Constructor , Ja Field esineitä voidaan käyttää dynaamisesti pääsy edustettujen ryhmän jäsen. Esimerkiksi:

  • Field.get(Object) - palauttaa Object kentän arvon sisältävän objektin välitetyn objektin ilmentymästä get() . (Jos Field objekti edustaa staattista kenttää, Object parametri ohitetaan ja se voi olla null .)
  • Method.invoke(Object, Object...) - palauttaa sisällön, joka Object sisältää menetelmän kutsumisen tuloksen ensimmäisen Object parametrille, joka välitettiin invoke() . Loput Object... parametrit välitetään menetelmälle. (Jos Method objekti edustaa staattista menetelmää, ensimmäinen Object parametri ohitetaan ja se voi olla null .)
  • Constructor.newInstance(Object...) - palauttaa uuden Object esiintymän rakentajan kutsumisesta. Object... Parametrit välitetään rakentaja. (Huomaa, että luokan parametriton konstruktori voidaan myös kutsua soittamalla newInstance() .)
Taulukot ja välityspalvelimet

java.lang.reflect Paketti tarjoaa myös Array luokka, joka sisältää staattisia menetelmiä luoda ja manipuloida joukko esineitä, ja koska J2SE 1.3, joka on Proxy luokka, joka tukee dynaaminen luominen proxy luokkiin, jotka toteuttavat tietyn rajapintoja.

Toteuttamalla Proxy luokan saadaan aikaan mukana toimitetulla esine, joka toteuttaa InvocationHandler käyttöliittymä. InvocationHandler N invoke(Object, Method, Object[]) menetelmää kutsutaan jokaisen menetelmän vedottu proxy objekti-ensimmäinen parametri on proxy objekti, toinen parametri on Method objekti edustaa menetelmä käyttöliittymän toteutetaan proxy, ja kolmas parametri on joukko välitettyjen parametrien käyttöliittymämenetelmään. invoke() Menetelmä palauttaa Object tuloksen, joka sisältää tulos palautetaan koodi, joka kutsutaan proxy-rajapinnan menetelmä.

java.io

java.io Paketti sisältää luokat, jotka tukevat tulo ja lähtö . Paketin luokat ovat ensisijaisesti suuntautuneita ; kuitenkin luokan random access tiedostojen on myös. Paketin keskeiset luokat ovat InputStream ja OutputStream , jotka ovat abstrakteja perusluokkia tavuvirtojen lukemiseen ja kirjoittamiseen vastaavasti. Niihin liittyvät luokat Reader ja Writer ovat abstrakteja perusluokkien lukemiseksi ja kirjallisesti merkin virtoja, vastaavasti. Paketissa on myös muutama sekaluokka, jotka tukevat vuorovaikutusta isäntätiedostojärjestelmän kanssa .

Suoratoistot

Stream-luokat seuraavat sisustajakuviota laajentamalla perusalaluokkaa lisätäksesi ominaisuuksia stream-luokkiin. Perusvirtaluokkien alaluokat nimetään tyypillisesti jollekin seuraavista määritteistä:

  • virtatietojen lähde / kohde
  • streamiin kirjoitettujen / siitä luettujen tietojen tyyppi
  • virtatiedoille suoritettu lisäkäsittely tai suodatus

Virta alaluokat nimetään käyttämällä nimeäminen kuvio XxxStreamType , jossa Xxx on nimi kuvaava ominaisuus ja StreamType on yksi InputStream , OutputStream , Reader , tai Writer .

Seuraava taulukko näyttää lähteet / kohteet, joita java.io paketti tukee suoraan :

Lähde / Kohde Nimi Suoratoistotyypit Sisään ulos Luokat
byte taulukko ( byte[] ) ByteArray byte sisään ulos ByteArrayInputStream , ByteArrayOutputStream
char taulukko ( char[] ) CharArray char sisään ulos CharArrayReader , CharArrayWriter
tiedosto File byte , char sisään ulos FileInputStream , FileOutputStream , FileReader , FileWriter
merkkijono ( StringBuffer ) String char sisään ulos StringReader , StringWriter
lanka ( Thread ) Piped byte , char sisään ulos PipedInputStream , PipedOutputStream , PipedReader , PipedWriter

Muut vakiokirjastopaketit tarjoavat suoratoistototeutuksia muihin kohteisiin, kuten menetelmän InputStream palauttamiin java.net.Socket.getInputStream() tai Java EE javax.servlet.ServletOutputStream -luokkaan.

Suoritustietojen käsittely ja käsittely tai suodatus suoritetaan virtaussuodattimien avulla . Suodatinluokat hyväksyvät kaikki toisen yhteensopivan virtaobjektin rakentajan parametriksi ja koristavat suljetun virran lisäominaisuuksilla. Suodattimet ovat luoneet laajentamalla yhden emäksen suodattimen luokat FilterInputStream , FilterOutputStream , FilterReader , tai FilterWriter .

Reader Ja Writer luokat ovat oikeastaan vain tavu virtoja lisäkäsittely suoritettiin datavirran muuntaa tavua merkkiä. He käyttävät oletuksena merkistökoodaus varten alustan, joka kuten J2SE 5.0 edustaa Charset palauttama java.nio.charset.Charset.defaultCharset() staattisen menetelmän. InputStreamReader Luokka muuntaa InputStream on Reader ja OutputStreamWriter luokan muuntaa OutputStream on Writer . Molemmissa luokissa on konstruktoreita, jotka tukevat käytettävän merkkikoodauksen määrittämistä. Jos koodausta ei määritetä, ohjelma käyttää alustan oletuskoodausta.

Seuraava taulukko näyttää muut prosessit ja suodattimet, joita java.io paketti tukee suoraan. Kaikki nämä luokat laajentavat vastaavaa Filter luokkaa.

Operaatio Nimi Suoratoistotyypit Sisään ulos Luokat
puskurointi Buffered byte , char sisään ulos BufferedInputStream , BufferedOutputStream , BufferedReader , BufferedWriter
"työnnä taaksepäin" viimeinen luettu arvo Pushback byte , char sisään PushbackInputStream , PushbackReader
lukea / kirjoittaa primitiivisiä tyyppejä Data byte sisään ulos DataInputStream , DataOutputStream
esineiden sarjallisuus (luku- / kirjoitusobjektit) Object tavu sisään ulos ObjectInputStream , ObjectOutputStream

Satunnainen käyttö

RandomAccessFile Luokka tukee random access lukemisen ja kirjoittamisen tiedostoja. Luokka käyttää tiedoston osoitinta, joka edustaa tiedoston tavueroa seuraavassa luku- tai kirjoitusoperaatiossa. Tiedoston osoitinta siirretään implisiittisesti lukemalla tai kirjoittamalla ja nimenomaisesti kutsumalla seek(long) tai skipBytes(int) -menetelmiä. Menetelmä palauttaa tiedoston osoittimen nykyisen sijainnin getFilePointer() .

Tiedostojärjestelmä

File Luokka edustaa tiedoston tai hakemiston polku on tiedostojärjestelmän . File esineet luomisen tukeminen, poistaminen ja uudelleennimeäminen tiedostojen ja hakemistojen ja manipuloinnin tiedostomääritteet kuten vain luku ja viimeksi muutettu aikaleima . File hakemistoja edustavia objekteja voidaan käyttää luettelon saamiseen kaikista sisältämistä tiedostoista ja hakemistoista.

FileDescriptor Luokka on tiedosto avainsana , joka edustaa lähde tai upota (määränpää) tavujen. Tyypillisesti tämä on tiedosto, mutta se voi olla myös konsoli tai verkkopistoke . FileDescriptor esineitä käytetään File virtojen luomiseen . Ne saadaan File virroista ja java.net pistorasioista sekä datagrammiliittimistä.

java.nio

J2SE 1.4: ssä paketti java.nio (NIO tai ei-estävä I / O) lisättiin tukemaan muistikartoitettua I / O: ta , mikä helpottaa I / O- toimintoja lähempänä taustalla olevaa laitteistoa joskus dramaattisesti paremmalla suorituskyvyllä. java.nio Paketti tukee useita puskurin tyyppejä. Alipaketti java.nio.charset tukee eri merkkikoodauksia merkkitiedoille. Alipaketti java.nio.channels tukee kanavia, jotka edustavat yhteyksiä entiteetteihin, jotka kykenevät suorittamaan I / O-toimintoja, kuten tiedostoihin ja pistorasioihin. java.nio.channels Paketti tukee myös hienojakoista lukitus tiedostoja.

java.math

java.math Paketti tukee multiprecision aritmeettinen (mukaan lukien modulaarinen aritmeettisia operaatioita) ja tarjoaa multiprecision alkuluku generaattorit käytetään salausavaimen sukupolvi. Paketin pääluokat ovat:

  • BigDecimal - antaa mielivaltaisen tarkasti allekirjoitetut desimaaliluvut. BigDecimal antaa käyttäjälle hallinnan pyöristyskäyttäytymisen kautta RoundingMode .
  • BigInteger - antaa mielivaltaisen tarkkoja kokonaislukuja. Operaatiot BigInteger eivät ylivuoto tai menetä tarkkuutta. Lisäksi standardi laskutoimituksia, se antaa modulaarinen aritmetiikka , GCD laskelma, alkuluku testaus , alkuluku sukupolvi, vähän manipulointi, ja muut sekalaiset toimintaa.
  • MathContext - kapseloi kontekstiasetukset, jotka kuvaavat tiettyjä sääntöjä numeerisille operaattoreille.
  • RoundingMode - luettelo, joka tarjoaa kahdeksan pyöristyskäyttäytymistä.

java.net

java.net Paketti tarjoaa erityinen IO rutiinit yleistyessä, kun HTTP- pyyntöjen, sekä muita yhteisiä tapahtumia.

java.text

java.text Paketti työkoneet jäsentämiseen rutiinit jousille ja se tukee erilaisia ihmisen luettavissa kieltä ja kielikohtaiseen jäsentämiseen.

java.util

Objektit yhdistävät tietorakenteet ovat java.util paketin painopiste . Pakettiin sisältyy Collections-sovellusliittymä , organisoitu tietorakenteen hierarkia, johon suunnittelumallien näkökohdat vaikuttavat voimakkaasti .

Erityiskäyttöiset paketit

java.applet

Luotu tukemaan Java-sovelmien luomista, java.applet paketti antaa sovellusten ladata verkon kautta ja ajaa vartioidussa hiekkalaatikossa. Turvallisuusrajoitukset on helppo asettaa hiekkalaatikolle. Esimerkiksi kehittäjä voi soveltaa digitaalista allekirjoitusta sovelmaan ja siten merkitä sen turvalliseksi. Tällöin käyttäjä voi antaa appletille luvan suorittaa rajoitettuja toimintoja (kuten käyttää paikallista kiintolevyä), ja poistaa kaikki tai kaikki hiekkalaatikkorajoitukset. Digitaaliset varmenteet myöntävät varmentajat .

java.beans

Sisälly java.beans pakettiin ovat eri luokissa kehittää ja manipuloida pavut, uudelleenkäytettäviä komponentteja määrittelemän JavaBeans arkkitehtuuri . Arkkitehtuuri tarjoaa mekanismeja komponenttien ominaisuuksien manipuloimiseksi ja tapahtumien laukaisemiseksi näiden ominaisuuksien muuttuessa.

Sisäänrakennetut sovellusliittymät java.beans on tarkoitettu papujen muokkaustyökalulle, jossa pavut voidaan yhdistää, mukauttaa ja manipuloida. Yksi papueditorin tyyppi on GUI- suunnittelija integroidussa kehitysympäristössä .

java.awt

java.awt Tai Abstract Window Toolkit tarjoaa pääsyn perusjoukko GUI widgettejä perustuu taustalla natiivi alustan widget sarja, ydin GUI tapahtuman osajärjestelmän ja rajapinta natiivi ikkunointijärjestelmä ja Java-sovelluksen. Se tarjoaa myös useita perusasettelun hallintaohjelmia , tiedonsiirtopaketin, joka on tarkoitettu leikepöydälle ja vedä ja pudota -toiminnolle , käyttöliittymän syöttölaitteille , kuten hiirille ja näppäimistöille , sekä pääsyn tukijärjestelmien ilmaisinalueelle . Tämä paketti yhdessä sen kanssa javax.swing sisältää eniten (kaikkiaan 7) JDK 6: n enumeja.

java.rmi

java.rmi Paketti tarjoaa Java etämetodikutsu tukemaan etäkutsut kahden Java-sovelluksia käynnissä eri JVMs .

java.turvallisuus

Turvallisuustuki, mukaan lukien viestien tiivistysalgoritmi, sisältyy java.security pakettiin.

java.sql

JDBC- sovellusliittymän (jota käytetään SQL- tietokantoihin pääsy ) toteutus on ryhmitelty java.sql pakettiin.

javax.rmi

javax.rmi Paketti tarjoaa tuen etäviestintälinkki sovellusten välillä, käyttäen RMI yli IIOP protokollaa. Tämä protokolla yhdistää RMI- ja CORBA-ominaisuudet.

Java SE Core Technologies - CORBA / RMI-IIOP

javax.swing

Swing on kokoelma rutiineja, jotka perustuvat java.awt tarjoamaan alustasta riippumaton widget-työkalupakki . javax.swing käyttää 2D-piirustusrutiinia käyttöliittymäkomponenttien hahmottamiseen sen sijaan, että luotettaisiin taustalla olevaan natiivin käyttöjärjestelmän GUI-tukeen.

Tämä paketti sisältää eniten luokkia (kaikkiaan 133) JDK 6: ssa. Tämä paketti java.awt sisältää myös eniten JDK 6: n enumeja (kaikkiaan 7). Se tukee liitettäviä ulkoasuja (PLAF) niin, että widgetit GUI: ssa voi jäljitellä taustalla olevan natiivijärjestelmän käyttäjiä. Suunnittelumallit läpäisevät järjestelmän, varsinkin malli – näkymä – ohjain -mallin muunnoksen , joka löysää toiminnon ja ulkonäön välistä kytkentää . Yksi epäjohdonmukaisuus on, että (alkaen J2SE 1.3) fontit piirtää taustalla oleva natiivijärjestelmä, ei Java, mikä rajoittaa tekstin siirrettävyyttä. Kiertotavat, kuten bittikarttafonttien käyttö, ovat olemassa. Yleensä käytetään "asetteluja", ja ne pitävät elementit esteettisesti yhtenäisessä käyttöliittymässä eri alustoilla.

javax.swing.text.html.parser

javax.swing.text.html.parser Paketti sisältää vikasietoisesta HTML jäsennin jota käytetään kirjoitus eri selaimet ja web robotteja.

javax.xml.bind.annotation

javax.xml.bind.annotation Paketti sisältää eniten merkintätyyppejä (yhteensä 30) JDK 6. Siinä määritellään merkinnät muokkaamalla Java-ohjelma elementtejä XML kartoitus.

OMG-paketit

org.omg.KORBA

org.omg.CORBA Paketti tarjoaa tuen etäviestintälinkki sovellusten välillä tapahtuu sisäisen yleisen ORB Protocol ja tukee muita ominaisuuksia CORBA . Sama kuin RMI ja RMI-IIOP , tämä paketti on tarkoitettu muiden virtuaalikoneiden objektien etämenetelmien kutsumiseen (yleensä verkon kautta).

Tämä paketti sisältää eniten Exception luokkia (kaikkiaan 45) JDK 6: ssa. Kaikista viestintämahdollisuuksista CORBA on siirrettävissä eri kielten välillä; tämän myötä tulee kuitenkin monimutkaisempi.

Nämä paketit poistettiin käytöstä Java 9: ​​ssä ja poistettiin Java 11: stä.

org.omg.PortableInterceptor

org.omg.PortableInterceptor Paketti sisältää eniten rajapinnat (39 kappaletta) JDK 6. Se tarjoaa mekanismin, jolla rekisteröidä ORB koukkuja, joiden kautta ORB palvelut siepata normaalin virtauksen suorittamisen ORB.

Turvallisuus

Useita kriittisiä tietoturva-aukkoja on raportoitu. Oraclen tietoturvavaroitukset ilmoittavat kriittisistä tietoturvaan liittyvistä korjaustiedostoista Java SE: lle.

Viitteet

Ulkoiset linkit