导航菜单
路很长,又很短
博主信息
昵   称:Cocodroid ->关于我
Q     Q:2531075716
博文数:297
阅读量:604882
访问量:56576
至今:
×
分享博文列表:【JVM
· 一次CMS GC问题排查过程(理解原理+读懂GC日志)
    这个是之前处理过的一个线上问题,处理过程断断续续,经历了两周多的时间,中间各种尝试,总结如下。这篇文章分三部分:1、问题的场景和处理过程;2、GC的一些理论东西;3、看懂GC的日志先说一下问题吧问题场景:线上机器在半夜会推送一个700M左右的数据,这个时候有个数据置换的过程,也就 ...更多
(552)阅读 2017-11-08

· JVM调优总结 -Xms -Xmx -Xmn -Xss
    堆大小设置JVM中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在WindowsServer2003系统,3.5G物理内存,J ...更多
(515)阅读 2017-11-07

· CMS收集器的一些参数
    CMS收集器的过程CMS收集器的GC周期由6个阶段组成。其中4个阶段(名字以Concurrent开始的)与实际的应用程序是并发执行的,而其他2个阶段需要暂停应用程序线程。初始标记:为了收集应用程序的对象引用需要暂停应用程序线程,该阶段完成后,应用程序线程再次启动。并发标记:从第一 ...更多
(384)阅读 2017-10-31

· Jvm垃圾回收器详细
    1,串行回收器1.1,新生代串行回收器(1)特点:  –它仅仅使用单线程进行垃圾回收  –它是独占式的垃圾回收  –进行垃圾回收时,Java应用程序中的线程都需要暂停(Stop-The-World)  –使用复制算法  –适合CPU等硬件不是很好的场合(2)设置参数:  -XX: ...更多
(393)阅读 2017-10-18

· Linux与JVM的内存关系分析
    引言在一些物理内存为8g的服务器上,主要运行一个Java服务,系统内存分配如下:Java服务的JVM堆大小设置为6g,一个监控进程占用大约600m,Linux自身使用大约800m。从表面上,物理内存应该是足够使用的;但实际运行的情况是,会发生大量使用SWAP(说明物理内存不够使用 ...更多
(361)阅读 2017-09-27

· Synchronized与三种锁态
    1对象头与锁要了解Synchronized的锁,必须知道对象头是怎么回事。因此这个锁就保存在对象头中。Hotpot虚拟机的对象头分两部分信息,第一部分用于存储对象自身的运行时数据,如HashCode,GC分代年龄等,这部分数据长度在32位和64位虚拟机中分别为32bit和64bi ...更多
(319)阅读 2017-09-18

· java对象在内存中的结构(转帖)
       今天看到一个不错的PPT:BuildMemory-efficientJavaApplications,开篇便提出了一个问题,在HotspotJVM中,32位机器下,Integer对象的大小是int的几倍?我们都知道在Java语言规范已经规定了int的大小是4个字节,那么In ...更多
(347)阅读 2017-09-18

· 偏向锁,轻量级锁,自旋锁,重量级锁的详细介绍
    何为同步?JVM规范规定JVM基于进入和退出Monitor对象来实现方法同步和代码块同步,但两者的实现细节不一样。代码块同步是使用monitorenter和monitorexit指令实现,而方法同步是使用另外一种方式实现的,细节在JVM规范里并没有详细说明,但是方法的同步同样可以 ...更多
(289)阅读 2017-09-18

· 【转载】Java中的锁机制 synchronized & 偏
    参考文章: http://blog.csdn.net/chen77716/article/details/6618779目前在Java中存在两种锁机制:synchronized和Lock,Lock接口及其实现类是JDK5增加的内容,其作者是大名鼎鼎的并发专家DougLea。本文并 ...更多
(362)阅读 2017-09-18

· 多线程之:偏向锁,轻量级锁,重量级锁
    一:java多线程互斥,和java多线程引入偏向锁和轻量级锁的原因?--->synchronized的重量级别的锁,就是在线程运行到该代码块的时候,让程序的运行级别从用户态切换到内核态,把所有的线程挂起,让cpu通过操作系统指令,去调度多线程之间,谁执行代码块,谁进入阻塞状态。这 ...更多
(309)阅读 2017-09-18

· GC日志分析工具汇总
    Gc日志参数通过在tomcat启动脚本中添加相关参数生成gc日志-verbose.gc开关可显示GC的操作内容。打开它,可以显示最忙和最空闲收集行为发生的时间、收集前后的内存大小、收集需要的时间等。打开-xx:+printGCdetails开关,可以详细了解GC中的变化。打开-X ...更多
(416)阅读 2017-08-14

· 假笨说-从一起GC血案谈到反射原理
    概述公司之前有个大内存系统(70G以上)一直使用CMSGC,不过因为该系统对时间很敏感,偶尔会因为gclocker导致remark特别长(虽然加了-XX:+CMSScavReengeBeforeRemark参数,但是gclocker会导致remark前的YGC被delay),无法 ...更多
(351)阅读 2017-08-12

· jvm各种收集器介绍
    各种收集器介绍:Serial收集器:单线程收集器,必须暂停其他所有的工作线程,默认client模式下新生代的收集器ParNew收集器:Serial的多线程版本,一般在Servr模式下的新生代首选收集器,除Serial外,目前只有它能与CMS收集器配合工作,ParNew收集器在单c ...更多
(350)阅读 2017-08-12