Java pöpö

Tuo tuorein Java-pöpö on sen verran ikävä että ei ole huono idea kääntää sitä pois päältä selaimistaan ainakin kunnes Oraakkeli julkaisee päivitystä. Jos haluaa näin tehdä, tuolta löytyy selainkohtaista ohjeistusta:

https://wiki.metropolia.fi/pages/viewpage.action?pageId=57181146#.UD-40tbN8mY

Huom! Monet softat käyttävät appletteja edelleen eli jotkut ohjelmistot, verkkopankit sun muut saattavat lakata toimimasta jos Java ei ole päällä. Suositus on siinä tapauksessa jättää yksi java-selain asiointiin ja kääntää muista pois päältä.

Pöpöstä lisätietoja:

http://www.cert.fi/haavoittuvuudet/2012/haavoittuvuus-2012-135.html

Ja edit: päivitys julkaistu joka poistaa tämän haavoittuvuuden. Tarkista siis jos koneessasi on Java versio 7 että olet päivittänyt sen versioon 7u7 eli update 7. Voit latailla esim. http://www.oracle.com/technetwork/java/javase/downloads/index.html tai http://www.java.com/ – ja jälkimmäisessä pystyt tarkistamaan mikä versio on nykyisin asennettuna ja käytössä.

 

Oman kokemuksen mukaan selvintä jos voit poistaa vanhat javat ja javafx:t pois alta ennen asennusta.

Mainokset

Nexus 7 tabletin kameratoiminto

Ostettuani Googlen Nexus 7 tabletin hämmennystä aiheutti vähän se, että siitä on poistettu kokonaan Android camera sovellus, jota muuten on vielä 4.1 versiossa parannettukin. Toki tabletin ainoa kamera on halpis 1.2 mpix malli mutta kuitenkin sovellusta kaipaa.

Törmäsin artikkeliin jossa kehotettiin lataamaan Google Playstä Camera Launcher for Nexus 7 sovellus, jolla sen saa taas aktivoitua. Toki voi myös asennella Instagrammin tai vastaavan mutta tällä pääsee siis käsiksi ihan käyttöjärjestelmän kamerasoftaan.

Linkki softaan:

https://play.google.com/store/apps/details?id=com.modaco.cameralauncher&feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5tb2RhY28uY2FtZXJhbGF1bmNoZXIiXQ..

Linkki artikkeliin:

http://howto.cnet.com/8301-11310_39-57474820-285/how-to-access-the-camera-app-on-your-nexus-7/

Myytinmurskausta: Out of Permgen Space

Törmäsin hienoon artikkeliin koskien Out of Permgen Space ongelmaa jota ainakin Tomcat ja JBOSS palvelinten ylläpitäjät ovat varmasti aika ajoin nähneet 😉

Tieturin Tehokas Java kurssilla yksi keskeisimmistä opeistahan on käydä läpi Java muistimalli, eri alueet, niiden toiminta, eri vaihtoehdot roskankeruualgoritmeille jne. Nyt PermGen Space ei normaalisti kuulukaan roskankeruun piiriin, kuten jo nimikin kertoo. Sinne lataillaan pysyvämmät objektit kuten luokkien määritykset. Servereillä kun tekee pari kertaa hot deploy toiminnon, niin useimmiten ladataan vain lisää tavaraa Permgen alueelle jolloin se ennen pitkää täyttyy. Tässä kohdin noviisi palvelimen hallinnoija pukkaa lisää permgen muistia, joka auttaa hetken..

-XX:MaxPermSize=XXXM

…mutta ei poista ongelmaa. Ennen pitkää muisti loppuu taas, kun tarpeeksi monta kertaa tehdään hot deploy. Tähän jotkut vastaavat buuttaamalla koko palvelimen aika ajoin. Mutta muitakin keinoja löytyy:

-XX:+CMSClassUnloadingEnabled
-XX:+CMSPermGenSweepingEnabled

Näistä on kirjoiteltu vähän negatiiviseen sävyyn, koska niiden dokumentaatio on niukkaa. Mutta kokeilemisen arvoista. Nämä yrittävät sallia myös permgen alueen roskankeruun jolloin virtuaalikone voi vapauttaa muistia. jos homma toimii.

PermGen Space on Hotspot virtuaalikoneen ominaisuus, ja siis sen ongelma. JRockitissa ei ole PermGen aluetta, vaan se pistää objektit Heap alueelle. Mikä ei sinällään auta jos joku vuotaa muistia ja luo uusia objekteja alati. Mutta hyvä huomata että eri virtuaalikoneet toimivat eri tavoin.

Jep, eli täydellistä ratkaisua ei ole, mutta on kuitenkin hyvä tarkistaa johtuuko virhe siitä että sovellus todella vaatii enemmän permgen muistialuetta jolloin paras ratkaisu on sitä antaa – vai johtuvatko ongelmat siitä että sovellus ’vuotaa’ permgen muistia eli työntää alueelle lisää ja lisää ja lisää tavaraa, tai uudestaan ja uudestaan ja uudestaan kuten jotkut sovelluspalvelimet tekevät. Huhujen mukaan uusimmassa Tomcat versiossa on yritetty korjailla näitä pulmia, mutta omaa kokemusta asiasta ei ole. Jokainen serveri ja sen versio tuntuu olevan uniikki tapaus jossa on omat uniikit ongelmansa.

