java基础1:对象创建内存分析
来源:互联网 发布:2007excel数据有效性 编辑:程序博客网 时间:2024/06/04 23:30
栈:
1. 每个线程私有,不能实现线程间的共享!
2. 局部变量放置于栈中。
3. 栈是由系统自动分配,速度快!栈是一个连续的内存空间!
堆:
1. 放置new出来的对象!
2. 堆是一个不连续的内存空间,分配灵活,速度慢!
方法区(也是堆):
1. 被所有线程共享!
2. 用来存放程序中永远是不变或唯一的内容。(类代码信息、静态变量、字符串常量)
运行以下代码
public class Test1 {
public static void main(String[] args) {
//通过类加载器Class Loader加载Student类。 加载后,在方法区中就有了Student类的信息!
Student s1 = new Student();
s1.name = "高琪";
s1.study();
s1.sayHello("馬士兵");
Student s2 = new Student();
s2.age = 18;
s2.name="老高";
}
}
内存分析图
拓展:假设每个学生有一个电脑
public class Student {
//静态的数据
String name;
int id; //学号
int age;
String gender;
int weight;
Computer computer;
Student s1 = new Student();
s1.computer = c; //实际是将c的地址34343434 给了 s1的computer属性,可以直接指向堆中的computer实例,使 其拥有了电脑
对象和this的内存图
- java基础1:对象创建内存分析
- java基础--面向对象(内存分析)
- 对象创建内存分析
- Java对象创建过程和内存结构分析
- Java中String类创建对象内存分析
- Java中对象的创建过程(内存分析)
- Java对象内存分析
- JAVA基础--内存分析
- 【java基础】内存分析
- java基础内存分析
- java基础--内存分析
- Java基础复习String对象创建的分析
- java基础--java内存分析(二)(类和对象与内存分析)
- java面向对象_内存分析1
- java内存,对象的创建
- java创建对象内存图
- Java基础--对象内存管理
- JavaSE基础之创建对象内存图
- 关于win10状态栏卡死的解决方法
- java之List接口的用法
- 随时更新==eclipse Java开发相关插件
- 漫步最优化四十二——Partan法
- Web开发之服务器配置
- java基础1:对象创建内存分析
- [论文阅读笔记]Two-Stream Convolutional Networks for Action Recognition in Videos
- 逆向VC++的栈Cookies算法
- apache配置问题(linux)
- 11. Python脚本学习笔记十一函数与参数
- eclipse--开启代码自动提示
- Java集合框架初步(hashset treeset list hashmap)
- 12. Python脚本学习笔记十二作用域与递归
- 在win7下装centos7双系统,恢复双方引导的艰难历程,希望给和我遇到同样困难的人一些帮助