4.JVM内存模型

原创 2016年05月31日 11:20:22

1.stack(线程私有)

管理方法执行时的内存模型。stack里面有帧,用于记录方法执行时的变量,参数,动态链接库,返回信息,地址等。

递归调用时要非常注意stack over flow的异常。

还受当前内存的限制,如果内存不够也会oom异常。

2.native method area(线程私有)

不是java实现而是通过本地的C/C++实现,此时jvm引擎要通过JNI去做。

3.heap(全局共有) 

用于存储对象。也是jvm垃圾回收的主要区域。 

4.c/c++(全局共有)

5.program counter register(线程私有)

每个线程私有的记录程序下条运行指令的对象,主要用于线程数大于core时起作用。可以指向java,也可以是c、c++,但此时为null

6.method area包含constant pool(全局共有)

存放常量,静态变量,编译后的字节码,一般情况下不会被jvm回收。但是当类所创建的所有实例被回收时,同时在这个类的classold也被回收时,这时有可能方法区的代码有可能被回收。

5.direct memory

使用nio时直接通过本地来分配具体的内存空间。tachyon大规模的使用nio。

虽然直接使用channel和buffer的方式作为新的内存方式,但仍然可能会导致内存溢出。此时会产生offheap级别的异常。




版权声明: 举报

相关文章推荐

jvm内存模型

作为Java开发人员来说,并不需要像C/C++开发人员,需要时刻注意内存的释放,而是全权交给虚拟机去管理,那么有就必要了解虚拟机的运行时内存是如何构成的。运行时内存模型,分为线程私有和共享数据区两大类...

jvm内存模型

参照深入JVM这本书1、程序计数器程序计数器(Program Counter Register)是一块较小的内存空间,它的作用可以看做是当前线程所执行的字节码的行号指示器。在虚拟机的概念模型里(仅是概...

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

JVM-内存模型

本篇其实就是一个读书笔记,书是《深入理解JAVA虚拟机》,在网上搜索JAVA内存,说的比较好的其实很多都源自这本书,作为一个JAVA程序员,理解虚拟机是通向高级程序员的必经道路。本篇中的图片源自当时网...

JVM内存模型

JVM内存模型JVM内存模型 jVM的启动流程 JVM的基本结构 内存模型 代码块 小结jVM的启动流程先来说下JVM的启动流程 1) 创建JVM装载环境和配置 2) 装载JVM.dll 3...

JVM(二)— JVM内存模型

JVM内存模型

JVM内存模型

一. JVM内存模型总体架构图 1. 程序计数器 程序计数器(Program Counter Register)是一块较小的内存空间,它的作用可以看做是当前线程所执行的字节码的行号指示器。在虚拟机...

JVM内存模型

JVM定义了若干个程序执行期间使用的数据区域。这个区域里的一些数据在JVM启动的时候创建,在JVM退出的时候销毁。而其他的数据依赖于每一个线程,在线程创建时创建,在线程退出时销毁。 ...

JVM内存模型

内存模型JVM定义了若干个程序执行期间使用的数据区域。这个区域里的一些数据在JVM启动的时候创建,在JVM退出的时候销毁。而其他的数据依赖于每一个线程,在线程创建时创建,在线程退出时销毁。JVM内存模...

JVM内存模型

一、程序计数器(Program Counter Register): 类似于PC寄存器,记录线程的执行位置,线程私有,执行JAVA方法时存储执行指令的地址。 唯一一个在JAVA虚拟机规范中没有规定...

JVM内存模型

深入理解JVM—JVM内存模型 --------------------------------------------以下文章大部分内容来源于:http://www.th7.cn/Prog...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)