
jvm
文章平均质量分 82
T-OPEN
爱生活,爱技术,爱分享,希望多与同行交流,共建一个良好的开源技术氛围。
展开
-
java中内存泄露8种情况的总结
由于java的JVM引入了垃圾回收机制,垃圾回收器会自动回收不再使用的对象,了解JVM回收机制的都知道JVM是使用引用计数法和可达性分析算法来判断对象是否是不再使用的对象,本质都是判断一个对象是否还被引用。那么对于这种情况下,由于代码的实现不同就会出现很多种内存泄漏问题(让JVM误以为此对象还在引用中,无法回收,造成内存泄漏)。本文将解析常见8种内存泄露的情况原创 2019-04-18 20:41:36 · 74109 阅读 · 14 评论 -
一篇文章搞懂JVM
1.jvm基础知识2.jvm内存管理3.GC相关知识4. 其他jvm相关面试题转载 2019-06-30 22:44:28 · 352 阅读 · 0 评论 -
搞定 JVM 垃圾回收就是这么简单
常见面试问题:如何判断对象是否死亡(两种方法)。简单的介绍一下强引用、软引用、弱引用、虚引用(虚引用与软引用和弱引用的区别、使用软引用能带来的好处)。如何判断一个常量是废弃常量如何判断一个类是无用的类垃圾收集有哪些算法,各自的特点?HotSpot 为什么要分为新生代和老年代?常见的垃圾回收器有那些?介绍一下CMS,G1收集器。Minor Gc ...转载 2019-06-30 22:01:49 · 315 阅读 · 0 评论 -
常量池、perm(持久代)、方法区、栈
常量池指的是在编译期被确定,并被保存在已编译的.class文件中的一些数据。除了包含代码中所定义的各种基本类型(如:int、long等等)和对象型(如String及数组)的常量值(final)还包含一些以文本形式出现的符号引用,比如:#类和接口的全限定名#字段的名称的描述符#方法和名称的描述符虚拟机必须为每个被装载的类型维护一个常量池。常量池就是该类型所用到常量的一个有序集合,包括直接常...转载 2019-07-01 17:06:35 · 686 阅读 · 0 评论 -
JVM中的新生代(Eden空间、两个Survior空间)和老年代
现有的主流JVM分别是HotSpot和JRockit,主要研究对象也是这两个。这篇文章里,我们只研究HotSpot,也就是所谓的Sun JVM。目前阶段,Sun的GC方式主要有CMS和G1两种。考虑到效果和实际应用,这里只介绍CMS。CMS,全称Concurrent Mark Sweep,是JDK1.4后期版本开始引入的新GC算法,在JDK5和JDK6中得到了进一步改进,它的主要适合场景是对响应时...转载 2019-07-01 15:53:06 · 562 阅读 · 0 评论 -
内存泄漏和内存溢出的区别和联系(java)
1.内存泄漏(memory leak)内存泄漏是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄漏似乎不会有大的影响,但内存泄漏堆积后的后果就是内存溢出。2.内存溢出(out of memory 简称:OOM)指程序申请内存时,没有足够的内存供申请者使用,或者说,给了你一块存储int类型数据的存储空间,但是你却存储long类型的数据,那么结果就是内存不够用,此时就会报错OOM,即所谓...转载 2019-04-18 19:16:28 · 666 阅读 · 1 评论 -
栈溢出和栈内存溢出的区别
解释图:上图是jvm内存模型中最为重要的三部分,方法区中存储的是类模板,堆中存放的是实例对象,每个线程都会生成一个栈。何时发生栈内存溢出?对于一台服务器而言,每一个用户请求,都会产生一个线程来处理这个请求,每一个线程对应着一个栈,栈会分配内存,此时如果请求过多,这时候内存不够了,就会发生栈内存溢出。什么时候会发生栈溢出?栈溢出是指不断的调用方法,不断的压栈,最终超出了栈允许的栈深度,就...转载 2019-04-19 11:39:02 · 3026 阅读 · 0 评论 -
堆溢出、栈溢出、永久代溢出、直接内存溢出,无法创建本地线程的分析以及代码实现
栈溢出(StackOverflowError)堆溢出(OutOfMemoryError:Java heap space)永久代溢出(OutOfMemoryError: PermGen space)直接内存溢出 注意每一个方法的上面的虚拟机参数一、堆溢出创建对象时如果没有可以分配的堆内存,JVM就会抛出OutOfMemoryError:java heap space异常。堆溢出...转载 2019-04-19 10:57:05 · 1072 阅读 · 0 评论 -
几种常见的OOM异常解析
OOM为out of memory的简称,称之为内存溢出。程序中常见的打印有如下几类:一:如图:Java应用程序在启动时会指定所需要的内存大小,其主要被分割成两个不同的部分,分别为Head space(堆空间-Xmx指定)和Permegen(永久代-XX:MaxPermSize指定),通...转载 2019-04-19 10:10:04 · 3332 阅读 · 0 评论 -
jvm的GC原理及调优
GC 基础原理本文介绍 GC 基础原理和理论,GC 调优方法思路和方法,基于 Hotspot jdk1.8,学习之后你将了解如何对生产系统出现的 GC 问题进行排查解决。GC 调优目标大多数情况下对 Java 程序进行 GC 调优,主要关注两个目标:响应速度(Responsiveness):响应速度指程序或系统对一个请求的响应有多迅速。比如,用户订单查询响应时间,对响应速度要求很高的...转载 2019-09-26 10:50:39 · 722 阅读 · 0 评论