
JVM
爱上香锅的麻辣
高级Java开发工程师,熟悉电商系统整体架构(尤其是订单和商品系统)和服务治理体系
展开
-
Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceeded
OutOfMemoryError,大家都知道是内存溢出了,那么GC overhead limit exceeded又是什么意思呢?GC overhead limit exceeded 这是JDK6新增的错误类型,当GC占用大量时间释放很小空间时就会抛出这个异常,是JDK自身的一种保护机制。GC overhead limt exceed检查是通过统计GC时间来预测是否需要OOM。原创 2017-03-21 13:15:03 · 4445 阅读 · 0 评论 -
写代码实现堆溢出、栈溢出、永久代溢出、直接内存溢出
1. 栈溢出(StackOverflowError)2. 堆溢出(OutOfMemoryError:Java heap space)3. 永久代溢出(OutOfMemoryError: PermGen space)4. 直接内存溢出原创 2017-03-18 09:50:56 · 22321 阅读 · 3 评论 -
Java编译器——javac.exe
一、javac.exe简介javac.exe是java语言编译器。javac读取由java语言编写的类和接口的定义,并将它们编译成字节代码的class文件。注意:javac.exe使用Java语言编写的,而不是C语言,至于如何将Java程序封装为.exe文件,可以参考下面的博客: http://blog.youkuaiyun.com/kevinzhangfei/article/details/4569170转载 2015-10-26 21:37:01 · 11971 阅读 · 3 评论 -
JVM参数配置
一、JVM参数类型在生产环境中,一般情况下配置的参数有3种类型的:-X:非标准参数,不是每个虚拟机都实现了,例如-Xms2g-XX:非稳定性参数,例如-XX:NewSize=2g 使用方式有下面3种: -XX:+<option> 开启option参数 -XX:-<option> 关闭option参数 -XX:-<option>=<va...原创 2015-10-26 23:01:31 · 1089 阅读 · 1 评论 -
1.JVM垃圾回收机制-哪些内存需要回收
在探讨JVM的垃圾回收机制时,无非就是想方设法地解决下面3个问题:哪些内存需要回收——what什么时候回收——when如何回收——how那到底哪些内存需要回收呢?首先看看JVM的内存模型 其中,程序计数器、栈(虚拟机栈和本地方法栈)两部分的内存随线程而生,随线程而灭。直接内存又称对外内存,不是由JVM负责管理的。 但是,堆和方法区不一样,对于堆而言,对象是在运行...原创 2015-10-18 12:35:29 · 950 阅读 · 0 评论 -
2.JVM垃圾回收机制-什么时候回收内存
在前面的文章中,我们介绍过JVM垃圾回收机制负责的是堆和方法区的内存。 参考:http://blog.youkuaiyun.com/u011983531/article/details/49227013在本篇中,将重点关注堆和方法区的内存何时会被回收。 简单来说,当一个对象已经死亡时,就会对其进行回收,那么根据什么方法来判断对象是否死亡呢?一.引用计数算法算法描述:给对象添加一个引用计...原创 2018-03-08 09:42:17 · 4613 阅读 · 1 评论 -
JVM如何处理StackOverflowError
如何模拟StackOverflowError,可以参考: http://blog.youkuaiyun.com/u011983531/article/details/63250882我们知道,当虚拟机栈容量太小或者栈帧太大时,程序都会抛出StackOverflowError异常,对于StackOverflowError的处理方法,有下面两种:通过try…catch(Throwable ...原创 2018-03-15 09:22:01 · 2220 阅读 · 0 评论 -
如何处理CPU负载过高
方法一第一步:找到占用CPU过高的进程的pid 使用top命令,然后按shift+p按照CPU排序第二步:找到进程中消耗资源最高的线程的id 使用top -H -p [进程id]第三步:将线程id转换为16进制(字母要小写) 使用echo 'obase=16;[线程id]' | bc或者printf "%x\n" [线程id] 【bc是linux的计算器命令】第四步:查看线程状...原创 2018-03-15 09:49:08 · 17387 阅读 · 1 评论 -
3.JVM垃圾回收机制-如何回收内存
在前面的文章中,我们已经介绍过哪些内存需要回收以及什么时候回收。 哪些内存需要回收:http://blog.youkuaiyun.com/u011983531/article/details/49227013 什么时候回收:http://blog.youkuaiyun.com/u011983531/article/details/79479972在本篇中,我们来看看具体如何回收已经不可用的内存。一.垃圾回...原创 2018-03-09 09:41:46 · 690 阅读 · 0 评论