内存分析
栈:
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内存办分析: