-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!news.task.gda.pl!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!ne
ws.chmurka.net!not-for-mail
From: Andrzej Jarzabek <a...@g...com>
Newsgroups: pl.comp.programming
Subject: Re: [n00b] pytanie z jawy
Date: Wed, 28 Nov 2012 20:06:39 +0000
Organization: news.chmurka.net
Lines: 53
Message-ID: <a...@n...chmurka.net>
References: <1...@g...com>
NNTP-Posting-Host: 5ac53c40.bb.sky.com
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: avenger.news.chmurka.net 1354133207 4659 90.197.60.64 (28 Nov 2012 20:06:47
GMT)
X-Complaints-To: abuse-news.(at).chmurka.net
NNTP-Posting-Date: Wed, 28 Nov 2012 20:06:47 +0000 (UTC)
In-Reply-To: <1...@g...com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20121026
Thunderbird/16.0.2
X-Authenticated-User: ajarzabek
Xref: news-archive.icm.edu.pl pl.comp.programming:201249
[ ukryj nagłówki ]On 28/11/2012 11:04, kenobi wrote:
> Mam pytanie dot jawy. Dosyc slabo znam
> jawe (ale ze jako tako znam tematy z ogolnego
> programowania to jak trzeba cos tam moge sklecic)
> i ostatnio sie jej wlasnie przygladam, dokonujac
> przy tym paru obserwacji (dosyc banalnych zreszta zapewne) powstaje przy tym dla
mnie przy okazji tego studiowania javy zasadnicze pytanie :
>
> Czy te rozmaite wysokopoziomowe myki tj konkretnie widze na dany moment dwa
>
> 1) rozmaite 'nie zwalnianie' obiektow,
> 2) rozmaite 'przekazywanie' (i wrappowanie) obiektow itp
>
> sa w jawie 'bezpieczne'?
Tak, obiektów nie musisz, a nawet nie możesz jawnie zwalniać, robi to za
ciebie GC.
> Tj mam na mysli wszelkie sytuacje gdzie nie przejmuje sie zwalnianiem czegokolwiek
Obiektów nie musisz zwalniać, natomias "cokolwiek" można różnie rozumieć
- są inne rodzaje zasobów, które trzeba odpowiednio zwalniać.
> (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)
Nie musisz zwalniać, ale musisz przypilnować, że nie trzymasz referencji
do starych image'ów.
> 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?
Kopiowanie będziesz miał wtedy, kiedy skopiujesz obiekt, np. metodą
clone(). Operacja wrapper.bebechy = mojObiekt nie kopiuje obiektów,
tylko ustawia referencję (to coś takiego jak wskaźnik) na istniejący obiekt.
Natomiast w zależności od tego, jak masz skonfigurowaną maszynę
wirtualną, sama operacja GC może powodować kopiowanie danych między
różnymi generacjami sterty. Ogólnie jeśli się chce optymalizować
programy w Javie pod względem wydajności warto wiedzieć jak działa GC i
z jakich strategii można korzystać. W większości przypadkó nie jest to
potrzebne.
> tj czy jawie mozna zaufac ze nmie przejmujac sie
> problemem zwalniania i problemem przekazywania i wrappowania poradzi sobie ona 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
Przykładow możesz mieć zarzynkę z powodu stop-the-workd GC, co ma
miejsce w przypadku przepełnienia którejś tam generacji sterty.
Następne wpisy z tego wątku
- 28.11.12 22:22 e...@g...com
- 28.11.12 22:47 e...@g...com
- 29.11.12 11:29 kenobi
- 30.11.12 23:35 AK
- 01.12.12 12:17 Baranosiu
- 01.12.12 12:33 Baranosiu
- 01.12.12 14:12 e...@g...com
- 01.12.12 14:25 Baranosiu
- 01.12.12 22:09 AK
- 01.12.12 23:07 e...@g...com
- 01.12.12 23:14 e...@g...com
- 03.12.12 04:15 Baranosiu
- 03.12.12 04:34 Baranosiu
- 03.12.12 09:11 AK
Najnowsze wątki z tej grupy
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
Najnowsze wątki
- 2025-07-23 Gdańsk => Programista Delphi <=
- 2025-07-23 Gdańsk => Programista Mainframe (z/OS, Assembler) <=
- 2025-07-23 Warszawa => Starszy inżynier DevOps (AWS) <=
- 2025-07-23 Gdańsk => Mainframe (z/OS, Assembler) Developer <=
- 2025-07-23 Kraków => Senior Fullstack Engineer (Low-Code Platform) <=
- 2025-07-23 Wrocław => Senior Key Account Manager IT <=
- 2025-07-23 Trójmiasto => Head of Social Media <=
- 2025-07-23 Rzeszów => Spedytor Międzynarodowy <=
- 2025-07-23 Lublin => ERP Implementation Consultant (AP Module) <=
- 2025-07-23 Środa Wielkopolska => SAP FI/CO Internal Consultant <=
- 2025-07-23 Warszawa => Inżynier oprogramowania .Net <=
- 2025-07-23 Kraków => Kotlin Developer <=
- 2025-07-23 Żerniki => Dyspozytor Międzynarodowy <=
- 2025-07-23 Warszawa => Java Developer <=
- 2025-07-23 Wrocław => Konsultant wdrożeniowy (systemy controlingowe) <=