JVM
stalin_
程序员界的小学生
展开
-
JVM虚拟机学习--GC垃圾回收机制及常用算法介绍
一、GC--Garbage Collection 直译就是垃圾回收。GC主要是用来回收内存中已经被用完但是未被释放的空间(主要是指堆内存)。通过GC可以一定程度避免内存溢出。内存垃圾回收并不只是Java虚拟机独创的。很多其他主流语言都有垃圾回收思想。二、新生代与老年代:新生代:存放新生代对象的堆,新生代对象指刚创建的对象,或没有经历过几次垃圾回收的对象。老年代:存放老年代对象的...原创 2018-10-08 17:33:37 · 288 阅读 · 0 评论 -
JVM虚拟机学习--JVM构成
JVM虚拟机在运行Java程序时,会把它所管理的内存分成不同的数据区域。这些区域各自有其用途。这些区域分别是:程序计数器:一块极小的内存空间,是当前线程所执行的字节码的行号指示器。字节码解释器通过修改程序计数器的值来选取下一条需要执行的字节码指令。需要注意的是,每个线程都有一个程序计数器,它们互不影响,独立存储。Java虚拟机栈:也是线程私有的,主要存放了局部变量表(基本数据类型,对象...原创 2018-09-29 16:29:10 · 266 阅读 · 0 评论 -
JVM虚拟机学习--GC垃圾收集器发展史
GC垃圾收集器从JDK1.3至今,发展出一大批垃圾收集器。它们不断完善,回收机制越来越复杂。为消除或减少工作线程因内存回收而导致停顿而不断努力着,用户线程的停顿时间不断缩短,但仍没办法完全消除。更优秀的垃圾收集器仍然在不断的被研究出来。下面就来介绍一下这些发展过程中的GC垃圾收集器。1.Serial 收集器:是最古老,最基本的一款垃圾收集器,由于初代没有考虑到太多性能问题,它是唯一一个单线...原创 2018-10-09 10:49:54 · 449 阅读 · 0 评论 -
JVM虚拟机学习--内存泄漏和内存溢出
内存泄漏memory leak :是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄漏似乎不会有大的影响,但内存泄漏堆积后的后果就是内存溢出。内存溢出 out of memory :指程序申请内存时,没有足够的内存供申请者使用,或者说,给了你一块存储int类型数据的存储空间,但是你却存储long类型的数据,那么结果就是内存不够用,此时就会报错OOM,即所谓的内存溢出。二者的关系:...原创 2018-09-30 15:35:47 · 189 阅读 · 0 评论 -
JDK的命令行工具(jps,jmap,jstat,jstack...)的介绍和使用
当你的程序出现例如堆栈溢出,程序崩溃等问题,往往可以通过Jvm的自带命令行工具来进行排查。本文主要介绍内容:Jcmd:综合工具jps:虚拟机进程状况工具jstat:虚拟机统计信息监视工具jinfo:Java配置信息工具jmap:Java内存映像工具jhat:虚拟机堆转储快照分析工具jstack:Java堆栈跟踪工转载自:https://www.cnblogs.c...转载 2019-06-26 14:54:39 · 1515 阅读 · 0 评论