今天起开始总结JVM。自己也看了好多JVM相关的知识,在此做个总结。

打算分为五个部分来讲:JVM内存模型、JVM类加载机制、JVM垃圾回收机制、JVM启动参数设置及优化、JVM其他相关。

今天首先来看JVM内存模型。

————————————————————————————————————————————————————————————

JVM是java虚拟机,它将字节码(.class文件)加载到内存里解释执行。

JVM运行时所需的数据放在运行时数据区,分为5个部分:

1.堆:存储JVM运行过程中生成的对象

2.方法区:存储类的结构信息,静态变量信息,包含常量池(常量池存储常量,字符串)

3.程序计数器:始终指向JVM执行的下一条指令地址

4.栈:JVM是基于栈执行的虚拟机,每启动一个线程,都会分配一块栈空间,JVM的执行就是将栈帧入栈和出栈的操作

5.本地方法栈:执行非java方法,本地方法的栈空间

其中,堆和方法区是所有线程共享的;程序计数器、栈和本地方法栈是每个线程所私有的。

最新文章

  1. 【gulp】工作中的实战
  2. Android 软件开发之如何使用Eclipse Debug调试程序详解及Eclipse常用快捷键(转)
  3. Lua弱引用table
  4. 【ps】gif动态图白边问题
  5. Android_sharePreference_ex1
  6. windows phone 操作 http异步返回结果
  7. Cisco cmd 命令(二)
  8. RedHat虚拟机:Vmware Tools的安装
  9. Java 标准DBUtil 写法
  10. mysql +keeplive+drbd高可用架构
  11. 使用tcp+select实现客户端与客户端的通信
  12. Java内存区域和内存溢出异常
  13. VisualStudio神级插件Resharper技巧基础入门到骨灰玩家使用全教程+Resharper性能优化
  14. Ext.Net的一例Ext Undefined解决办法
  15. 关于如何在Listener中注入service和ServletContextListener源码分析
  16. [转]JSP页面的动态包含和静态包含示例及介绍
  17. goldengate一些參数整理
  18. python 9*9示例
  19. 乞丐版servlet容器第4篇
  20. MemCache 安全使用原则(自己整理,仅供参考)

热门文章

  1. Unity3D_10_文件夹目录架构
  2. Vscode for python ide配置
  3. Linux、Windows 和 Mac 中的换行符对比
  4. 【Unity与Android】01-Unity与Android交互通信的简易实现
  5. vue-cli+webpack打包,上线
  6. Java方法调用的字节码指令学习
  7. [Code] 烧脑之算法模型
  8. [Leetcode] 第306题 累加数
  9. js控制input框输入数字时,累计求和
  10. 使用Git工具批量拉取代码