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

参考视频

https://www.bilibili.com/video/BV13b411w78u?from=search&seid=15410949425144710708&spm_id_from=333.337.0.0

最新文章

  1. [转]asp三级select菜单联动(加数据库)
  2. 逻辑运算符&&和&的区别 ||和|的区别
  3. 再次用CodeIgniter实现简易blog
  4. iOS 使用AFNetworking遇到错误 Request failed: unacceptable content-type: text/html
  5. Robot Framework--12 RFS+AutoItLibrary测试web对话框
  6. 使用C#将HTML文本转换为普通文本,去掉所有的Html标记(转)
  7. 【译】用Fragment创建动态的界面布局(附Android示例代码)
  8. Android Support Font 安卓系统支持字体(配图)
  9. JS如何将CST格式的日期转换为制定格式String
  10. urlscan使用详解
  11. 理解RESTful架构(转)
  12. Android Java汉字转拼音总结
  13. Chapter 21_3 模式
  14. JAVA 的关键字 、
  15. go 语言学习笔记(一)
  16. 深度学习原理与框架- tf.nn.conv2d_transpose(反卷积操作) tf.nn.conv2d_transpose(进行反卷积操作) 对于stride的理解存在问题?
  17. Cesium实现文字、点、多段线、多边形的实时绘制
  18. FICO基础知识(二)
  19. linux 内核参数优化----最大线程数限制及当前线程数查询
  20. vue2.0 slot用法

热门文章

  1. Flask(6)- debug 模式
  2. 在C#中使用RSA进行加密和解密
  3. 使用tasker定时打开一耳光应用
  4. Jupyter Notebook 修改字体和大小
  5. P1118 [USACO06FEB]Backward Digit Sums G/S
  6. PHP的HTTP验证
  7. Docker系列(13)- 部署es+kibana
  8. ci框架 自定义配置方法
  9. 鸿蒙内核源码分析(ELF格式篇) | 应用程序入口并不是main | 百篇博客分析OpenHarmony源码 | v51.04
  10. 鸿蒙内核源码分析(调度队列篇) | 内核有多少个调度队列 | 百篇博客分析OpenHarmony源码 | v6.05