Java内存分析--栈--堆
Java内存分析--栈--堆
JVM的内存分析:
1.栈内存
1.连续的存储空间,遵循后进先出的原则。
2.每个线程包含一个栈区,栈区只保存基础数据类型的对象和自定义对象的引用。
3.每个栈中的数据都是私有的,其他栈不能访问
4.栈空间较小,用完立刻清理
2.堆内存
1.不连续的空间,用于存放new出的对象,或者说是类的实例。
2.。JVM只有一个堆区被所有线程共享
3.空间较大。垃圾回收器回收垃圾
3.方法区
方法区在堆空间内,用于存放:
1.类内代码信息;
2.静态变量和方法;
3.常量池(显式的String常量和基本类型常量(float、int等),可以存储不经常改变的东西(public static final)。常量池中的数据可以共享)。
class TestVar{
//成员变量
int a;//整数类型
char b;//字符类型
boolean c;//布尔类型
double d;//浮点类型
String e;//引用类型
public void show(){
System.out.println("====成员变量====");
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
System.out.println(e);
System.out.println("====局部变量====");
int aa=123;
System.out.println(aa);
}
public void test(){
inta=123;//就近原则
System.out.println(a);
}
public static void main(String [] args){
//创建对象
TestVar var=new TestVar();
//var.show();
var.test();
}
}
参照博客:
https://blog.csdn.net/qq_36743482/article/details/78527312?ops_request_misc=%7B%22request%5Fid%22%3A%22163350651216780262511576%22%2C%22scm%22%3A%2220140713.130102334..%22%7D&request_id=163350651216780262511576&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_positive~default-1-78527312.first_rank_v2_pc_rank_v29&utm_term=java%E5%86%85%E5%AD%98%E5%88%86%E6%9E%90&spm=1018.2226.3001.4187
或
https://blog.csdn.net/weixin_41231928/article/details/101055831?ops_request_misc=%7B%22request%5Fid%22%3A%22163350651216780262511576%22%2C%22scm%22%3A%2220140713.130102334..%22%7D&request_id=163350651216780262511576&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allbaidu_landing_v2~default-4-101055831.first_rank_v2_pc_rank_v29&utm_term=java%E5%86%85%E5%AD%98%E5%88%86%E6%9E%90&spm=1018.2226.3001.4187
参考视频
最新文章
- [转]asp三级select菜单联动(加数据库)
- 逻辑运算符&;&;和&;的区别 ||和|的区别
- 再次用CodeIgniter实现简易blog
- iOS 使用AFNetworking遇到错误 Request failed: unacceptable content-type: text/html
- Robot Framework--12 RFS+AutoItLibrary测试web对话框
- 使用C#将HTML文本转换为普通文本,去掉所有的Html标记(转)
- 【译】用Fragment创建动态的界面布局(附Android示例代码)
- Android Support Font 安卓系统支持字体(配图)
- JS如何将CST格式的日期转换为制定格式String
- urlscan使用详解
- 理解RESTful架构(转)
- Android Java汉字转拼音总结
- Chapter 21_3 模式
- JAVA 的关键字 、
- go 语言学习笔记(一)
- 深度学习原理与框架- tf.nn.conv2d_transpose(反卷积操作) tf.nn.conv2d_transpose(进行反卷积操作) 对于stride的理解存在问题?
- Cesium实现文字、点、多段线、多边形的实时绘制
- FICO基础知识(二)
- linux 内核参数优化----最大线程数限制及当前线程数查询
- vue2.0 slot用法
热门文章
- Flask(6)- debug 模式
- 在C#中使用RSA进行加密和解密
- 使用tasker定时打开一耳光应用
- Jupyter Notebook 修改字体和大小
- P1118 [USACO06FEB]Backward Digit Sums G/S
- PHP的HTTP验证
- Docker系列(13)- 部署es+kibana
- ci框架 自定义配置方法
- 鸿蒙内核源码分析(ELF格式篇) | 应用程序入口并不是main | 百篇博客分析OpenHarmony源码 | v51.04
- 鸿蒙内核源码分析(调度队列篇) | 内核有多少个调度队列 | 百篇博客分析OpenHarmony源码 | v6.05