Java
Ominaisuudet > Javan tarjoamia kirjastoja > Esimerkkikirjastoja

Javan standardikirjasto (eng. Java Standard Library) - Javan standardikirjasto on alun perin kehitetty tukemaan Javan sovelluskehitystä. Kirjasto on Oraclen ja sen yhteistyökumppaneiden luoma. Kirjasto sisältää monenlaisia ominaisuuksia, esimerkiksi:
IO/NIO - ( Package java.io/java.nio ) Kirjasto määrittää ne puskurit, jotka sisältävät dataa sekä antaa yleiskatsauksen muista NIO paketeista.
Verkostoituminen - ( Package java.net)
Heijastuminen
Samanaikaisuus
Geneerisyys
Skriptaus/kääntäjä
Toiminnallinen ohjelmointi
Java-kokoelmakehys – Sisältää erilaisia rajapintoja, jotka määrittelevät erilaisia kokoelmia ja luokkia, jotka toteuttavat niitä. Java-kokoelmakehys toimii samalla tavalla kuin kirjastot.
Turvallisuus
Kirjastot, joiden avulla käyttäjä pystyy kommunikoimaan ulkoisten järjestelmien kanssa
java.util - Tarjoaa esimerkiksi Arraylist:n jonka avulla voidaan lisätä esimerkiksi string ja int muotoista tekstiä helposti listaan .add-komennon avulla, Scanner:n jonka avulla voidaan esimerkiksi kysyä ajonaikana käytettäviä tietoja käyttäjältä, Date:n jonka avulla voidaan helposti käsitellä aikaa ja päivämääriä, sekä LinkedList:n joka tarjoaa mahdollisuuden luoda linkitetyn listan sekä GregorianCalendar:n eli kalenterin.
java.math - Tarjoaa paljon erilaisia laskemisessa tarvittavia funktioita, kuten Math.abs(), jolla saadaan halutun numeron itseisarvo, Math.round(), jolla saadaan pyöritettyä luku, sekä Math.log(), jolla voidaan laskea halutun luvun luonnollinen logaritmi.
java.time - Tarjoaa esimerkiksi hyödyllisen luokan LocalDate, jolla saadaan käyttöön paikallinen päivämäärä sekä LocalTime, jolla saadaan koodin käyttöön paikallinen aika. Mikäli haluaa molemmat, kannattaa käyttää java.time:n tarjoamaa LocalDateTime:ä, jolla saadaan molemmat käyttöön. Kaikki mainituista sisältää myös mahdolliset talvi- ja kesäajat.
java.text - Tarjoaa muun muassa DecimalFormat:n, jolla voidaan määrittää näytetäänkö käyttäjälle desimaalierottimena oletusarvona olevaa pistettä vai pilkkua sekä SimpleDateFormat:n jonka avulla voidaan määrittää, minkälaisessa muodossa käyttäjälle näytettävät päivämäärät näytetään.
java.lang - sisältää perusluokkia ja rajapintoja, jotka ovat olennaisia ohjelmointikielen suunnittelussa.
java.applet - Sisältää luokat, joita tarvitaan ohjelman luomiseen sekä luokat, joita ohjelma käyttää kommunikoidakseen kontekstinsa kanssa.
java.awt.font - Sisältää luokkia ja rajapintoja, jotka tarjoavat erilaisia fontteja.
java.awt - Sisältää luokkia käyttöliittymän luomiseen sekä grafiikan ja kuvien tekemiseen.
java.awt.datatransfer - Sisältää luokkia ja rajapintoja, jotka mahdollistavat tietojen siirtämisen sovellusten sisällä ja niiden välillä.
java.awt.geom - Sisältää luokkia kaksiulotteisten geometristen objektien toimintojen määrittämiseen ja suorittamiseen.
java.awt.image - Sisältää luokkia kuvien luomiseen ja muokkaamiseen.
java.time.format - Sisältää luokkia päivämäärien ja aikojen jäsentämiseen ja tulostamiseen.
java.util.zip - Sisältää luokkia ZIP- ja GZIP-tiedostomuotojen lukemiseen ja kirjoittamiseen.
java.swing text - Sisältää luokkia ja rajapintoja, jotka käsittelevät muokattavia ja ei-muokattavia tekstikompontentteja.
Integraatiokirjastot, jotka mahdollistavat sovelluksen kehittäjän kommunikoimaan ulkoisten järjestelmien kanssa:
Java Database Connectivity (JDBC) API, jonka avulla kehittäjä saa yhteyden tietokantntaa
Java Naming and Directory Interface (JNDI) API, jolla kehittäjä voi hakea sekä etsiä tietoa ja resursseja olioina nimen avulla
RMI ja CORBA hajautettuun sovelluskehitykseen
JMX sovelluksien hallitsemiseen ja valvontaan
Käyttöliittymäkirjastot:
Abstract Window Toolkit (AWT), joka tarjoaa GUI komponentteja. Kirjasto tarjoaa myös työkaluja asetella kyseisiä komponentteja sekä käsitellä kyseisiin komponentteihin liittyviä tapahtumia
Swing kirjastot, jotka ovat rakennettu AWT:n päälle, mutta tarjoavat ei-natiiveja toteutuksia AWT pienoisohjelmasta
Ohjelmointirajapintoja äänen tallentamiseen, prosessointiin sekä toistoon
JavaFX, joka tarjoaa alustan työpöytäsovellusten sekä monipuolisten verkkosovellusten luomiseen
Java Web Start, joka mahdollistaa Java ohjelmien jakamisen tehokkaasti loppukäyttäjille Internetissä
Kirjastoja ohjelmien lisensointiin ja dokumentoimiseen
Lisäosia, jotka mahdollistavat sovelmien ajamisen selaimessa
Ohjelmistoalusta riippuvainen toteutus Javan virtuaalikoneesta, jonka avulla Java-kirjastojen ja kolmannen osapuolen sovellusten tavukoodit suoritetaan
Kirjastoja data-analytiikkaan, koneoppimiseen ja tekoälyyn:
Deeplearnin4j – DL4J kirjasto koneoppimiseen ja tekoälyyn, jolla on laaja tuki syväoppimisalgoritmeille.
Java Statistical Analysis Tool – JSAT kirjasto tilastolliseen laskentaan ja koneoppimiseen
Java Machine Learning Library – Java-ML kirjasto koneoppimiseen ja tiedonlouhintaan. Kirjaston tarjoamia algoritmeja ovat mm. datan klusterointi, klassifiointi sekä datan suodatus algoritmit.