Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Praktisch geheugenbeheer in Java bij Tweakers.net

Pagina: 1
Acties:

  • RayNbow
  • Registratie: Maart 2003
  • Laatst online: 19:00

RayNbow

Kirika <3

Topicstarter
reviews: Praktisch geheugenbeheer in Java bij Tweakers.net (3)
Een referentie beslaat 4 bytes bij 32bits-systemen of, als CompressedOops is aangezet, 8 bytes bij een 64bits VM. Aangezien CompressedOops sinds Oracles Java 7 standaard is ingeschakeld, gaan we bij onderstaande berekeningen uit van referenties van 4 bytes.
De eerste zin leest niet helemaal lekker weg en wekt verwarring wat er precies bedoeld wordt. Pas bij de tweede zin kan men afleiden dat CompressedOops referenties van 4 bytes oplevert.

Een mogelijke suggestie:
Een referentie beslaat 4 bytes bij 32bits-systemen en 8 bytes bij een 64bits VM. Met CompressedOops kunnen referenties bij een 64bits VM in slechts 4 bytes worden gecodeerd. Aangezien CompressedOops sinds Oracles Java 7 standaard is ingeschakeld, gaan we bij onderstaande berekeningen uit van referenties van 4 bytes.
Edit:
Neem aan dat op pagina 5 het volgende bedoeld wordt:
De HashSet van Java is onder de motorkap namelijk gewoon een HashMap, die dus nog meer overhead heeft dan een 'echte' HashMapHashSet.

[ Voor 14% gewijzigd door RayNbow op 08-05-2012 08:40 ]

Ipsa Scientia Potestas Est
NNID: ShinNoNoir


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

RayNbow schreef op dinsdag 08 mei 2012 @ 08:29:
reviews: Praktisch geheugenbeheer in Java bij Tweakers.net (3)

[...]

De eerste zin leest niet helemaal lekker weg en wekt verwarring wat er precies bedoeld wordt. Pas bij de tweede zin kan men afleiden dat CompressedOops referenties van 4 bytes oplevert.

Een mogelijke suggestie:
Dat is wel een aardige suggestie.
Edit:
Neem aan dat op pagina 5 het volgende bedoeld wordt:

[...]
Nee, juist niet... je kan net zo goed een HashMap nemen (ok, de semantiek is anders), scheelt je weer 16 bytes ;)

  • RayNbow
  • Registratie: Maart 2003
  • Laatst online: 19:00

RayNbow

Kirika <3

Topicstarter
Oh wacht... "die" verwijst naar "HashMap" in de hoofdzin, niet naar "HashSet"... sorry, mijn fout. :p

Ipsa Scientia Potestas Est
NNID: ShinNoNoir


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

RayNbow schreef op dinsdag 08 mei 2012 @ 09:12:
Oh wacht... "die" verwijst naar "HashMap" in de hoofdzin, niet naar "HashSet"... sorry, mijn fout. :p
Nee, "die" verwijst juist wel naar de HashSet. Maar omdat de HashSet dus een wrapper rond een HashMap is, gebruikt een HashSet (althans, een java.util.HashSet) nog een beetje meer "overbodig" geheugen dan een java.util.HashMap.

  • RayNbow
  • Registratie: Maart 2003
  • Laatst online: 19:00

RayNbow

Kirika <3

Topicstarter
* RayNbow gaat maar wat meer caffeine o.i.d. nuttigen om wakker te worden... :p

[ Voor 5% gewijzigd door RayNbow op 08-05-2012 09:33 ]

Ipsa Scientia Potestas Est
NNID: ShinNoNoir


Verwijderd

Waar CompressedOops gebruikt wordt, zou ik zelf de term los gebruiken; Compressed Oops. Dat is wat Oracle zelf ook hanteert. Alleen de code die gecompileerd wordt is natuurlijk aaneengeschreven. Het is echter maar een suggestie.
Pagina: 1