常用类
静态 一、JAVA的内存分析 内存概述 java的内存存储总共分为5大区域:堆、栈、方法区、本地方法区、寄存器区 其中本地方法区(存第三方语言-C/C++)和寄存器区(多线程资源)不用区分析,没法跟踪这两个区域 重点分析:堆,栈,方法区 堆:存new对象,成员属性,常量池(放字符串常量,之前方法区,现在放堆区-性能考虑,但沿用了方法区特点) 栈:存局部变量 方法区:class资源,static资源; 特点:优先于对象的加载,且相同资源只维护一份 接下来,使用简单的面向对象案例,说明内存的执行过程 案例分析 //案例:小明在打游戏 //分析:类-Person,对象:new 属性-姓名,方法:打游戏 //内存分析流程: //1.加载Test1.class与Person.class---方法区 //2.new对象开辟空间-------堆区 //3.将地址赋值给引用变量person-------栈区 class Person{ String name; public void play() { System.out.println(name+"正在打游戏"); } } public class Test1 { public static void main(String[] args) { Person person = new Person(); person.name = "小明"; person.play(); } } 二、静态-修饰属性 静态属性与成员属性 //案例:女朋友帮忙洗衣服 //成员变量结论:实例化多个对象,每个对象都有独立的成员属性 //静态变量结论:实例化多个对象,共享同一份静态变量 //成员变量 VS 静态变量 //1.存储位置 静态变量-方法区 成员变量-堆 //2.所属资源 静态变量-类 成员变量-对象 //3.执行顺序 静态变量优先于成员变量进行加载;在类加载时,就已经加载了静态资源 //4.调用方式 静态变量-推荐用类调 成员变量-对象调 class Girl{ //String name; //成员变量 static String name; //静态变量 public void wash() { System....