JVM
阿凡提的小毛驴
贵有恒,何必三更起五更睡;最无益,只怕一日暴十寒。
展开
-
JVM常用参数配置与内存溢出
常见的Java内存溢出有如下三种java.lang.OutOfMemoryError: Java heap space —-JVM Heap(堆)溢出JVM在启动的时候会自动设置JVM Heap的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)不可超过物理内存。可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置。Heap的大小是Young Generation原创 2017-06-03 00:52:34 · 689 阅读 · 0 评论 -
JVM内存详解Java数据的存储(思维导图整理)
文字 详解http://blog.csdn.net/aaa1117a8w5s6d/article/details/8251456原创 2017-05-11 23:51:39 · 1601 阅读 · 0 评论 -
JVM学习01——Java内存区域划分及内存溢出
运行时数据区域Java虚拟机在执行Java程序过程中会把它管理的内存划分为若干个不同的数据区域。这些区域有各自用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。根据《Java虚拟机规范(Java SE 7版)的规定,Java虚拟机所管理的内存将会包括以下几个运行时数据区域。程序计数器是一块较小的内存空间,可以当作是当前线程所执行的字节码原创 2017-06-01 00:17:55 · 421 阅读 · 0 评论 -
JVM学习02——对象的创建与访问
对象的创建 虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,则先执行相应的类加载过程。类加载检查通过后,接下来虚拟机将为新生对象分配内存。为虚拟机分配内存的任务等同于把一块确定大小的内存从Java堆中划分出来。 在HotSpot虚拟机中,对象在内存中存储的布局可以分为3块区域:对原创 2017-07-23 16:36:21 · 272 阅读 · 0 评论 -
JVM学习03——类加载机制
类加载机制 JVM把class文件加载的内存,并对数据进行校验、转换解析和初始化,最终形成JVM可以直接使用的Java类型的过程就是加载机制。 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的生命周期包括了:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)、卸原创 2017-07-12 00:17:27 · 357 阅读 · 0 评论 -
JVM学习04——垃圾收集算法
跟踪收集器跟踪收集器采用的为集中式的管理方式,全局记录对象之间的引用状态,执行时从一些列GC Roots的对象做为起点,从这些节点向下开始进行搜索所有的引用链,当一个对象到GC Roots 没有任何引用链时,则证明此对象是不可用的。下图中,对象Object6、Object7、Object8虽然互相引用,但他们的GC Roots是不可到达的,所以它们将会被判定为是可回收的对象。转载 2017-07-23 16:58:40 · 342 阅读 · 0 评论 -
JVM学习05——垃圾收集器
HotSpot JVM收集器 上面有7中收集器,分为两块,上面为新生代收集器,下面是老年代收集器。如果两个收集器之间存在连线,就说明它们可以搭配使用。Serial(串行GC)收集器Serial收集器是一个新生代收集器,单线程执行,使用复制算法。它在进行垃圾收集时,必须暂停其他所有的工作线程(用户线程)。是Jvm client模式下默认的转载 2017-07-23 17:02:51 · 330 阅读 · 0 评论