-
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!wsisiz.edu.pl!plix.pl!newsfeed1.plix
.pl!newsfeed00.sul.t-online.de!t-online.de!news.glorb.com!news-in-01.newsfeed.e
asynews.com!easynews!core-easynews-01!easynews.com!en-nntp-01.dc1.easynews.com.
POSTED!not-for-mail
From: A.L. <a...@a...com>
Newsgroups: pl.comp.programming
Subject: Re: Opowiadanie o GC
Message-ID: <5...@4...com>
References: <2...@w...googlegroups.com>
<n...@4...com>
<d...@y...googlegroups.com>
<c...@4...com>
<3...@g...googlegroups.com>
<f...@4...com>
X-Newsreader: Forte Agent 4.2/32.1118
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: 8bit
Lines: 94
X-Complaints-To: a...@e...com
Organization: Forte Inc. http://www.forteinc.com/apn/
X-Complaints-Info: Please be sure to forward a copy of ALL headers otherwise we will
be unable to process your complaint properly.
Date: Tue, 28 Jul 2009 14:53:22 -0500
Xref: news-archive.icm.edu.pl pl.comp.programming:182879
[ ukryj nagłówki ]On Tue, 28 Jul 2009 07:34:11 -0500, A.L. <a...@a...com> wrote:
>On Mon, 27 Jul 2009 13:36:43 -0700 (PDT), Maciej Sobczak
><s...@g...com> wrote:
>
>>On 2
>>Potrzebna jest taka mapa: Map<Long, Item> (ewentualnie jej
>>WeakReference warianty). W tej mapie kluczami są Longi a wpisy mają
>>być usunięte po porzuceniu wartości Item.
>>
>
>Ja mialem na mysli WeakHashMap w ktorej kluczem jest Item a waroscia
>slaba referencja na klucz. Item musi miec "equals" zaomplementowane na
>podstawie rownosci ID, a do wyszukiwania tzreba zrobic "dummy" Item z
>zainicjowana wartoscia ID taka jakiej poszukujemy
>
Napisalem krotki programik zeby pokazac o co mi chodzi
public class Test {
public static void main(String[] args) {
WeakHashMap<Item, WeakReference<Item>> m = new
WeakHashMap<Item, WeakReference<Item>>();
//
// Pierwszy element
//
Item item1 = new Item((long)20);
m.put(item1, new WeakReference<Item>(item1));
//
// Wyciagnij
//
Item dummy = new Item((long)20);
System.out.println(m.get(dummy).get());
//
// Odetnij referencje
//
item1 = null;
//
// Wstaw nowy element
//
Item item2 = new Item((long)30);
m.put(item2, new WeakReference<Item>(item1));
//
// Powiedz gc zeby sie uaktywnil
//
System.gc();
//
// Sprawdz czy element jest
//
if(m.get(dummy) == null) {
System.err.println("null");
} else {
System.out.println(m.get(dummy).get());
}
}
}
public class Item {
private Long _ID = null;
public Item(Long key) {
this._ID = key;
}
public long getkey() {
return this._ID;
}
public int hashCode() {
return this._ID.hashCode();
}
public String toString() {
return "ID " + this._ID;
}
public boolean equals(Object object) {
if(object == null) {
return false;
}
return this._ID.equals(((Item)object)._ID);
}
}
Program pisze
ID 20
null
equals jes tzrobione tak sobie, ale do tego testu wystarczy
mam nadzieje ze sie nie pomylilem nigdzie :)
A.L.
Następne wpisy z tego wątku
- 28.07.09 20:01 A.L.
- 29.07.09 07:04 Paweł Kierski
- 29.07.09 07:42 Maciej Sobczak
- 29.07.09 08:45 Piotr Lipski
- 29.07.09 09:47 Krzysiek Kowaliczek
- 29.07.09 12:00 Marcin 'Qrczak' Kowalczyk
- 29.07.09 13:14 A.L.
- 30.07.09 10:12 Maciej Sobczak
- 30.07.09 11:15 Michal Kleczek
- 30.07.09 12:13 A.L.
- 30.07.09 12:15 A.L.
- 30.07.09 12:49 Michal Kleczek
- 30.07.09 13:18 A.L.
- 30.07.09 14:14 Michal Kleczek
- 30.07.09 15:21 A.L.
Najnowsze wątki z tej grupy
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-02-01 "Nie kupujcie samochodów elektrycznych
- 2025-02-01 jakie małe auto duże w środku :-)
- 2025-02-01 Re: pytanie do oponiarzy lub szybkojeżdzących (opony Hankook Ventus Prime, S1 Evo, alternatywy)
- 2025-02-01 T-1000 was here
- 2025-02-01 Warszawa => DevOps Engineer <=
- 2025-02-01 Katowice => Administrator IT - Operating Systems and Virtualization <=
- 2025-02-01 Warszawa => Spedytor międzynarodowy <=
- 2025-02-01 Śmierć mózgu a narządy do pobrania
- 2025-01-31 A niektórym to naprawdę zależy na ekologi w miastach LPG POWRACA ;-)
- 2025-01-31 Lublin => Programista Delphi <=
- 2025-01-31 Łódź => Programista NodeJS <=
- 2025-01-31 Wrocław => Senior SAP Support Consultant (SD) <=
- 2025-01-31 Warszawa => Full Stack web developer (obszar .Net Core, Angular6+) <=
- 2025-01-31 Gdańsk => iOS Developer (Swift experience) <=
- 2025-01-31 Kraków => UX Designer <=