Mutta artikkelin juusto siis tässä: Java sovellukset eivät aina hyödy siitä että muistia lisätään, vaikka ne kaatuisivat muistin loppumiseen. Ratkaisu saattaa olla roskankeruun tuunaus, tai ongelman lähteen selvittäminen esim. jollain profiler työkalulla. Etenkin heap muistia lisättäessä voit lykätä roskankeruuta hetken mutta mitäpä sitten kun 64 gigan heap roskankerätään ja defragmentoidaan kerralla? No, siinä kannattaa käyttää G1 algoritmia 😉

 

Ja lähdeartikkeli joka inspiroi pohdiskelun:

http://java.dzone.com/articles/busting-permgen-myths

Lomaltapaluupäivitys – Jigsaw ulos, Jelly Bean sisään!

No niin, paluu takaisin sorvin ääreen. Toisin kuin alunperin visioin, loma sujui varsin rentouttavasti ilman ajatustakaan työasioille tai juuri millekään muullekaan, ja nyt on aika palata täynnä virtaa. Jonkun verran tapahtui kiinnostavia kesän aikanakin, ja pari laitetta tuli osteltua.

Mielenkiintoinen ja murheellinen uutinen on että suunniteltu Java 8 ominaisuus eli JigSaw ei ehdi aikataulun mukaan ensi vuoden Java 8 releaseen. Näin ollen tulevan Java version pääpiirteeksi jää sinällään huisin mielenkiintoinen Project Lambda, johon saa nyt keskittyä rauhassa. Toki uudessa versiossa on kosolti muutakin päivitettyä, niistä lisää lähempänä. Tämä tarkoittaa että saamme edelleen odotella standardointia Java versiointiin ja riippuvuuksien hallintaan. Toisaalta en ole ollenkaan pahoillani nähdessäni Mavenin voittokulun jatkuvan. Olen kuullut monen inhoavan Maveniä – itselleni se on jotain mitä ilman en tulisi toimeen. Työstäköön vain JigSawta lisää, sillä on isot saappaat täytettävänään kun se on valmis..

Jopa hieman yllättäen Android 4.1 Jelly Bean päivitys tupsahti valmiiksi – ja laitteisiin. Se tulee vakiovarusteena mm. Nexus 7 tableteissa, mutta itselleni oli yllättävää havaita sen päivittyvän samantien myös Nexus S puhelimeen tuosta vain. Jotenkin huvittava näky sinällään. Jelly Bean ei ole dramaattinen päivitys mutta hienosäätöä on taas paljonkin. Näistäkin varmasti syksyn mittaan lisää.

Kävin myös shoppailemassa. Jostain syystä oli pakko saada Nexus 7 tabletti, joka julkaistiin Google IO:ssa tänä kesänä. Laitehan ei ole mikään ihmeellinen, päinvastoin kyseessä on 200$ halpismalli, josta on luonnollisesti karsittu piirteitä. Siinä ei esim. ole hyvää kameraa, ei bluetooth yhteyksiä, mutta on siinä jotain hyvääkin. Hinta, koko, se että se hoitaa homman, ja se että siinä on uusin Jelly Bean päivitys. Tableteissa on jo hetken vallinnut tietynasteinen hintasota, joten markkinoille tekee varmasti hyvää että saadaan 500$ tablettien rinnalle 200$ tabletteja. Ja tällä laitteella on testatusti mukavaa lukea uutisia tai fiktiota vaikkapa uimarannalla 😉

No niin, sitten kesäfestarit, yllättävä rankkasade, ja huolimaton lataaminen aiheutti kivan oikosulun Nexus Galaxyssäni, joten hampaiden kiristelyn jälkeen oli aika marssia kauppaan ja napata kyytiin Samsung Galaxy S3 puhelin. Lyhyen käytön jälkeen on kiitettävää ja moitittavaa. Kuten monet ovat todenneet, rakenne on halvan oloinen, kiiltävää heppoista muovia. Yllätyin myös itse miten paljon samsung käyttis eroaa puhtaasta android versiosta – huonolla tavalla. Mitään ei meinaa löytyä ja monet osat, esim. musiikkisoitin, ovat sekavampia ja huonompia. Toisaalta kamera on aivan mahtava – kesän aikana järjestelmäkamera sai olla entistä enemmän laukussa kun android puhelin hoiti hommat. Ja neliytiminen prossu vääntää niin että viiveitä en juuri missään ole havainnut. Ja akkuakin on 2200 mAh, joka tuntuu kestävän vähän paremmin kuin aiemmat 1500 tai 1600 mAh akuilla varustetut kyykkysemmät laitteet.

Tuosta kuvasta muuten huomaa miten huono kamera Nexus 7:ssä on 😉

Vielä bonus, tätä en ole ostanut mutta ostoslistalla se on. Nexus Q Orb on laite josta on hankalaa päästä selvyyteen mitä se oikein on, mutta kyseessä on periaatteessa androidia ajava verkotuskelpoinen viihde-yksikkö olohuoneeseen, ja mielenkiintoista on että niitä voi kytkeä yhteen erilaisiksi kaiutinjärjestelmiksi, tai streamata videota tai audiota, ja käskeä muilla android laitteilla, esim. kännykät ja tabletit. Tahtoo jouluksi tällaisen! Tai kolme..