Java虚拟机的内存可以分为三个区域:栈stack、堆heap、方法区method area

栈的特点如下:

  1. 栈描述的是方法执行的内存模型。每个方法被调用都会创建一个栈帧(存储局部变量、操作数、方法出口等)

  2. JVM为每个线程创建一个栈,用于存放该线程执行方法的信息(实际参数、局部变量等)

  3. 栈属于线程私有,不能实现线程间的共享

  4. 栈的存储特性是“先进后出,后进先出”

  5. 栈是由系统自动分配,速度快!栈是一个连续的内存空间!

堆的特点如下:

  1. 堆用于存储创建好的对象和数组(数组也是对象)

  2. JVM只有一个堆,被所有线程共享

  3. 堆是一个不连续的内存空间,分配灵活,速度慢!

方法区(又叫静态区)特点如下:

  1. JVM只有一个方法区,被所有线程共享!

  2. 方法区实际也是堆,只是用于存储类、常量相关的信息!

  3. 用来存放程序中永远是不变或唯一的内容。(类信息【Class对象】、静态变量、字符串常量等)

java面向对象内存分析相关推荐

  1. Java编程内存分析简要

    Java编程内存分析简要 需求1:计算五名学生,一门课程的平均分. 分析数据存储: 数组存储数据(1) 数组存储数据(2) 数组存储数据(3) 关于需求1使用面向对象程序设计思想的思考. 需求2:计算 ...

  2. Java程序内存分析

    2019独角兽企业重金招聘Python工程师标准>>> Java程序内存分析:使用mat工具分析内存占用 http://my.oschina.net/biezhi/blog/2862 ...

  3. Java 堆内存分析

    Java 堆内存工具jmap 打印当前 Java 堆内存信息 jmap -histo[:live] <pid> # 打印当前进程中类实例信息 导出Java 堆内存到文件 jmap -dum ...

  4. Java(二)——简单的理解下面向对象内存分析

    学习进入到面向对象初级阶段,看到代码的执行过程便很蒙圈.后来经同学指点告诉我说让我看看面向对象的内存分析,会对代码的理解有所帮助,这里就针对面向对象的内存分析进行阐述.(有些图和代码可能借助于网络和其 ...

  5. 面试积累(java的内存分析)

    关于java中的内存分析: 1 首先,java中的内存总体分为了四个部分,分别为stack segment,heap segment,code segment,data segment.即 栈区,堆区 ...

  6. java 堆内存分析_JVM内存堆布局图解分析

    JAVA能够实现跨平台的一个根本原因,是定义了class文件的格式标准,凡是实现该标准的JVM都能够加载并解释该class文件,据此也可以知道,为啥Java语言的执行速度比C/C++语言执行的速度要慢 ...

  7. java怎么看内存值_【java】内存分析

    在J2SE中,通过进行内存分析,可以让我们更好的理解我们的程序在内存中是怎么被分配内存的.也能让我们更好的理解我们的代码是怎么运行的. 对于我自己来说分析内存也是一件很有趣的事情.所以下面通过一个例子 ...

  8. Java JVM内存分析

    2019独角兽企业重金招聘Python工程师标准>>> JVM常见参数及溢出分析工具和方法 JDK1.6.45常用基本参数 -server 服务模式启动  -verbose:gc 开 ...

  9. Java程序内存分析:使用mat工具分析内存占用

    1. 用jmap生成堆信息 2. 将堆信息导入到mat中分析 3. 生成分析报告 Histogram Dominator Tree Top consumers Leak Suspects MAT 不是 ...

最新文章

  1. Android Hanlder综合
  2. Ural_1353. Milliard Vasya's Function(DP)
  3. Android下载文件
  4. LaTeX技巧205:使用split输入多行公式技巧
  5. 训练日志 2018.11.7
  6. 王超:奇虎360 MongoDB
  7. SLAM算法中的数据关联问题
  8. Java实现阶乘的和
  9. PAT 1085 PAT单位排行(25)(映射、集合训练)
  10. 内录音频工具哪个好 怎么录制电脑音频
  11. Android学习笔记之百度地图基础知识
  12. 数据优化——分库分表(三)中间件讲解
  13. mysql 省份城市县区数据表SQL(包含经纬度)
  14. 计算机专业综合改革举措,数学与应用数学专业综合改革的举措数学论文(9页)-原创力文档...
  15. UUIDUtil获取八位UUID
  16. 2021年深圳市专精特新中小企业申报要求及遴选内容指南,包括补贴20万
  17. 派生类成员的访问属性
  18. 项目使用的 safe.cs 帮助类
  19. PHP图片转base64
  20. Tracker--追踪者

热门文章

  1. SAP License:ERP企业资源计划
  2. SAP License:SAP BW的综合计划
  3. Centos7以上的版本 mysql 无法启动,无法停止问题
  4. Go VSCode配置编译task
  5. Win10 打开PLSql,其他软件卡到爆,原因CnPlugin_1.5.4插件的问题
  6. 环信Demo 导入错误
  7. greedy算法/算法导论/挑战程序设计竞赛
  8. CentOS上使用sysstat做系统监控测试
  9. HTTP Error 503与.NET 3.5 SP1 X64
  10. Jackson Annotation Examples