在内存管理方面,Java相对于C和C++的区别在于Java具有内存动态分配以及垃圾收集技术,但平时我们很少去关注JVM的内存结构以及GC,在出现内存泄露或溢出方面的问题,排查工作将变得异常艰难。



 



    



 



    



 



      

java设置虚拟机内存大小idea java 虚拟机内存 最大设置_Java


    


    


 


    


 


    


 


    


 


    


 


    


 


    


 


    


 


    


 


    


 


// 虚拟机栈和本地方法栈的大小 = 线程允许最大内存 - 最大堆容量 - 最大方法区容量
// 在多线程时,给每个线程分配的栈越大,越容易出现异常


 


    


 


    


 


    


 


    


 


    


 


    


 


    


   


// 堆溢出
// -Xmx 堆最大值
// -Xms 堆最小值
// -XX:+HeapDumpOnOutOfMemoryError 设置虚拟机在异常时转储当前内存堆
// 可以使用Eclipse Memory Analyzer 对转储的堆进行分析