webForumDet fria alternativet

Ett objekts byte storlek?

6 svar · 265 visningar · startad av N-Foe

N-FoeMedlem sedan juni 200384 inlägg
#1

Hur kan man få reda på ett objekts byte storlek? Det borde ju gå på nåt sätt... vet inte hur man gör.

Måste man gå via serialize() eller nåt? (En vild chansning)

LimeMedlem sedan sep. 2001961 inlägg
#2

Njea...Det är inte helt enkelt... Mycket har att göra med hur JVM:en är implementerad, vad man kör på för system med mera. Det går ju att räkna ut om man vet vilka fält ett objekt har.

N-FoeMedlem sedan juni 200384 inlägg
#3

du menar att man summerar alla int * antal byte per int, etc

men missar man inte en del overhead då? hur mkt ska man räkna att en pekare på ett objekt allokerar?

hur mkt allokerar de vanligaste typerna? int = 4 byte, double = 8 bytes, boolean = 1 byte

aasahMedlem sedan mars 20034 471 inlägg
#4

Eftersom Java sköter all minneshantering åt dig, varför vill du veta det? :q

N-FoeMedlem sedan juni 200384 inlägg
#5

För att jag ska skriva programmet ska kunna portas till C++..
Jag ska implementera en cache och begränsa den till en max byte storlek.

aasahMedlem sedan mars 20034 471 inlägg
#6

I C++ sköts ju också minneshanteringen automatiskt, med new.

PeWMedlem sedan juni 200010 432 inlägg
#7

hur mkt ska man räkna att en pekare på ett objekt allokerar?

4 bytes då en pekare alltid bara är en adress (32 bitar på en 32bits plattform).

aasah:
En cache brukar implementeras i storlek om ett antal block. Så om man tänker sig att skicka block till en cache bör man veta hur stora objekt man har (huruvida de får plats i ett block, eller om de måste delas upp i flera block).

126 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)