Java内存简单分析
来源:互联网 发布:matlab智能算法目录 编辑:程序博客网 时间:2024/06/02 06:36
栈:自动分配连续的空间;后进先出;一般放置局部变量;
堆:不连续;放置new出的对象
方法区:位于堆之内;放置:类的信息(代码)、static变量和常量池(字符串常量)等;
程序执行顺序:
- 从main方法开始,如果一开始就是对象的生成,则先找生成对象的类,在方法区找,没有则加载类的信息,存放在方法区。有:代码(属性、方法)、static变量和常量池等;
- 生成的对象的引用存放在栈中(局部变量),比如People p1,p1存在栈中,实质是只想对象信息的地址;new People()的对象信息存在堆中,其中的常量值属性和方法是地址,指向方法区中的存放的常量值属性和方法;
- 对对象的操作是通过引用进行的,对对象属性的复制是通过操作堆中地址指向方法区的属性;
- 每个方法对应一个栈帧,比如传递形参,用完消失;
- 常量池具有共享功能;
- static变量和方法存放在方法区,单独成块,其中,static方法是一个地址,指向方法区中的代码区里的static静态方法;
- 静态方法里面不能存在非静态变量,因为非静态变量属性不存在方法区里,是在堆里
阅读全文
1 0
- Java内存简单分析
- Java内存简单分析
- java中简单内存分析:
- Java程序开发中的简单内存分析
- Java程序开发中的简单内存分析
- Java程序开发中的简单内存分析
- Java程序开发中的简单内存分析
- Java程序内存的简单分析
- Java内存泄漏简单的分析总结
- java-栈、堆内存简单分析
- Java程序内存的简单分析
- 简单的内存分析
- 简单内存溢出分析
- JAVA内存分析中的两道简单小题
- MTK内存管理机制简单分析
- 简单的内存池分析
- 对象的简单内存分析
- 用Instruments 简单分析内存
- [FUNC]为字符串类添点料
- 表单自动填充样式修改
- wcf系列5天速成——第二天 binding的使用(2)
- Android平板横屏上的DrawerLayout
- license选择
- Java内存简单分析
- XStream的初步使用学习
- HTTP & HTTPS 总结
- leetcode 503. Next Greater Element II
- 灰度发布
- iOS积累-为什么使用属性之后, 同时重写setter,getter方法会报错
- Android 密钥库系统
- Java机器学习库ML之十一线性SVM
- 哪些码农小习惯预示着高薪资?