
JVM
文章平均质量分 81
JVM相关学习
凌兮~
技术是一种艺术,需要我们去发现
展开
-
如何减少长时间的 GC 停顿?
如何减少长时间的 GC 停顿?垃圾回收是非常重要的,但处理不好,反而会成为性能杀手,采用以下步骤确保GC停顿时间最少且最短,一般50ms以下。长时间的GC停顿对应用非常不友好,不仅影响服务的级别(SLA),而且用户的体验也会下降,对核心应用程序的服务造成不可估量的损害。以下针对各种原因进行分析及解决方法1.高速率创建对象如果应用程序的对象创建率很高,那么为了跟上它,垃圾回收率也会升高,高垃圾回收率也会增加GC停顿时间,因此,优化应用程序以创建更少的对象是减少GC停顿的有效策略,但它是个耗时工作,并原创 2021-04-01 18:22:56 · 627 阅读 · 0 评论 -
GC日志分析神器-GCEasy详解
前言GCEasy是一款非常好用的在线分析GC日志的工具,打开官网,直接上传gc日志,也可以更加上门的要求进行压缩上传。JVM memory size(jvm内存大小区域)JVM memory size ,GCEasy展示了年轻代、老年代、元空间。JVM给分配的大小和程序运行过程中使用的峰值大小。从JVM memory size展示的信息,我们可以判断是否需要做下面的几件事情。是否需要修改JVM内存(-Xms、-Xmx、-Xmn…)相关配置,比如年轻代和老年代峰值远远小于分配的大小,这个时候我原创 2021-04-01 17:22:32 · 12677 阅读 · 0 评论 -
JVM的GC日志详解分析及配置(一)
JVM GC日志参数案例:2021-03-25T13:00:41.631+0800: 4.013: [GC (Allocation Failure) [PSYoungGen: 419840K->20541K(472064K)] 419840K->20573K(996352K), 0.0118345 secs] [Times: user=0.00 sys=0.00, real=0.01 secs]详细内容如下:2021-03-25T13:00:41.631+0800:GC发生的时间点。原创 2021-03-31 16:24:28 · 1193 阅读 · 0 评论 -
JConsole远程连接
JConsole是基于JMX的可视化监视、管理工具。可以很方便的监视本地及远程服务器的java进程的内存使用情况。下面介绍如何连接远程服务器,进行远程java程序的监控。1、使用hostname -i 查看远程主机的hostname。如果显示为 127.0.0.1,需要进行修改。vim /etc/hosts修改127.0.0.0.1 为服务器真实的外网ip。2、被监控的程序运行时给虚拟机添加一些运行的参数无需认证的远程监控配置-Dcom.sun.management.jmxremote.p翻译 2021-03-26 10:05:39 · 2263 阅读 · 0 评论 -
JMX详解及JConsole使用
JMXJMX(Java Management Extensions)是一个应用程序植入管理功能的框架,是一套标准的代理和服务,服务是JDK官方提供的Java程序性能监控程序。支持远程访问,支持扩展,即自定义监控的性能参数。提供网络、API、客户端三个层次的调用。实际上,Java平台使用JMX作为管理和监控的标准接口,任何程序只要按JMX规范访问这个接口,就可以获取所有的管理和监控信息。常用的运维监控如Zabbix、Nagios等工具对JVM本身的监控都是通过JMX获取的信息。应用场景中间件软件WebL原创 2021-03-25 15:08:55 · 1466 阅读 · 2 评论 -
JVM内存模型及类加载运行机制
前言:getCausepublic Throwable getCause()返回此 throwable 的 cause;如果 cause 不存在或未知,则返回 null。(该 Cause 是导致抛出此 throwable 的throwable。)此实现返回由一个需要 Throwable 的构造方法提供的 cause,或者在创建之后通过 initCause(Throwable) 方法进行设置的 cause。虽然通常不需要重写此方法,但子类可以重写它,以返回一个通过某些其他方式设置的 cause。这适用原创 2021-03-22 14:51:44 · 621 阅读 · 0 评论 -
什么是反射机制?反射机制有什么作用?
定义反射机制是Java语言中一个非常重要的特性,它允许程序在运行时进行自我检查,同时也允许其对内部成员进行操作。由于反射机制能够实现在运行时对类进行装载,因此能够增加程序的灵活性,但是不恰当地使用反射机制,也会严重影响系统的性能。具体而言,反射机制的主要功能主要有:①得到一个对象所属的类,②获取一个类的所有成员变量和方法,③在运行时创建对象,调用对象的方法。反射机制的作用:1,反编译:.c...原创 2019-09-08 10:24:21 · 5306 阅读 · 0 评论 -
Java虚拟机结束生命周期的几种原因
1.执行了System.exit();方法2.程序正常执行结束后退出3.程序因异常或错误而异常终止退出4.执行过程因操作系统错误退出或异常原创 2019-09-07 10:57:16 · 223 阅读 · 0 评论 -
Java双亲委派模型及破坏
在虚拟机的角度上,只存在两种不同的类加载器:一种是启动类加载器(Bootstrap ClassLoader),这个类加载器使用C++语言实现,是虚拟机自身的一部分;另外一种就是其它所有的类加载器,这些类加载器都由Java语言实现,独立于虚拟机外部,并且全部继承自java.lang.ClassLoader。从Java开发人员的角度看,类加载器还可以划分得更细一些,如下:1.启动类加载器(Bo...转载 2019-09-07 10:43:49 · 399 阅读 · 0 评论 -
JVM类加载机制和自定义类加载器的最详细解析
Java内置类加载器先看看运行我们自己写的代码都使用到了什么类加载器:运行结果:为什么无法获取ExtClassLoader的父加载器呢?是不是ExtClassLoader的父加载器为空呢?不是的,原因是Bootstrap Loader(引导类加载器)是用非Java语言实现的,无法获取到该加载器,所以才返回null。Java内置类加载器的层次结构启动类加载器、扩展类加载器、应用类加载以及自...原创 2019-09-07 10:30:45 · 709 阅读 · 0 评论