【深入Java虚拟机】之:Java内存区域与内存溢出 内存区域 Java虚拟机在执行Java程序的过程中会把他所管理的内存划分为若干个不同的数据区域。Java虚拟机规范将JVM所管理的内存分为以下几个运行时数据区:程序计数器、Java虚拟机栈、本地方法栈、Java堆、方法区。下面详细阐述各数据区所存 ...
分类:
编程语言 时间:
2016-06-09 13:27:51
阅读次数:
241
Java.version Java 运行时环境版本 java.vendor Java 运行时环境供应商 java.vendor.url Java 供应商的 URL java.home Java 安装目录 java.vm.specification.version Java 虚拟机规范版本 java. ...
分类:
编程语言 时间:
2016-05-30 19:48:58
阅读次数:
185
一,JVM内存模型概括 还有一个寄存器,线程运行于其上面 1.程序计数器 记录线程的执行位置,线程私有内存,唯一一个在Java虚拟机规范中没有规定任何OutOfMemoryError情况的区域 2.线程栈(VM stack) 栈的默认大小是1M -Xss2m 这样设置成2M 异常 :Fatal: S ...
分类:
其他好文 时间:
2016-05-25 22:06:32
阅读次数:
219
程序计数器:一块较小的内存空间,它的作用可以看做是当前线程所执行的字节码的行号指示器,线程私有。如果线程正在执行的是一个java方法,这个计数器记录的是正在执行的虚拟机字节码的指令地址;如果正在执行的是native方法,这个计数器值为空(undefined)。此内存区域是唯一一个在java虚拟机规范 ...
分类:
其他好文 时间:
2016-05-18 12:42:17
阅读次数:
185
1 Class文件与虚拟机:
Java 虚拟机不和包括Java 在内的任何语言绑定,它只与“Class文件”这种特定的二进制文件格式所关联,Class文件包含了Java虚拟机指令集和符号表以及若干其他辅助信息。基于安全方面的考虑,Java 虚拟机规范要求Class文件中使用许多强制性的语法和结构化约束,但任何一门语言都可以表示为一个能被Java虚拟机所接受的有效的Class文件。Java虚拟机...
分类:
编程语言 时间:
2016-05-12 20:17:36
阅读次数:
157
如果说垃圾收集算法是内存回收的方法论,垃圾收集器就是内存回收的具体实现。Java虚拟机规范中对垃圾收集器应该如何实现没有任何规定,因此不同厂商,不同版本的虚拟机所提供的垃圾收集器都可能会有很大的差别,并且一般都会提供参数供用户根据自己的应用特定和要求进行组合出各个年代所使用的收集器。这里所讨论的收集器是基于Sun HotSpot虚拟机1.6版Update22,这个虚拟机所包含的收集器如下所示:...
分类:
其他好文 时间:
2016-05-07 10:52:29
阅读次数:
153
Java虚拟机规范中试图定义一种Java内存模型(Java Memory Model,JMM)来屏蔽各个硬件平台和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的内存访问效果。那么Java内存模型 规定了哪些东西呢,它定义了程序中变量的访问规则,往大一点说是定义了程序执行的次序 ...
分类:
编程语言 时间:
2016-05-03 23:46:17
阅读次数:
288
按照java内存的结构,发生内存溢出的地方常在于堆、栈、方法区、直接内存。 一、堆溢出 堆溢出原因莫过于对象太多导致,看代码: 二、栈溢出 根据JAVA虚拟机规范描述:如果线程请求的栈深度大于虚拟机所允许的最大深度,将抛出StackOverflowError 如果虚拟机在扩展栈时无法申请到足够的内存 ...
分类:
编程语言 时间:
2016-04-17 16:09:10
阅读次数:
261
java运行时数据区
Java虚拟机在执行java程序的过程中会把它所管理的内存划分为若干个不同的数据区域,这些区域都有各自的用途,已经创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则是依赖用户线程的启动和结束而建立和销毁。根据《java虚拟机规范(第二版)》的规定,java虚拟机锁管理的内存将会包括以下几个运行时数据区。
1、程序计数器
程序计数器(P...
分类:
其他好文 时间:
2016-04-10 14:42:25
阅读次数:
130
虚拟机类加载机制
1. 类的生命周期:
加载、验证、准备、解析、初始化、使用、卸载七个阶段,其中验证、准备、解析三个阶段统称为连接。
其中,解析的阶段的时机并不一定。
2. Java类加载的时机:
Java类加载的时机Java虚拟机规范并没有强调,但是对于初始化阶段,虚拟机规范则严格限定了有且只有5种情况必须立即对类进行初始化:
这五种场景的行...
分类:
其他好文 时间:
2016-04-07 07:14:24
阅读次数:
204