标签:name 字符串常量 compute 类型 调用 游戏 ring src javac
(1)JVM为每个线程创建一个栈,用于存放该线程执行方法的信息(实际参数、局部变量等)
(2)栈属于线程私有,不能实现线程间的共享!
(3)栈的存储特性是:先进后出,后进先出。由系统自动分配,速度快!是一个连续的内存空间。
(4)栈描述的是方法执行的内存模型,每个方法被调用会创建一个栈帧(存储局部变量、操作数、方法出口等),方法结束,栈帧消失。
(1)JVM只有一个堆,被所有的线程共享。
(2)堆是一个不连续的内存空间,分配灵活,速度慢!
(3)堆用于存储好的对象和数组(数组也是对象)
(1)JVM只有一个方法区,被所有的线程共享.
(2)用于存放程序里唯一的内容(类对象,静态变量、字符串常量等)
(1)代码
1 public class SxtStu { 2 3 //属性fields 4 int id; 5 String sname; 6 int age; 7 8 Computer comp; //引用数据类型 9 10 //方法 11 void study(){ 12 System.out.println("电脑名称是:"+comp.brand); 13 } 14 15 void play(){ 16 System.out.println("我在玩游戏!哈哈哈"); 17 } 18 19 //构造方法。用于创建这个类的对象。无参的构造方法可以由系统自动创建。 20 SxtStu(){ 21 System.out.println("调用了无参的构造方法!"); 22 } 23 24 //程序执行的入口,必须要有 25 //javac Sxtstu.java , java Sxtstu 26 public static void main(String[] args) { 27 SxtStu stu = new SxtStu(); //创建一个对象 28 stu.id=1001; 29 stu.sname= "小明"; 30 stu.age = 18; 31 32 Computer c1 = new Computer(); 33 c1.brand = "联想"; 34 35 stu.comp = c1; 36 37 stu.play(); 38 stu.study(); 39 40 } 41 } 42 43 class Computer { 44 String brand; 45 }
(2)画图说明程序运行中内存变化
标签:name 字符串常量 compute 类型 调用 游戏 ring src javac
原文地址:https://www.cnblogs.com/mlyflow/p/10664502.html