(toiminnot)

hwechtla-tl: The daily Java WTF: viime muutokset

!!! ke 1.3.2017

Javassahan ei ole mitään tapaa eikä käytäntöä sille, miten valmis, käännetty softa (joka yleensä levitetään .jar- tai .war-tiedostona) löytää käyttämänsä kirjastot. Siksi ne kirjastot yleensä levitetään .jar-tiedoston mukana. Tähän on yleistynyt käytäntö, että build-työkalut osaavat paketoida kirjasto-.jar:t softa-.jar:n sisään, niinsanotuksi "überjar":ksi.

Yhdistetäänpä tämä siihen, että on tyypillistä käyttää joka softaan kaiken maailman frameworkeja ja kirjastoja, jotka puolestaan vetävät lisää kirjastoja sisään. Seuraus on, että suhteellisen yksinkertainen API-toteutus, joka käyttää Spring Bootia, Google Guavaa, Lombokia ja JAXBia, vie käännettynä .jarrina levyltä 38 megatavua. Mutta ei se ole varsinainen ongelma, vaan se, että sitten javalla ajettuna tämä .jar vie muistia 3 '''gigatavua''' josta muistissa 300 megatavua. Niin että jos luulette, ettei modernia pöytäkonetta saa polvilleen muutamalla mikroservicellä, niin kyllä saa. Kunhan valitsee teknologiaksi Javan.

!!! ma 27.2.2017

[...]


(viimeksi muutettu 01.03.2017 15:34)