-
Data: 2009-07-28 19:53:22
Temat: Re: Opowiadanie o GC
Od: A.L. <a...@a...com> szukaj wiadomości tego autora
[ pokaż wszystkie 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
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Re: Najgorszy język programowania
- NOWY: 2025-09-29 Alg., Strukt. Danych i Tech. Prog. - komentarz.pdf
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- 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
Najnowsze wątki
- 2025-12-27 Ewakuacja ludności
- 2025-12-26 Gdańsk => ERP Microsoft Dynamics 365 Commerce Consultant <=
- 2025-12-26 Kraków => Konsultant Microsoft Dynamics 365 Finance <=
- 2025-12-26 Kraków => Microsoft Dynamics 365 Finance Consultant <=
- 2025-12-26 wymieniłem termostat
- 2025-12-26 Warszawa => Senior Backend Java Developer <=
- 2025-12-25 Finlandia przywraca swastykę
- 2025-12-25 Skuteczność wymiaru sprawiedliwości
- 2025-12-24 Felgi
- 2025-12-24 2,5 x więcej niż Li-Ion
- 2025-12-24 No i kolejny ograniczony
- 2025-12-24 Warszawa => Młodszy Specjalista ds. wsparcia sprzedaży <=
- 2025-12-24 New York Times zagrożeniem bezpieczeństwa narodowego USA - POTUS D. Trump
- 2025-12-24 Podżeganie?
- 2025-12-24 => Senior Algorithm Developer (Java/Kotlin) <=




7 pułapek i okazji - zobacz co cię czeka podczas kupna mieszkania na wynajem