Java—内存模型常考题解析(面试)

JVM 三大性能调优参数-Xms -Xmx-Xss的含义

 

java -Xms128m -Xmx128m -Xss256k -jar xxxx.jar

 

-Xss:规定了每个线程虚拟机栈(堆栈)的大小

-Xms:堆的初始化

-Xmx:堆能达到的最大值

 

Java内存模型中堆和栈的区别——内存分配策略

静态存储:编译时确定每个数据目标在运行时的存储空间需求

栈式存储:数据区需求在编译时未知,运行时模块入口前确定

堆式存储:编译时或运行时模块入口都无法确定,动态分配(String,new这些)

 

Java内存模型中堆和栈的区别

联系:引用对象、数组时,栈里定义变量保存堆中目标的首地址

 

管理方式:栈自动释放,堆需要GC

空间大小:栈比堆小

碎片相关:栈产生的碎片远小于堆

分配方式:栈支持静态和动态分配,而堆仅支持动态分配

效率:栈的效率比堆高

Java—内存模型常考题解析(面试)

 

 

 

Java—内存模型常考题解析(面试)

Java—内存模型常考题解析(面试)

 

 

不同JDK版本之间的intern()方法的区别—JDK6 VS JDK6+

Java—内存模型常考题解析(面试)

s访问的是对象的a

 

而s2是直接访问a

Java—内存模型常考题解析(面试)

 

 

 

Java—内存模型常考题解析(面试)