jvm
文章平均质量分 88
zcf9916
这个作者很懒,什么都没留下…
展开
-
第一篇 初识Java虚拟机
一. Java虚拟机的基本结构以及各个部分的作用 每个区域各司其职 1. 类加载系统负责从文件系统或者网络中加载class信息 2. 方法区存放加载的class信息 3. java堆存放几乎所有的对象实例。所有线程共享. 4. 直接内存可以用java nio库来分配,直...原创 2018-01-15 15:44:36 · 139 阅读 · 0 评论 -
第二篇 jvm常用参数
不同的jvm参数可以在gc信息中显示出不同的内容,我们先来学习以下简单的gc信息. 开启-XX:+PrintGCDetails参数,运行java程序查看gc信息 [GC (System.gc()) [PSYoungGen: 523K->368K(4608K)] 523K->376K(15872K(可用堆大小)), 0.0014747 secs] [Times: ...原创 2018-01-15 16:10:52 · 105 阅读 · 0 评论 -
第三篇 JVM垃圾回收算法以及引用类型
JVM垃圾回收算法以及引用类型 一.垃圾回收算法 垃圾回收是java体系最重要的组成部分之一.垃圾回收顾名思义就是把不用的对象给丢弃,释放内存空间. 接下来来看看java垃圾回收机制的理论基础:引用技术法,标记压缩法,标记清楚法,复制算法和分代分区. 1.引用技术法 引用计算法的实现很简单,对于一个对象a,只要有任何一个根对象引用它,那...原创 2018-01-15 16:54:11 · 138 阅读 · 0 评论 -
第四篇 垃圾回收器以及内存分配
垃圾回收器以及内存分配 一.垃圾回收器 1.串行回收器 它分为新生代串行回收器和老年代串行回收器 1.1新生代串行回收器 它有两个特点:单线程,独占式。在实时性要求高的系统,这个是不可接收的. 新生代串行处理器默认使...原创 2018-01-16 10:54:44 · 126 阅读 · 0 评论 -
第七章 java堆
java堆 一.内存溢出的原因 1.堆溢出 当堆中强引用对象占用了大部分空间,导致内存无法回收,对象大小之和大于-Xmx就会导致堆溢出. 2.直接内存溢出 下面的代码申请直接内存,导致直接内存溢出 . 当JAVA进程的所有内存之和(堆空间,栈空间,直接内存,以及虚拟机自身所用的内存)大于-Xmx *2的时候,就会出...原创 2018-01-16 14:53:41 · 108 阅读 · 0 评论 -
第八章 Class装载系统
Class装载系统 一.class文件的装载过程 class文件通常以文件的形式存在,只有被虚拟机装载的class类型才能在程序中使用.系统装载CLass类型可以分为加载,连接和初始化. 1.1类装载的条件 Class只有在必须要使用的时候才会被加载,一个类或者接口在初次使用前必须要初始化. 被动使用不会引起类的初始化. 下面的例子,只会初始化Par...原创 2018-01-17 16:05:32 · 158 阅读 · 0 评论