-
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
- Xiaomi [Chiny - przyp. JMJ] produkuje w całkowitych ciemnościach i bez ludzi
- Prezydent SZAP/USONA Trump ułaskawił prezydenta Hondurasu Hernandeza skazanego na 45 lat więzienia
- Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- 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
Najnowsze wątki
- 2026-01-29 KSeF - 13 wątpliwości
- 2026-01-29 A ja się pochwalę
- 2026-01-29 Warszawa => Mid/Senior IT Recruiter <=
- 2026-01-29 Warszawa => Senior Java Developer <=
- 2026-01-29 Warszawa => IT Recruiter <=
- 2026-01-28 Degradacja
- 2026-01-28 Wysoki Sąd poinstruował czego unikać wyzywając Owsiaka "Równiejszego"
- 2026-01-28 Białystok => Solution Architect (Workday) - Legal Systems <=
- 2026-01-28 Białystok => Preseles Inżynier (background baz danych) <=
- 2026-01-28 Wrocław => Konsultant wdrożeniowy ERP <=
- 2026-01-28 Łódź => Microsoft Engineer <=
- 2026-01-28 Białystok => Tester manualny <=
- 2026-01-27 Tradycja ciągania posłów po sądach za wystąpienia w Sejmie będzie kontynuowana [Lepper 2]
- 2026-01-27 Pierwszy raz sprzedano więcej samochodów zeeletryfikowanych niż ice
- 2026-01-27 Elektryczny Kałasznikow




Jak kupić pierwsze mieszkanie? Eksperci podpowiadają