java 数据 内存 设计_java的内存模型是怎么设计的

展开全部

先来画一个简图,java内存模型可以这样分类:

主要62616964757a686964616fe4b893e5b19e31333361323565作用,存放的类型:

堆:主要是用于存放对象。

栈:存放一个对象引用和基本数据类型、局部变量

静态变量区:存放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);

}

}

//整个代码在代码区中

展开全部 先来画一个简图,java内存模型可以这样分类: 主要62616964757a686964616fe4b893e5b19e31333361323565作用,存放的类型: 堆:主要是用于存放对象。 栈:存放一个对象引用和基本数据类型、局部变量 静态变量区:存放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); } } //整个代码在代码区中
经验分享 程序员 微信小程序 职场和发展