eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming[n00b] pytanie z jawy › Re: [n00b] pytanie z jawy
  • 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.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: