JVM之GC以及优化

过完年之后感觉人生荒废 说好的不断学习无奈老婆家的习俗太多 什么办新郎官饭什么的赶场太多 根本没时间 都是开车下车吃饭看电影回家洗漱后已经是大半夜…哎呀 不是码农不懂我的苦 我说我想再自己钻研一下自己再学习学习探索探索 无奈人家不肯啊

现在趁着人家睡觉的时候偷偷跑出来 打开笔记本 写一篇博文也算是不负内心的一种行为吧 姑且如此

Java对比C/C++而言,JVM的存在可谓是一个比较良心的产物,对内存的管理相较于C/C++的手动申请->释放而言是比较友好的.开习惯了自动挡再回去开手动挡肯定是十分不适应的,毕竟时代在进步.然而JVM的这一举措方便了开发人员的同时也带来一些问题,如果对JVM的GC不熟悉或者对JVM的运行原理不熟悉的话,想当然地认为GC是万金油会引发很多问题,性能始终上不去,拼命用BTrace查找慢代码,找到了却又无从下手…

JVM我之前有一篇博文,其中简述了一下JMM,分代信息和内存划分,也简单写了一下GC.
在《对于JVM的一些理解》之中有简单介绍.
http://blog.csdn.net/unscdf117/article/details/78692476

对于GC而言光靠猜测肯定是不行的,如果想要对程序进行优化必须去读GC日志信息.理解GC日志是Java开发人员的必备技能之一.先设置一下GC日志的输出路径,我比较懒所以就直接在本机上设置了,设置方式如下图
GC日志路径
此时会在对应路径上生成一个日志文件专门记录GC日志.
我使用IDEA进行开发,在IDEA当中也有JVM的运行参数可以设置,在Run/Debug Configurations中就可以设置 如图:
IDEA中设置Gc日志输出路径
运行之后也会产生对应的日志文件.

打开GC日志看看:
GC日志GC级别
最左边的数字是JVM启动之后GC事件的发生的时间戳,后面有GC和FullGC的一些区别,这里GC括号内定位失败 - - , FullGC是MetaData GC,这里是我的锅,我是使用默认的JDK配置,这是我的锅…

先写到这….我被骂了 哈哈哈哈

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值