Dodaj kartkę Dodaj bana
Powód wlepienia kartki
Wybierz wątek docelowy z listy lub wpisz jego ID
  • Ja nie istnieje (FURBY)

    No wlasnie czy Java umiera :/

    To ze w 1.5 zaimplementowali Generyki na poziomie jezyka a nie VM to troche krok samobójczy ...taka moja opinia.. no i wogóle cisza wśród tym hermetycznym srodowisku.... chociaz JAVowcy.. zawsze byli skryci i nie uznający innych :D
  • bartkiller

    na urządzenia przenośne, głównie telefony to chyba monopol jeszcze ma
  • Ja nie istnieje (FURBY)

    no jest .NET mobile i coraz wiecej tych Windowsów CE widze :/
  • Maciek Makowski

    >To ze w 1.5 zaimplementowali Generyki na poziomie jezyka a
    >nie VM to troche krok samobójczy

    Dlaczego?
  • george

    takie glupie slowo sie cisnie LOL. samobojczy? uzywales genericsow? popisz troche z genericsami a potem znow przesiadz sie na 1.4 to zobaczysz jakie jeki bedziesz generowal.
  • Ja nie istnieje (FURBY)

    A umiesz czytac ?

    Implementacja na poziomie VM by dała zysk prędkosci i wydajnosci a tak to dupa.
  • Ja nie istnieje (FURBY)

    >george napisał
    >takie glupie slowo sie cisnie LOL. samobojczy? uzywales
    >genericsow? popisz troche z genericsami a potem znow
    >przesiadz sie na 1.4 to zobaczysz jakie jeki bedziesz
    >generowal.

    Pokaz gdzie napisalem ze Genericsy są Be albo zamilcz na wieki.
  • george

    >Ja nie istnieje (FURBY) napisał
    >A umiesz czytac ?
    >
    >Implementacja na poziomie VM by dała zysk prędkosci i
    >wydajnosci a tak to dupa.

    Furby czy ty normalnie nei umemisz sie wypowiadac? czy poprostu lubisz pokazywac swoja niby wyzszosc?
    "umiesz czytac"?

    to powiem: a umiesz myslec?

    co to zanaczy implementacja na poziomie vm a co na poziomie jezyka?? bo zdaje sie operujesz terminami ktorych nie rozumiesz.
  • Ja nie istnieje (FURBY)

    T_T

    Cięzko sie z tobą rozmawia, poprostu pytam gdzie napisalem ze są nie potrzebne.
  • Anonim

    Zaciekawiłeś mnie z tymi typami generycznymi, możesz mi dać jakieś linki gdzie jest jest opisane co w Javie jest na poziomie języka a co na poziomie VM, Chciałbym dowiedzieć się jakie są plusy implementacji na poziomie VM, i jak to dokładnie wygląda. Nie wiem czy dobrze myślę, ale tylko typy prymitywne są na poziomie VM tak ?
  • Maciek Makowski

    Jeśli przez "prymitywne" masz na myśli niesparametryzowane, to tak.

    W javie typy parametryzowane zaimplementowane są przy pomocy "wymazywania" (erasure), czyli kompilator najpierw wykonuje kontrolę typów używając wszystkich dostępnych informacji, a następnie usuwa parametryzację, efektywnie konwertując kod do postaci rozumianej przez Javę starszą niż 1.5. Jest o tym w tutorialu: http://java.sun.com/docs/books/tuto... można też poczytać tu: http://today.java.net/pub/a/today/2...

    Jeśli chodzi o zalety i wady tego podejścia, to nie znalazłem w sieci dobrego podsumowania. Główną zaletą jest kompatybilność tzn. kod skompilowany pod 1.5 może bez problemów współpracować z kodem starszym i vice versa. Wśród wad wymieniane są niekonsekwencje w systemie typów (np. http://www.safalra.com/programming/... ) -- z tym że to nic nowego, już we wcześniejszych wersjach Javy występował problem z dopuszczeniem kowariantnej zmiany typu argumentu ( http://www.pmg.csail.mit.edu/papers... ). Furby twierdzi, że wymazywania ma negatywny wpływ na wydajność. O tym nie słyszałem, chętnie bym się dowiedział, dlaczego.

    Wracając do głównego tematu, nawet jeśli sposób implementacji parametryzacji zmniejsza wydajność, na pewno nie jest to żadne "samobójstwo". W olbrzymiej większości zastosowań, w których używa się Javy, zmniejszenie wydajności o kilka procent nie ma większego znaczenia. Dużo bardziej istotna jest np. wspomniana wcześniej kompatybilność, tak że z tego punktu widzenia wymazywanie było dobrym pomysłem.

  • Anonim

    Dziękuję za wyczerpujące informacje, wczytam się dzisiaj w linki które podałeś :)
  • bartkiller

    O_o george ogarnij się :|
  • Ja nie istnieje (FURBY)

    Aaa najgorsze jest to ze o tym czytalem w jakims techarcie ktorego niemoge sobie teraz przypomniec gdzie go wynalazlem :/
  • Łukasz Osiennik

    Długa i wyczerpująca prezentacja na JavaOne 2007

    http://sessions.sun.com/learning/ja...
  • george

    >bartkiller napisał
    >O_o george ogarnij się :|

    A Tobie o co chodzi? ogarnac to mozesz pokoj... konkrety.
    z furbym sie kapke nei zrozumeilismy, skoro mowi ze porazka to zdawalo mi sie ze uwaza genenricsy za zly pomysl, moj blad. Ale nadal nie bardzo rozumiem czemu uwaza to za "zlo wcielone" ze genericsy sa "zaimplementowane" na poziomie jezyka - programista sobie pisze z genericsami bla bla, kompilator robi swoje i mamy taki sam kod jak przy j1.4 czyli nie ma spadku wydajnosci - jak moze byc jezeli przy 1.4 go nei bylo a bylo pelno "castow" do typow??
  • Maciek Makowski

    Nie chodzi chyba o spadek wydajności w stosunku do wcześniejszych wersji, tylko o to, że implementacja parametryzacji w JVM pozwoliłaby na zwiększenie wydajności. Dyskusja na ten temat: http://forum.java.sun.com/thread.js... (w okolicach drugiej strony).
  • george

    nie zrobia tego ze wzgledu brak kompatyblinosci wstecznej, najprostsze wyjasnienie chyba, choc kto wie co moga sobie tam kombinowac
  • bartkiller

    "A Tobie o co chodzi? ogarnac to mozesz pokoj... konkrety.
    z furbym sie kapke nei zrozumeilismy,"

    tak, chodziło mi o to.
    a dokładniej, że to Ty na początku kompletnie nie zrozumiałeś co Furby napisał...