OZ 2012/2

M T 95 ORGANIZACIJA ZNANJA 2012, LETN. 17, ZV. 2 for (WatchEvent<?> event: key.pollEvents()) { if (event.kind() == ENTRY_CREATE) { Path name = (Path)event.context(); System.out.format("%s created%n", name); } } key.reset(); } Sedaj je omogočen razvoj in uporaba drugih izvedb datotečnega sistema. Primer je "ZIP Provider", vključen v JDK 7, ki omogoča, da vidimo vsebino datotek ZIP in JAR enako kot datotečni sistem. Path zipfile = Paths.get("foo.zip"); try (FileSystem zipfs = FileSystems. newFileSystem(zipfile, null)) { Path top = zipfs.getPath("/"); try(DirectoryStream stream = Files. newDirectoryStream(top)) { for(Path entry : stream) { System.out.println(entry.getFileName()); } } } FileStore Služi kot shramba v ozadju. InvokeDynamic (JSR 292) InvokeDynamic se nanaša bolj na javansko okolje kakor na Javo. Optimizacija klicanja metod vpliva na izboljšanje zmogljivosti v jJRubyju. InvokeDynamic prinaša torej dvoje: InvokeDynamic se je zgodilo, da je JVM prvič spremenjen za klicanje drugih jezikov v javanskem okolju in ne za Javo. Projekt Nashorn npr. je nova implementacija javascripta znotraj JVM, ki vključuje InvokeDynamic. Fork/Join Framework Recept, kako uporabiti ogrodje Fork/Join, ki je nastalo kot posledica večjedrnih procesorjev za reševanje kompleksnih problemov, je delitev kompleksnega procesa na polovice. Te polovice se delijo v vzporedne procese, dokler problem ni tako majhen, da se procesi izvajajo zaporedno. Pri tem je pomembno, da so vsa jedra procesorja zaposlena, da je čim manj sinhronizacije in da kapacitete naraščajo linearno s številom jeder procesorja. Vsaka veja (angl. fork ) vrača delni rezultat do stičišča (angl. join point ) in ti delni rezultati se po sinhronizaciji združijo v končni rezultat. Ogrodje pri tem samo poskrbi za paralelizem in sinhronizacijo. Projekt Lambda (JSR 335) Smisel izrazov lambda se dá najbolje ponazoriti z zamenjavo vektorja in zanke skozi ves seznam s podatkovno strukturo. Iskanja po podatkovni strukturi se s kopico dodatnih razredov da zapisati kot: POROČILO

RkJQdWJsaXNoZXIy MTAxMzI5