KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
When I run following program(running with "java -Xmx151M -cp . com.some.package.xmlfun.Main" ) : package com.some.package.xmlfun; public class Main { public static void main(String [] args) { char [] chars = new char[50 * 1024 * 1024]; } } I need to increase maximum memory to at least 151M (-Xmx151M). Accordingly, when I increase array size the limit needs to be increased: 50 * 1024 * 1024 -> -Xmx151M 100 * 1024 * 1024 -> -Xmx301M 150 * 1024 * 1024 -> -Xmx451M Why does it looks like java needs 3 bytes per char, instead of 2 bytes as documentation suggests? Also when I similarly create array of long it seems to need 12 bytes per long, instead of 8, with int it needs 6 bytes instead of 4. Generally it looks like it needs array_size * element_size * 1.5 Compiling with - javac \com\som\package\xmlfun\\*java Running with - java -Xmx151M -cp . com.some.package.xmlfun.Main
Tags (comma-separated)
Save Edits
Cancel