Encyclopedia
Encyclopedia

Reputation: 144

Java process size 32 bit vs 64 bit

From this IBM article:

A 32 bit Java process has a 4 GB process address space available shared by the Java Heap, Native Heap and the Operating System.

...

64 bit processes do not have this limit and the address ability is in terabytes. It is common for many enterprise applications to have large java heaps (we have seen applications with java heap requirements of over 100 GB). 64 bit Java allows massive Java heaps (benchmark released with heaps upto 200 GB).

Whats the explanation behind that 64 bit processors have quite large (basically very large) address space and 32 bit do not have. Basically whats happening inside 64 bit that's not inside 32 bit machines.

Upvotes: 1

Views: 379

Answers (3)

Michael Berry
Michael Berry

Reputation: 72379

Whats the explanation behind that 64 bit processors have quite large (basically very large) address space and 32 bit do not have. Basically whats happening inside 64 bit that's not inside 32 bit machines.

Quite simply, there's double the space to store the address, so the value you can store in this space squares.

It may be easier to see this for lesser values; for instance, if I had a 4 bit address space, I could store up to 1111, giving me a maximum of 15 bits of memory. With an 8 bit address space, I could store up to 11111111, giving me 255 (15^2) bits of memory.

Note that this value just denotes the maximum amount of memory you can use, it doesn't actually give you this memory - but if you have more memory than you can address, you have no way of accessing it.

Upvotes: 3

with a 32 bit word, you can make about 4 billion different values.

That's 4 billion bytes worth of memory addresses.

with 64 bits, you can represent more values. about (4,000,000,000 ^ 2), which ends up being about 16,000,000,000,000,000,000,

Upvotes: 0

Ted Hopp
Ted Hopp

Reputation: 234857

A 32-bit process usually has a 32-bit address space, which limits how much memory can be addressed. (See, for instance, "Why can't I get a larger heap with the 32-bit JVM?") A 64-bit process has a 64-bit address space, which essentially squares the number of addresses available.

Upvotes: 1

Related Questions