OZ 2011/1-2

34 ORGANIZACIJA ZNANJA 2011, LETN. 16, ZV. 1 – 2 2011. Po tem datumu pa naj bi ponovno prešli na 18- mesečni ciklus izdajanja novih verzij. Ključni projekti pri razvoju nove verzije JDK so: • Projekt Coin – manjše dopolnitve jezika java, katerih namen je povečati produktivnost razvijalcev. • Projekt Lambda – izrazi Lambda ("closures") so posebni bloki kode, ki jih vključimo v običajno javansko kodo, kar poznamo že v drugih programskih jezikih (npr. Smalltalk). • Projekt Jigsaw – modularizacija okolja Java (moduli bodo zamenjali datoteke JAR, pot do razredov (angl. classpath ) ne bo več potrebna). • Večjedrni procesorji, večji spomin in hitrejše omrežje – gre za izboljšave večnitnega delovanja (npr. Fork/Join Framework), izboljšave v sproščanju pomnilnika (angl. Garbage Collection ) v primeru zelo velikih kopic (angl. heap ), izboljšani bodo omrežni vmesniki (Native Infiniband, 10 G Ethernet, SDP & SCTP), na voljo bodo tudi novi vhodni in izhodni (I/O) programski vmesniki. • Javanski navidezni stroji za različne programske jezike – gre za podporo novim dinamičnim jezikom, povečanje zmogljivosti obstoječih dinamičnih jezikov, boljši JavaScript Engine itd. PROJEKT COIN V projektu pod kodnim imenom Coin je potekal razvoj nove sintakse java. Z nekaterimi majhnimi spremembami so poskušali nadgraditi ta programski jezik, tako da bi bil razvoj aplikacij enostavnejši, koda pa bi postala bolj pregledna oz. čitljiva. S temi spremembami naj bi nova sintaksa jave zadovoljila vse razvojne zahteve do leta 2030. Vnos numeri~nih vrednosti Vnos števil je postal veliko bolj pregleden: • vrednost celih števil 1346704470 lahko vpišemo kot 1_346_704_470 • heksadecimalno vrednost 0x50451456 lahko vpišemo kot 0x5045_1456 ali 0x50_45_14_56 • binarno vrednost 0b010100000100010100010100010 10110 vpišemo kot 0b0101_0000_0100_0101_0001_ 0100_0101_0110 Stavek "switch" V stavku za preklop lahko sedaj uporabljamo tudi nize (angl. string ): int monthNameToDays(String s, int year){ switch(s){ case"April":case"June":case "September":case"November": return 30; case"January":case"March": case"May":case"July": case"August":case"December": return 31; case"February": ... default ... } } Inicializacija kolekcij V novi sintaksi je inicializacija kolekcij preglednejša. Poenostavitev List<List<String>>monthsInTwoLanguages = Arrays.asList(Arrays.asList("January", "February"), Arrays.asList("Gennaio", "Febbraio")); nadomestimo z List<List<String>>monthsInTwoLanguages= {{"January", "February"}, {"Gennaio", "Febbraio"}}; V trenutni veziji Jave je inicializacija generičnih kolekcij preveč komplicirana. Poenostavitev List<List<List<String>>> list = new ArrayList<List<List<String>>>(); nadomestimo z List<List<List<String>>> list = new ArrayList<>(); Stavek "multi-catch" Pri lovljenju napak moramo za vsak tip napake vpisati svoj blok kode: POROČILO

RkJQdWJsaXNoZXIy MTAxMzI5