内存分析
栈:
1. 每个线程私有,不能实现线程间的共享!
2. 局部变量放置于栈中。
3. 栈是由系统自动分配,速度快!栈是一个连续的内存空间!
堆:
1. 放置new出来的对象!
2. 堆是一个不连续的内存空间,分配灵活,速度慢!
方法区:
1. 被所有线程共享!
2. 用来存放程序中永远是不变或唯一的内容。(类代码信息、静态变量、字符串常量)
public class TestComputer {
public static void main(String[] args) {
//创建对象(创建实例)
Computer c1 = new Computer();
c1.cpu="酷睿i7-7700U";
c1.board="技嘉G850";
c1.memory="金士顿16G";
c1.disk=500;
c1.start();
c1.showinfo();
System.out.println("-------------------------------");
//创建对象(创建实例)
Computer c2 = new Computer();
c2.cpu="AMD";
c2.board="华硕G850";
c2.memory="威刚8G";
c2.disk=320;
c2.start();
c2.showinfo();
}
}
public class Computer {
public String cpu;//cpu型号
public String memory;//内存
public String board;//主板
public int disk;//硬盘容量
/**
* 开机
*/
public void start(){
System.out.println("电脑开机........");
}
/**
* 输出当前计算机信息
*/
public void showinfo(){
System.out.println("*******硬件信息如下******");
System.out.println("cpu型号:"+cpu);
System.out.println("主板型号:"+board);
System.out.println("内存型号:"+memory);
System.out.println("硬盘容量:"+disk);
}
}
Static内存办分析: