JAVA-基础语法-类与对象-1

网友投稿 517 2022-05-29

1:存储的全部都是对象,每个对象都包含一个与之对应的class的信息(class的目的是得到操作指令)

2:JVM只有一个堆区被所有线程共享,堆中不放基本类型和对象引用,只存放对象本身

1:每个线程包含一个栈区,栈中只保存基础数据类型的对象和自定义对象的引用(不包含对象),对象都在堆区。

2:每个栈中的数据(原始类型和对象引用)都是私有的,其他栈不能访问

3:栈分为3个部分:基本类型变量区、执行环境上下文、操作指令区(存放操作指令)

方法区

1:又叫静态区,跟堆一样,被所有线程共享。方法区包含所有的class和static变量

2:方法区中包含的都是在整个程序中永远唯一的元素,如class、static变量

JAVA-基础语法-类与对象-1

public class AppMain                //运行时, jvm 把appmain的信息都放入方法区

{

public static void main(String[] args)  //main 方法本身放入方法区。

{

Sample test1 = new Sample(" 测试1 ");   //test1是引用,所以放到栈区里, Sample是自定义对象应该放到堆里面

Sample test2 = new Sample(" 测试2 ");

test1.printName();

test2.printName();

}

}

public class Sample        //运行时, jvm 把Sample的信息都放入方法区

{

/**

* 范例名称

*/

private String name;      //new Sample实例后, name 引用放入栈区里, name 对象放入堆里

/**

* 构造方法

*/

public Sample(String name) {

this.name = name;

}

/**

* 输出

*/

public void printName()   //print方法本身放入 方法区里。

{

System.out.println(name);

}

}

Java

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:如何请求一个需要登陆才能访问的接口(基于cookie)—apipost
下一篇:《HTML 5与CSS 3 权威指南(第4版·上册)》 —1.4 HTML 5要解决的三个问题
相关文章