A következő címkéjű bejegyzések mutatása: java. Összes bejegyzés megjelenítése
A következő címkéjű bejegyzések mutatása: java. Összes bejegyzés megjelenítése

2008. május 27., kedd

rémi forax a parametrizált típusokról

ő itt remi foraxRémi Forax blogjában arról ír, hogy mi a probléma a típusparaméteres tömbökkel, és miért nem megengedett a definíciójuk. De nem csak a problémát veti fel: leírja, hogy a későbbiekben a nyelvi specifikációt hohyan lehetne átírni, hogy minden jó legyen.
Érdekes és rövid post.

2008. május 21., szerda

újgenerációs java plugin technology

Pár napja az RSS olvasóm a next-generation java plugin technology bejegyzésektől volt hangos, utánenéztem hát, hogy mi is ez pontosan. Természetesen a JavaSE 6 legújabb update-jéről volt szó, vagyis arról, hogy milyen új funkciókat hozott magával. A release notes elolvasása után ezeket találtam a legfontosabbnak (illetve a leglátványosabbnak):

  • Az appletek az új pluginnel kiemelhetők a browser ablakból, azaz egy kólön ablakot kaphatnak. Túlzottan nem mennék bele, azt ki lehet próbálni. Akit érdekel, hogy mi történik a sessionnel, az olvashat róla a java.net fórumon.
  • Az appletek betöltése alatt látható kép lecserélhető (bár kinek ne tetszene a narancssárga kávé...). Ehhez az applet elem új paraméterét (centerimage) használhatjuk (ugyanúgy, mint a többbit: egy param elemben).
  • JNLP támogatás. Az appleteket közvetlenül JNLP állományokból futtathatjuk - azaz az appletekből úgymond Java webstart alkalmazás lesz.
Az új lehetőségeket kitűnően bemutatják a NASA World Wind Java oldalon található appletek.

2008. május 15., csütörtök

mi várható a Java7-ben?

A Java rajongók népes tábora izgatottan várja, milyen újdonságokat hoz majd a Java7. Nézzük meg, mikről hallottunk eddig.

  1. Mapekre alkalmazható for ciklus. A Java5 újdonsága volt a foreach szerű for ciklus. Ezzel egyszerűen járhatjuk be a kollekciókat, pontosabban az Iterable interfészt implementáló osztályokat. Sajnos a Map-re, mit speciális kollekcióra nem igazán lehet alkalmazni ezt a konstrukciót: vagy a kulcsok kollekcióját, vagy az elemekét járjuk be. A Java7-ben valószínűleg a for ciklust már Mapekre is használhatjuk, hasonlóan a PHP-hoz, valahogy így:

    for(String key, String elem: map){
    ...
    }

    Ezzel a ciklussal egyidejűleg járhatnánk be a kulcsokat és az elemeket, leegyszerűsítve a Map-ek bejárását.
  2. Típusfelismerő for ciklus. Ez az újítás szintén a foreach ciklushoz kapcsolódik. Egy kollekció bejárásához jelenleg szükségünk van egy változóra, amelyben az aktuális elemet tároljuk. Azaz mindig meg kell adnunk a változó nevét és típusát. Ez az újítás egy kicsivel leegyszerűsítené a dolgunk azzal, hogy a típusmegadást elhagynánk. Ezt a fordító találná ki helyettünk a kollekció objektum típusából.
  3. Szupercsomag. A szupercsomag egy teljesen új nyelvi konstrukció lenne. Lányege, hogy a csomagokat egy logikai egységbe szervezhetnénk, amelyen belül módosíthatnánk az egyes osztályok láthatóságát. Például megmondhatnánk, hogy egy adott csomag osztályait csak a szupercsomag többi csomagjának soztályai láthatják. Ezzel új lehetőségeket kapnánk az adatbezárás tökéletesebb kezelésére.
  4. A C# properyjeihez hasonló konstrukció. Ezzel sokkal természetesebben érhetnénk el az egyes adattagokat (get és set metódusok hívogatása helyett), de az osztályok belső állapotához sem kellene nagyobb hozzáférést biztosítanunk. x.getField() helyett x.field-et írhatnánk. Aki ismeri a C#-ot (vagy a groovyt), az sejtheti, mire számíthatunk.
  5. A dátum API cseréje. Erről korábban már írtam egy postot.
  6. A konkurencia kezelése a nyelv részévé válhat, azaz kulcsszavakat vezethetnek be a többszálúság kezelésére.
A fentieken kívül még rengeteg dologról hallani, viszont ezek még nem mind kiforrottak, csak egyszerű lehetőségek. A szóba kerülő újításokról bővebben ezen a linken lehet tájékozódni. Én a fentieket találtam a legérdekesebbnek.


2008. május 10., szombat

open source a JavaOne-on

Egy nappal az open source hibát boncsolgató bejegyzésem után Simon Phipps and Patrick Finch JavaOne előadásának összefglalója megjelent a Sun blogoldalán. Írnak benne az open source történetéről, természetesen a sunos ősőkre nagyon büszkék. Ezután áttérnek a jelenre, de a jövő a legérdekesebb. Megemlítik ugyanis, hogy a Gartner előrejelzése szerint 2010-re a szoftverek 90%-a open source alapokon fog állni (azaz pl. open source komponensekből építik fel). Remélhetőleg a fennmaradó 2 év alatt javul a nyíltforrású színvonal. A cikk végén beszélnek a jövőbeli khívásokról (licenszing stb.)
Érdekes cikk, hiteles szerzők. Érdemes elolvasni.

2008. április 29., kedd

cyvis - szoftver komplexitás elemző

A cyvis egy Java alapú open source szoftver komplexitás elemző. A hivatalos oldalon ezt írják róla:
"CyVis collects data from java class or jar files. Once the raw data is collected, certain metrics like number of lines, statements, methods, classes and packages are obtained. Other metrics like cyclomatic complexity etc. are also be deducted."
Azaz: az alkalmazás különböző szoftver metrikákat számít ki, például: ciklomatikus komplexitás (ez aegyjából azt méri, hogy mennyire összetett a kód a vezérlési szerkezetek mélységének, egymásban ágyazásának stb. szempontjából). Ezekből aztán lehet következtetni a szoftver minőségére. A fontosabb metrikákat a kód alaptulajdonságaiból számítja ki (sorok száma, metódusok száma, metódushívások száma) a fontosabb metrikákat.

A cyvis.jar-t futtathatjuk önállóan, és kódból is. Ha önállóan futtatjuk, akkor létre kel hoznunk egy új projektet, majd ahhoz hozáadni jar, illetve class fájlokat. A cyvis ezután elvégzi az elemzért, amit grafikusan megjelenít. Az eredményben egyszerűen böngészhetünk, és a színkódok egyérteművé teszik, hol kell javítani a kódon. Pontosabban nem kell, de tanácsos, mivel a rossz metrika értékek valamilyen hibát jeleznek.
Összességében a programot megéri használni, mivel egyszerű, és érdekes tancsokat ad. Én többször is felhasználtam, és sokkal egyszerűbb. átláthatóbb és könnyebben változtatható kódot kaptam - viszonylag nagy projektben. Csak ajánlani tudom. Nálam ötös.