了解了java内存模型有什么好处
了解java内存模型对深入了解jvm有很多好处。
JMM通过控制主内存与每个线程的本地内存之间的交互,来为开发者提供内存可见性保证。
没什么叼用,有时间去研究研究C,回过头java就是浮云了
java的内存模型是怎么设计的
先来画一个简图,java内存模型可以这样分类:
主要作用,存放的类型:
堆:主要是用于存放对象。
栈:存放一个对象引用和基本数据类型、局部变量
静态变量区:存放static类型的变量或者成员变量、常量
代码区:书写的代码
下面看代码具体的说明:
package com.wyq.Memory;
public class Person {
public String name;//成员变量,存放在栈中
public static int age;//static类型的变量,存放在静态变量区
public static final String sex="女";//常量在常量池中
public Person(String name){
this.name=name;
public void walk(Person person){//传入一个person引用,存放在栈中
int step=5;//局部变量,基本数据类型,存放在栈中
System.out.println(person.name+"跑了"+step+"步");
public static void main(String[] args) {
Person person=new Person("楼主");//由构造器new一个person对象,存放在堆中
person.walk(person);
//整个代码在代码区中堆 和占
通过堆中的指引找到占内的东西