jvm
文章平均质量分 69
清墨迹染
悟来时见江海古,苍崖行遍谒玄门;向道偶题人间事,一笛一剑一昆仑
展开
-
jstack命令排查cpu占用过高问题
1、当系统cpu占用率过高时,可以通过top命令查看当前cpu占用率最高的线程可以看到排在第一位的pid为22705的进程cpu占用率最高2、可以通过top -H -p pid命令查看某个pid的进程下各线程的cpu占用情况这里可以看到pid为22758的线程cpu占用率最高,因为线程ID在jstack日志中是以十六进制显示的,所以我们将22758转换成十六进制58e6这里通过jstack 命令查看进程22705的cpu占用,并找到线程Id为58e6的日志在这里可以看到当前java线程的状态原创 2021-11-02 17:22:47 · 1537 阅读 · 0 评论 -
如何优化你的网站性能(一)——GC调优、即时编译JIT
优化一个java程序的执行有很多种途径,下面分别从代码、并发、缓存、异步、网络、jvm调优等方面一一描述。GC调优先说一下经验,就是要不断的去调,选择一个合适的堆大小,再去应用调优的目的GC次数够少GC时间够小调优原则和步骤1、大多数的java应用程序不需要GC调优2、大多数需要GC调优的不是参数问题,是代码问题3、GC调优是最后的手段,逼不得已才用调优调的是什么?第一:选择合适的GC回收器第二:选择合适的堆大小第三:选择年轻代在堆中的大小1、监控GC的状态2、分析GC结果,判原创 2021-04-25 13:10:36 · 361 阅读 · 0 评论 -
类加载机制
一、类加载的几个阶段1、初始化的条件以下五种情形会触发类的初始化1、通过new关键字创建对象2、调用类的静态属性3、反射4、初始化一个类,但父类还没有初始化,要先初始化父类5、应用程序主类,main方法的类6、动态语言支持...原创 2021-01-05 23:58:06 · 198 阅读 · 0 评论 -
jvm内存分区模型(一)
jvm内存模型jvm分区从线程角度分析jvm分区栈最近一直有在学习java的jvm模型,由繁入简,网上的一些博客写的点都比较片面,今天简单系统的总结一下!jvm分区如上图,jvm在运行时,会把其所管理的内存分为以上5个模块的,其中永久区已经在jdk 1.8中被元空间所替代。下面咱们分点描述。1.方法区(永久区):方法区和堆类似,是各个线程共享的内存区域,它用于存储类信息,常量,静态变量...原创 2019-08-08 23:12:33 · 1088 阅读 · 0 评论 -
java中堆的分区
上次简单记录了jvm的五大模块,着重了解了下栈的机制,这次来学习jvm的核心——堆堆的作用1、堆是jvm管理内存最大的一部分,一般用来存储对象和数组(每个对象都包含一个与之对应的class的信息(class信息存放在方法区)),2、是一块线程共享的区域,3、堆是垃圾回收器管理(GC)的主要区域。新生代、老生代、永久代的概念就是在堆里堆内存可以处于物理上不连续的内存空间中,只要逻辑上是连续的...原创 2019-08-12 22:19:09 · 4082 阅读 · 3 评论 -
别再说不知道元空间和永久代的区别了
java8之前永久代:用来存储类的编译信息,常量、和静态变量堆和方法去逻辑上是分开的,但是在物理内存上两者又是连续的在精确一些,实际上是方法区和老年代是相连的,所以永久代的垃圾收集是和老年代捆绑在一起的,因此无论谁满了,都会触发永久代和老年代的垃圾收集。...原创 2020-08-31 18:06:43 · 1642 阅读 · 1 评论 -
几种常见垃圾收集器原理及使用
1、判断对象是否可回收(存活)之前介绍过的引用计数法存在一定的缺陷,即循环引用的对象无法被回收,因此jvm中未使用,这里介绍一种新的算法可达性分析算法这个算法的基本思路就是通过一系列的称为“GC Roots”的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链(Reference Chain),当一个对象到GC Roots没有任何引用链相连时,则证明此对象是不可用的。作为GC Roots的对象包括下面几种:1 虚拟机栈(栈帧中的本地变量表)中引用的对象。2 方法区中类静态属性引用原创 2020-10-30 09:55:09 · 4448 阅读 · 0 评论 -
垃圾收集器之G1
Garbage First(G1) 垃圾优先g1把堆分成了很多块,每一块可能被定义成年轻代,或者年老代首先,G1的设计原则就是简单可行的性能调优开发人员仅仅需要声明以下参数即可:指令意义-XX:+UseG1GC开启G1垃圾收集器-Xmx32g设计堆内存的最大内存为32G-XX:MaxGCPauseMillis=200设置GC的最大暂停时间为200ms需要调优,在内存大小一定的情况下,我们只需要修改最大暂停时间即可。(可预测停顿:消耗在垃圾收集器上得时间原创 2020-11-02 17:17:27 · 201 阅读 · 0 评论