- 博客(5)
- 资源 (8)
- 收藏
- 关注
原创 【Java】JVM(五)、虚拟机类加载机制
一、概念 类加载:虚拟机把类的数据从Class文件加载到内存中,并对数据进行校验,转化解析,和初始化,最终形成可以被虚拟机直接使用的Java类型。 二、加载时机 1.加载 加载阶段虚拟机完成的工作为: 1)通过类全限定名来获取定义此类的二进制流。 2)将字节流代表的静态存储结构转化为方法区运行时的数据结构。 3)在内存中生成代表这个类的ja...
2018-07-20 11:23:00 119
原创 【Java】JVM(四)、虚拟机参数配置
1.-Xms20M JVM启动时候的内存大小为20M 2.-Xmx20M JVM内存最大值是20M 将其与Xms大小一致可以避免JVM内存自动扩展 3. -Xss128K 表示可以设置虚拟机栈大小为128K 4. -Xoss128K 表示设置本地方法栈的大小为128K(HotSpot不区分虚拟机栈和方法栈) 5. -...
2018-07-12 09:36:00 136
原创 【Java】JVM(三)、Java垃圾收集器
一、Minor GC、Major GC 和 Full GC Minor GC:清理新生代空间,当Eden空间不能分配时候引发Minor GC Major GC:清理老年代空间 Full GC:清理Java堆空间 二、新生代垃圾收集器 1. Serial 收集器 线程:单线程收集器, 算法:新生代标记复制,老年代标记整理 缺点:在进行垃圾...
2018-07-12 09:14:00 127
原创 【Java】JVM(二)、Java垃圾收集算法
一、标记-清除算法 算法主要分为两个步骤 1. 标记: 遍历所有的 GC Roots, 然后标记所有可达对象为存活对象 2. 清除: 遍历堆中所有对象,然后将没有标记的对象清除。 存在不足: 1. 效率低下。 2. 产生大量的磁盘空间 二、复制算法 原理:将磁盘分为一半一半,每次都是用50%内存,在内存用完了, 将这50%内存中存活的...
2018-07-11 10:01:00 109
原创 【Java】JVM(一)、Java内存区域
一、程序计数器(Program Counter Register) 当前执行字节码的行号指示器,可以通过修改该计数器的值来实现字节码指令(分支,循环,跳转等), 每个线程都都有一个程序计数器, 属于线程的私有变量, 独立存储, 互不影响。 ps. 如果当前执行的是Java方法,该计数器记录的事正在执行的指令地址。如果当前执行的事Native方法(本地方法,与平台有关,由于Java无...
2018-07-10 21:55:00 115
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人