Java_JVM
文章平均质量分 53
韩师学子--小倪
不要告诉别人你的计划,只需要让别人知道结果就行了。
展开
-
Java中9种常见的CMS GC问题分析与解决
Java中9种常见的CMS GC问题分析与解决 - 美团技术团队转载 2023-01-07 21:14:20 · 177 阅读 · 0 评论 -
java堆栈、gc、dump文件在线分析
HeapHero是一款简单的,易用的内存分析工具,进行dump文件分析。jstack文件在线分析。原创 2023-01-07 14:41:12 · 1359 阅读 · 0 评论 -
GC问题记录 – DirectByteBuffer
背景项目因使用cxf框架进行webservice调用,gc日志会出现周期性显示System.gc()的full gc调用,每十小时执行一次。采取的解决手段:增加JVM参数-XX:+DisableExplicitGC,这个参数会使显示的调用System.gc()空转,不会执行垃圾回收。但是,引起了另外一个问题:系统一直正常运行着,没有进行full gc,实际java的堆内存占比正常,然而系统的物理应用内存占用量很大,影响到了系统的运行。原因ByteBuffer有两种:heap ByteBu原创 2022-05-03 14:29:23 · 506 阅读 · 0 评论 -
周期性的显示调用full gc
目录背景排查cxf问题解决方案背景服务gc日志每十小时执行一次full gc,如下:2022-03-30T05:04:36.659+0800: 1188030.244: [Full GC (System.gc()) 2022-03-30T05:04:36.659+0800: 1188030.244: [CMS: 262271K->253610K(917504K), 0.6862360 secs] 298618K->253610K(1035520K), [Me原创 2022-03-30 22:24:37 · 889 阅读 · 0 评论 -
周期性Full GC的解决
周期性Full GC的解决目录背景原因参数说明背景线上应用的垃圾收集出现定时Full GC的异常现象。1) 每隔10小时触发一次Full GC;2) 每次Full GC持续时间约为2~3秒;3) 与环境无关,线上环境、测试环境都会出现此问题;原因1. 很多NIO框架,比如netty会有很多内存映射的代码(mem...原创 2020-02-26 13:24:36 · 909 阅读 · 0 评论 -
Java性能调优七种武器
Java性能调优七种武器目录JDK命令行Eclipse Memory AnalyzerJMX - Jconsole, VisualVMBtraceFlight Recorder Java Mission ControlJProfiler火焰图线上服务有时候我们会碰到下面这些问题: OutOfMemoryError,...原创 2019-12-16 20:54:36 · 505 阅读 · 0 评论 -
如何应对线上服务出现full gc
如何应对线上服务出现full gc目录top和psdump 一下内存数据jhat命令OQLjmap命令jstack命令jstat命令top和ps用top 命令查看对应java的pid(这边是62147),也可以用ps查线对应服务进程的pidps -ef | grep java | grep ‘服务名’du...原创 2019-12-15 16:34:29 · 512 阅读 · 0 评论 -
jvm参数配置解析
jvm参数配置解析参数 说明 -Xmx2048M JVM最大堆内存 -Xms2048M JVM最初始堆内存 -Xmn256M JVM年轻代大小(整个堆大小=年轻代大小 + 年老代大小 + 持久代大小。持久代一般固定大小为64m) -XX:MaxMetaspa...原创 2019-11-03 09:56:35 · 325 阅读 · 0 评论 -
Allocation Rate和GC(Allocation Failure)
Allocation Rate和GC(Allocation Failure)Allocation Rate, 翻译为分配速率, 而不是分配率; 因为不是百分比,而是单位时间内分配的量;高分配速率(High Allocation Rate)分配速率(Allocation rate)表示单位时间内分配的内存量。通常使用MB/sec作为单位, 也可以...原创 2019-10-29 20:32:51 · 1598 阅读 · 0 评论 -
JVM虚拟机学习(虚拟机参数)
JVM虚拟机学习(虚拟机参数) java虚拟机概述和基本概念 堆、栈、方法区 了解虚拟机参数java虚拟机的原理java虚拟机的基本结构基本概念说明堆、栈、方法区概念和联系Java堆java栈Java方法区虚拟机参数堆分配参数package com.bjsxt.base001;public...原创 2018-12-17 10:55:42 · 245 阅读 · 0 评论 -
为什么栈的速度比堆要快
为什么栈的速度比堆要快 在栈上分配的内存系统会自动地为其释放,例如在函数结束时,局部变量将不复存在,就是系统自动清除栈内存的结果。但堆中分配的内存则不然:一切由你负责,即使你退出了new表达式的所处的函数或者作用域,那块内存还处于被使用状态而不能再利用。好处就是如果你想在不同模块中共享内存,那么这一点正合你意,坏处是如果你...转载 2019-10-19 12:24:22 · 5537 阅读 · 0 评论 -
搞定 JVM 垃圾回收就是这么简单
搞定 JVM 垃圾回收就是这么简单 转载:https://mp.weixin.qq.com/s?__biz=MzI3NzE0NjcwMg==&mid=2650122161&idx=2&sn=a243d73eb24cfef97ddda665fb9ce301&chksm=f36bba90c41c33...转载 2018-09-28 11:29:59 · 880 阅读 · 0 评论 -
Java-String.intern的深入研究
Java-String.intern的深入研究 When---什么时候需要了解String的intern方法:面试的时候(蜜汁尴尬)!虽然不想承认,不过面试的时候经常碰到这种高逼格的问题来考察我们是否真正理解了String的不可变性、String常量池的设计以及String.intern方法所做的事情。但其实,我们在实际的编程中也可能碰...转载 2018-09-16 22:12:54 · 103 阅读 · 0 评论 -
Java中的常量池(字符串常量池、class常量池和运行时常量池)
转载:https://blog.csdn.net/zm13007310400/article/details/77534349转载 2018-07-07 13:30:39 · 344 阅读 · 0 评论 -
JVM--Class类文件结构(二)
JVM--Class类文件结构(二)转载:https://blog.csdn.net/championhengyi/article/details/78394127之所以将属性表拿出来单独进行讲解,就是因为在上一篇博客中我已经说过,在Class类文件中,最重要的当属常量池与属性表部分,而属性表中的属性目前已高达21项,当然我们不用全部记住它们,只需要熟悉其中的几个关键属性。属性表基本结构我们今天只...转载 2018-07-14 10:28:12 · 136 阅读 · 0 评论 -
JVM--Class类文件结构(一)
JVM--Class类文件结构(一)转载:https://blog.csdn.net/championhengyi/article/details/78300611不知道大家有没有对.java文件进行编译之后生成的.class文件好奇过。我们都知道Java中的class文件是经过Java编译器对Java类文件进行编译后的产物。我想有不在少数的C程序员在学习Java之后在认知上会粗略的认为C程序在经...转载 2018-07-14 09:24:12 · 228 阅读 · 0 评论 -
JVM--详解虚拟机字节码执行引擎之栈帧结构
JVM--详解虚拟机字节码执行引擎之栈帧结构转载:https://blog.csdn.net/championhengyi/article/details/78755700前言在讨论本文的主题之前,我们先来思考一下:什么是虚拟机字节码执行引擎?它有什么作用?在说明这个问题之前,我们先来想想之前我们已经学习过的class文件结构与类加载机制。当一个Java程序写好之后,我们使用javac命令对其进行...转载 2018-07-14 19:23:47 · 274 阅读 · 0 评论 -
JVM--详解创建对象与类加载的区别与联系
JVM--详解创建对象与类加载的区别与联系转载:https://blog.csdn.net/championhengyi/article/details/78778575在前几篇博客中,我们探究了.class文件的本质,类的加载机制,JVM运行时的栈帧结构以及字节码执行时对应操作数栈以及局部变量表的变化。如果你已经掌握了这些东西,你现在应该会有一种感觉,给你一个Java代码,你可以从JVM的层面上...转载 2018-07-14 19:25:09 · 1117 阅读 · 1 评论 -
JVM--详解虚拟机字节码执行引擎之静态链接、动态链接与分派
JVM--详解虚拟机字节码执行引擎之静态链接、动态链接与分派转载:https://blog.csdn.net/championhengyi/article/details/78760590这篇博客主要带你认识何谓静态链接、动态链接。并且会讲述JVM中分派的知识,让你对Java中的多态实现机制有一个浅显的认识。前言从接触Java语言的第一天起,往后,我相信你一定听过什么动态链接啊,动态扩展啊,静态链...转载 2018-07-15 08:54:21 · 607 阅读 · 0 评论 -
JVM--从JVM层面深入解析对象实例化、多态性实现机制
JVM--从JVM层面深入解析对象实例化、多态性实现机制转载:https://blog.csdn.net/championhengyi/article/details/78998821之前一直觉得对于字节码的执行过程,对象的实例化过程,多态的实现机制没有进行深刻的探讨,只是进行了简单的总结,一直也苦于没有找到恰当的例子,所幸今天看到一前辈的博客,对其进行钻研之后,终于解决了这个历史遗留问题。首先贴...转载 2018-07-15 09:34:07 · 374 阅读 · 4 评论 -
JVM--再谈继承与多态
JVM--再谈继承与多态转载:https://blog.csdn.net/championhengyi/article/details/79025178此文试图从JVM层面深刻剖析Java中的继承与多态,知识面覆盖class字节码文件,对象的内存布局,JVM的内存区域、分派,方法表等相关知识,内容整合于大量博客,知乎,书籍,并加上博主自己的理解,相信看完会对你大有裨益!即使博主在JVM专栏已经有两...转载 2018-07-15 10:25:32 · 923 阅读 · 2 评论 -
JVM--剖析类与对象在JVM中从生存至死亡
JVM--剖析类与对象在JVM中从生存至死亡转载:https://blog.csdn.net/championhengyi/article/details/78797355前面学习了Class文件结构、类的加载机制、字节码执行引擎、对象的创建与销毁,所以我准备从一个Java代码进行切入,详细剖析它的生命历程,将所学的知识真正的用起来,也算是对前面所学的知识进行一个系统的总结。我们以这份Java代码...转载 2018-07-15 13:01:54 · 199 阅读 · 0 评论 -
JVM--浅谈垃圾收集机制
JVM--浅谈垃圾收集机制转载:https://blog.csdn.net/championhengyi/article/details/78840959谈起GC,应该是让Java程序员最激动的一项技术,我相信每个Java程序员都有探究GC本质的冲动!本篇博客围绕三个问题展开:1.哪些内存需要回收? 2.什么时候回收? 3.如何回收?哪些内存需要回收首先回答第一个问题:不再使用的对象需要进行回收,...转载 2018-07-15 14:59:11 · 245 阅读 · 0 评论 -
JVM--解析运行期优化与JIT编译器
JVM--解析运行期优化与JIT编译器转载:https://blog.csdn.net/championhengyi/article/details/78918920JVM开发团队一直在努力,缩小Java与C/C++语言在运行效率上的差距。本篇博客,我们来谈一谈JVM(HotSpot)为了提高Java程序的运行效率,都实现了哪些激动人心的技术~JIT编译器的引入首先我们这篇文章中所说的编译器都是指...转载 2018-07-15 15:43:17 · 469 阅读 · 0 评论 -
JVM--解析Java内存区域及数据的内存分配与线程安全之间的一些联系
JVM--解析Java内存区域及数据的内存分配与线程安全之间的一些联系转载:https://blog.csdn.net/championhengyi/article/details/76857401最近一直在看《Java多线程编程核心技术》的第二章,主要讲的是线程共享变量与线程私有变量以及如何写出线程安全的代码。看这部分一开始没太注意,只是记住了一条规则,“类中的成员变量,也叫实例变量,也叫全局变...转载 2018-07-15 16:26:21 · 324 阅读 · 0 评论 -
JVM--从volatile深入理解Java内存模型
JVM--从volatile深入理解Java内存模型转载:https://blog.csdn.net/championhengyi/article/details/77151002在上一篇博客JVM–解析Java内存区域及数据的内存分配与线程安全之间的一些联系中也说到了,想要理解volatile关键字,我们需要掌握Java虚拟机运行时数据区的相关知识,但是这还不够,只有理解了Java的内存模型,我...转载 2018-07-15 16:54:11 · 359 阅读 · 0 评论 -
JVM--详解类加载机制
JVM--详解类加载机制转载:https://blog.csdn.net/championhengyi/article/details/78680700Java虚拟机的体系结构前面我们探讨了Class文件的结构,如果你还没有学习,将不利于这部分知识的吸收与掌握,所以请移步:JVM–Class类文件结构(一)学习一个东西之前,我们务必要知道,这东西大概是干什么的,有什么作用。为了更清楚的阐释类加载机...转载 2018-07-14 16:07:56 · 13021 阅读 · 3 评论