Java explicit space and RAM

I have a question that bothered me after reading an article on thread dump analysis. There was one paragraph that said that the logical maximum heap size in a 32-bit JVM is 4 GB.

This link indicates that the maximum heap size on a 32-bit Windows machine will be around 1.4 - 1.6 GB.

My question is, let's say if you have RAM, say, about 8 GB, does this mean that I can only use 1.4-1.6 GB if I were a 32-bit JVM for you? And what will be the maximum size for a 64-bit JVM?

Appreciate your help on this, as I am embarrassed by the same.

+3
source share
4 answers

, - (JVM /) dll Windows.

32- 4 ( , , ).

32- 2 sysem ( /3GB , 3 ).

(*.dlls) . Windows *.dll ~ 1,6 ( )

, Hotspot JVM .

, , , ~ 2 "" *.dll, ~ 1,6 . . , /3GB, JVM sun/oracle . - , jrockit VM

dll dll, - , .

, , /, (, ), .dll java-, DLL , .

64- 8-128TB, 64

+4

jvm, os , 4G

32bit os systems

8G ram, 64- os os

+1

32- MacOS X Linux 4 , 4 . , 4 . , JVM , , .

+1

2 ^ 32 = 4 - , 32 .

JVM 1,4-1,6 32- , .

2 ^ 64 = (2 ^ 32) ^ 2 - , 64 . , .

+1

All Articles