深入理解Java虚拟机 1. 什么是JVM? JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收 ...
分类:
其他好文 时间:
2018-01-24 13:59:39
阅读次数:
138
JVM——垃圾收集器总结 一、垃圾收集器概览 收集算法是内存回收的方法论,垃圾收集据是内存回收的具体实现。Java虚拟机规范中对垃圾收集器应该如何实现没有规定,不同的厂商、不同版本的虚拟机所提供的垃圾收集器可能会有很大差别,一般都会提供参数供用户根据自己的所用特点和要求组合出各个年代所使用的收集器。 ...
分类:
编程语言 时间:
2018-01-21 12:29:15
阅读次数:
126
1. 程序计数器(Program Counter Register)当前线程所执行的字节码的行号指示器。如果线程正在执行的是一个Java方法,这个计数器记录的是正在执行的虚拟机字节码指令的地址;如果正在执行的是native方法,这个计数器值则为空(Undefined)。线程私有。唯一一个在Java虚拟机规范中没有规定任何OutOfMemoryError情况的区域。2. Java虚拟机栈(Java
分类:
编程语言 时间:
2018-01-21 01:10:59
阅读次数:
223
1、垃圾收集算法 垃圾收集算法的实现涉及大量的程序细节,而且各个平台的虚拟机操作内存的方法又各不相同,介绍几种垃圾收集算法的思想及其发展过程. 1.1、标记-清除算法 垃圾收集分为“标记” 和“清除”两个阶段:首先标记所有需要回收的对象,在标记完成后统一回收所有被标记的对象。说它是最基础的收集算法, ...
分类:
编程语言 时间:
2018-01-20 21:29:13
阅读次数:
176
垃圾收集器在对堆进行回收前,首先要做的事情就是要确定这些对象之中哪些还“存活”着, 哪些已经“死去" (即不可能再被任何途径使用的对象)。 一、引用计数算法 给每个对象中添加一个引用计数器,每当有一个地方引用它时, 计数器值就加l ; 当引用失效时,计数器值就减l :任何时刻计数器为0 的对象就是不 ...
分类:
编程语言 时间:
2018-01-20 20:29:21
阅读次数:
191
最近因项目存在内存泄漏,故进行大规模的JVM性能调优 , 现把经验做一记录。 一、JVM内存模型及垃圾收集算法 1.根据Java虚拟机规范,JVM将内存划分为: New(年轻代) Tenured(年老代) 永久代(Perm) 其中New和Tenured属于堆内存,堆内存会从JVM启动参数(-Xmx: ...
分类:
其他好文 时间:
2018-01-20 14:01:45
阅读次数:
200
在Java中,异常情况分为Exception(异常)和Error(错误)两大类,Java异常通常是指程序运行过程中出现的非正常情况,如用户输入错误、除数为零、需要处理的文件不存在、数组下标越界等,对于异常情况的出现,可以采用异常处理,以保证程序可以正常的执行。Java中定义两种类型的异常和错误:1. JVM(Java虚拟机) 异常:由 JVM 抛出的异常或错误。例如:NullPointerExce
分类:
编程语言 时间:
2018-01-19 17:52:17
阅读次数:
220
《Java编程思想》 《深入理解Java虚拟机》 《Java并发编程实战》 《Netty权威指南》 ...
分类:
编程语言 时间:
2018-01-19 17:25:46
阅读次数:
195
类加载器概述: java类的加载是由虚拟机来完成的,虚拟机把描述类的Class文件加载到内存,并对数据进行校验,解析和初始化,最终形成能被java虚拟机直接使用的java类型,这就是虚拟机的类加载机制.JVM中用来完成上述功能的具体实现就是类加载器.类加载器读取.class字节码文件将其转换成jav ...
分类:
编程语言 时间:
2018-01-18 17:03:10
阅读次数:
184
Java内存模型即Java Memory Model,简称JMM。JMM定义了Java 虚拟机(JVM)在计算机内存(RAM)中的工作方式。JVM是整个计算机虚拟模型,所以JMM是隶属于JVM的。 如果我们要想深入了解Java并发编程,就要先理解好Java内存模型。Java内存模型定义了多线程之间共 ...
分类:
编程语言 时间:
2018-01-18 14:59:23
阅读次数:
167