-
11. Data: 2012-12-01 12:33:33
Temat: Re: [n00b] pytanie z jawy
Od: Baranosiu <r...@w...pl>
Dnia 28.11.2012 kenobi <p...@g...com> napisał/a:
[...]
> (np w danej konkretnej sytuacji mam tablice[][] z pixelami ale zeby
> to wyswietlic musze to opakowac w image pozniej wyswietlic, poniewaz
> robie to w kazdej ramce to po prostu tworze nowy image za kazdym razem
> nie przejmujac sie starym i nie zwalniajac go)
Można używać tego samego Image (albo dwóch wykorzystywanych na
przemian jeśli potrzebujesz doublebuffera) - będzie po prostu
szybciej, każde tworzenie obiektu jak i późniejsze jego zwalnianie
przez GC zajmuje czas, jeśli można tego uniknąć, to się po prostu
unika :D
> podobnie jest z przekazywaniem i robieniem najrozmaitrzej sieczki
> wrapperow, powiedzmy ze
> mam jeden oryginalny kawalek danych z pixelami, czy
> pakujac to w najrozmaitsze obiekty po drodze zeby
> cos zrobic wyswietlic, zapisac na dysk, itp
> mam gwarancje ze dane te nie beda topornie kopiowane
> tylko ze to wszystko beda lekkie operacje?
>
> tj czy jawie mozna zaufac ze nmie przejmujac sie
> problemem zwalniania i problemem przekazywania i wrappowania poradzi
> sobie on a tj nie wykona jakichs
> masywnych duplikatow (albo jakichs innych pokrewnych
> zarzynek). mam nadzieje ze moje pytanie jest
> zrozumiale, a jesli nie i jawa moze wykonac taką zarzynkę to
> prosilbym najlepiej o konkretny przyklad takiej zarzyny ze strony jawy. tnx
W niektórych przypadkach konieczne jest "ręczne" zwalnianie obiektów,
bo samo "wyjście poza zasięg" nie wystarcza, tak jest na przykład w
Swingowym JFrame, utworzenie obiektu może byc powiązane z wewnętrznym
utworzeniem nowego wątku i utworzeniem wielu wewnętrznych
"eventhandlerów" i pomimo wyjścia odpowiedniej zmiennej z zasięgu
obiekt jest zachowywany, bo jest po prostu na ekranie (niezależnie od
tego czy jest akurat "visible"). Generalnie można ufać wbudowanemu GC
ale trzeba mieć świadomość, że część API korzysta z wielowątkowości
Javy (i część nie jest "thread safe") - wszystko jest w dokumentacji.
-
12. Data: 2012-12-01 14:12:59
Temat: Re: [n00b] pytanie z jawy
Od: e...@g...com
W dniu sobota, 1 grudnia 2012 06:17:26 UTC-5 użytkownik Baranosiu napisał:
> Dnia 28.11.2012 e...@g...com <e...@g...com> napisał/a:
> > W dniu środa, 28 listopada 2012 14:59:25 UTC-5 użytkownik slawek napisał:
> > Pierwsze gc powstawalo w 80tych, przy chyba 16K pamieci. Jest ok.
> A nawet wcześniej, w latach 60-tych (LISP)
I tak dobrze, ze nie twierdze jak 80% osob, ze w XXI wieku. 40% twierdzi,
ze wraz z .NET, drugie 40% ze wraz z JVM.
Faktycznie, historie znam slabo, musze jednak przyznac. Pamietam glownie
"co galy widzialy", no a z 60tych nie moge miec doswiadczen.
--
Edek
-
13. Data: 2012-12-01 14:25:34
Temat: Re: [n00b] pytanie z jawy
Od: Baranosiu <r...@w...pl>
Dnia 01.12.2012 e...@g...com <e...@g...com> napisał/a:
> W dniu sobota, 1 grudnia 2012 06:17:26 UTC-5 użytkownik Baranosiu napisał:
>> Dnia 28.11.2012 e...@g...com <e...@g...com> napisał/a:
>> > W dniu środa, 28 listopada 2012 14:59:25 UTC-5 użytkownik slawek napisał:
>> > Pierwsze gc powstawalo w 80tych, przy chyba 16K pamieci. Jest ok.
>
>> A nawet wcześniej, w latach 60-tych (LISP)
>
> I tak dobrze, ze nie twierdze jak 80% osob, ze w XXI wieku. 40% twierdzi,
> ze wraz z .NET, drugie 40% ze wraz z JVM.
>
> Faktycznie, historie znam slabo, musze jednak przyznac. Pamietam glownie
> "co galy widzialy", no a z 60tych nie moge miec doswiadczen.
>
Też nie mam doświadczeń z lat 60-tych :D ale w Lisp trochę rzeczy
napisałem (i piszę nadal ale bardziej dla siebie niż komercyjnie) no
to siłą rzeczy się dowiedziałem, bo praktycznie każdy podręcznik Lispa
ma wstęp o "pionierskich czasach" :D
-
14. Data: 2012-12-01 22:09:29
Temat: Re: [n00b] pytanie z jawy
Od: "AK" <n...@n...com>
Użytkownik "Baranosiu" <r...@w...pl> napisał:
> Też nie mam doświadczeń z lat 60-tych :D ale w Lisp trochę rzeczy
> napisałem (i piszę nadal ale bardziej dla siebie niż komercyjnie) no
> to siłą rzeczy się dowiedziałem, bo praktycznie każdy podręcznik Lispa
> ma wstęp o "pionierskich czasach" :D
Nie samym Lispem lata60te zyly.
Polecam zapoznanie sie z Simula67.
W niej byly bezproblemowo zrealizowane dwa"paradygmaty"
zarzadzania/zawiadowanie obiektami.
1. Wartosciowy czyli taki jak w C++ (operator podstawienie := kopiuje obiekty)
2. GC/owo referencyjny (operator ref, operator new i operator :- "podstawienia"
referencji)
PS: Nie jestem szczesliwy z mego wieku ;) , ale napewno z faktu dlugiego uzywania
Algolu
i nieco Simuli67 w praktyce.
PS1: taki maly wtrecik:
1963 Ole-Johan Dahl works on a new storage allocation scheme based on a two
dimensional list
of free areas.
AK
-
15. Data: 2012-12-01 23:07:40
Temat: Re: [n00b] pytanie z jawy
Od: e...@g...com
W dniu sobota, 1 grudnia 2012 08:25:34 UTC-5 użytkownik Baranosiu napisał:
> Dnia 01.12.2012 e...@g...com <e...@g...com> napisaďż˝/a:
> > W dniu sobota, 1 grudnia 2012 06:17:26 UTC-5 u�ytkownik Baranosiu napisa�:
> >> Dnia 28.11.2012 e...@g...com <e...@g...com>
napisaďż˝/a:
> > Faktycznie, historie znam slabo, musze jednak przyznac. Pamietam glownie
> > "co galy widzialy", no a z 60tych nie moge miec doswiadczen.
> Te� nie mam do�wiadcze� z lat 60-tych :D ale w Lisp troch� rzeczy
> napisa�em (i pisz� nadal ale bardziej dla siebie ni� komercyjnie) no
> to si�� rzeczy si� dowiedzia�em, bo praktycznie ka�dy podr�cznik Lispa
> ma wst�p o "pionierskich czasach" :D
Ze mna jest ten problem, ze nie mialem w zyciu podrecznika do Lispa w reku,
chociaz swoje w jednym z lispow napisalem. Dzisiaj juz z trudem czytam.
W ogole jestem jakis taki, ze do zadnego jezyka nie czytalem podrecznika,
a znam ich dobre kilka. Tracic czas na podrecznik... :). Tak naprawde
jedyna kniga, ktora cala lyknalem, bylo cos o SQLu od poczatku do konca,
tak oprocz tego w temacie jezykow tylko czytalem fragmenty C++ Stroustrupa.
Nie uwazam ksiazek w tych tematach za zbedne, pomimo to stosunek
zysku (kilka odpowiedzi na pytania "dlaczego tak") do objetosci
uwazam za zdecydowanie niekorzystny.
--
Edek
-
16. Data: 2012-12-01 23:14:58
Temat: Re: [n00b] pytanie z jawy
Od: e...@g...com
W dniu piątek, 30 listopada 2012 17:35:48 UTC-5 użytkownik AK napisał:
> Użytkownik <e...@g...com> napisał:
> > Pierwsze gc powstawalo w 80tych, przy chyba 16K pamieci. Jest ok.
> Edziu, doucz sie historii.
Nie chce mi sie...
> Pierwsze GC powstalo w latach 60tych
> W dodatku bylo to bardzo dobre GC.
--
Edek
-
17. Data: 2012-12-03 04:15:44
Temat: Re: [n00b] pytanie z jawy
Od: Baranosiu <r...@w...pl>
Dnia 01.12.2012 e...@g...com <e...@g...com> napisał/a:
[...]
> Nie uwazam ksiazek w tych tematach za zbedne, pomimo to stosunek
> zysku (kilka odpowiedzi na pytania "dlaczego tak") do objetosci
> uwazam za zdecydowanie niekorzystny.
Czytanie dobrego podręcznika leczy z tzw. nieświadomej niekompetencji,
bo można nawet nie wiedzieć, że czegoś się nie wie.
Osobiście rozdzielam pojęcie "znam język" od "piszę w tym języku
programy", na przykład zdarza mi się pisać całkiem spore kawałki kodu
w PHP ale wcale nie twierdzę, że znam ten język. Uważam że "znam
język" jeśli znam i swobodnie posługuję się *wszystkimi* mechanizmami
i konstrukcjami tego języka (i przy okazji orientuję się w układzie i
możliwościach biblioteki standardowej). Można przecież pisać w C++ nie
wiedząc co to klasa czy wzorzec i mozna pisać w Lispie nie wiedząc co
to lambda czy makro rozwijane w czasie wykonania - owszem, program
zadziała, ale moim zdaniem to za mało aby powiedzieć "znam język" :D
A podręcznik służy do nauki - oczywiste jest, że korzysta się z niego
inaczej niż powiedzmy z "Nad Niemnem", no ale metody uczenia się to
już nie ta grupa :D
Inna rzecz, że większość popularnych języków programowania niewiele
różni się konceptualnie, a jedynie składnią i biblioteką standardową,
spróbuj nauczyć się na przykład Prologa (i bez oszukiwania, tutoriale
to też podręczniki, tyle że w innej formie :D).
-
18. Data: 2012-12-03 04:34:15
Temat: Re: [n00b] pytanie z jawy
Od: Baranosiu <r...@w...pl>
Dnia 01.12.2012 AK <n...@n...com> napisał/a:
> Użytkownik "Baranosiu" <r...@w...pl> napisał:
>
>> Też nie mam doświadczeń z lat 60-tych :D ale w Lisp trochę rzeczy
>> napisałem (i piszę nadal ale bardziej dla siebie niż komercyjnie) no
>> to siłą rzeczy się dowiedziałem, bo praktycznie każdy podręcznik Lispa
>> ma wstęp o "pionierskich czasach" :D
>
> Nie samym Lispem lata60te zyly.
> Polecam zapoznanie sie z Simula67.
Wiem, wiem, dużo tego było, pisałem tylko o pierwszym garbage
collectorze (doczytawszy teraz na angielskiej Wikipedii - to był John
McCarthy i rok 1959). A pomijając niskopoziomowe assemblery, to Lisp
jest drugim co do wieku językiem programowania (pierwszy był Fortran)
i "żyje" do dzisiaj :D
-
19. Data: 2012-12-03 09:11:31
Temat: Re: [n00b] pytanie z jawy
Od: "AK" <n...@n...com>
Użytkownik "Baranosiu" <r...@w...pl> napisał:
> (pierwszy był Fortran)
Niestety :( Badziewie straaaszne.
> i "żyje" do dzisiaj :D
Cale szczescie przeszedl totalna reinkarnacje.
PS: ..a poprzednia Twoja notka super. Moze "nie wszystko stracone"
wsrod Modych Zadluzonych z Wielkich Miast" ? :) bo jak widac
sa prawdziwe rodzynki uzywajace ksiazek i ceniace historie - a ona tak
jak napisales pozwala uniknac nieswiadomej niekompetencji
(w "mych czasach" nazywanej bardziej swojsko zwykla glupota...;)
AK