JVM调优
文章平均质量分 93
Java中级工程师晋级,介绍JVM调优中用到的基本概念,内存结构分析,调优参数设置等
蘑菇蘑菇不会开花~
认真负责的态度做好眼前的事
展开
-
JVM调优(10)JVM的运行时数据区
对于 C C++ 来说,在内存管理领域,JVM既拥有最高的权利,但是同时他们又是从事最基础工作的劳动人员,因为他们担负着每一个对象从开始到结束的维护责任。而对于Java来说,再虚拟机自动内存管理的帮助下,不再需要为每一个new操作去分配内存,不容易出现内存泄漏和内存溢出的情况,但是因为我们Java程序员 不用管理内存,所以一旦出现内存问题,很容易让我们手忙脚乱,所以呢我们必须要了解Java虚拟器的内存管理机制,以便我们能更好的处理各种各样的问题。原创 2023-10-28 20:54:10 · 593 阅读 · 0 评论 -
JVM调优(9)jstack定位死循环、线程阻塞、死锁等问题
当我们运行java程序时,可能会出现死循环,IO阻塞,线程死锁等问题,导致程序无法进行下去,但从代码上有无法确定问题出现的具体原因或者地方。可以使用JDK自带的jstack工具去简单定位;死循环程序如下:/** * @Author Ralph * 死循环定位 */public class Test01 { public static void main(String[] ar...原创 2019-01-02 18:45:08 · 2290 阅读 · 0 评论 -
JVM调优(8)Java的内存泄漏
内存溢出和内存泄漏内存溢出out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;内存泄露memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。memory leak会最终会导致out of memory!以发生的方式来分类,内存泄漏可...原创 2018-12-19 18:41:38 · 389 阅读 · 0 评论 -
JVM调优(7)问题定位和信息打印
1.找到对应进程的pid ps -ef | grep tomcat #或者使用jps jps -lvm #查看当前机器上运行的Java进程jps命令格式如下:命令格式 jps [options] [hostid]注:如果不指定hostid就默认为当前主机或服务器。命令行参数选项说明如下:-q 不输出类名、Jar名和传入main方法的参数-m 输出传入main方法的参数-l 输...原创 2018-12-11 14:44:51 · 376 阅读 · 0 评论 -
JVM调优(6)之参数配置
参数配置堆大小设置年轻代的设置很关键JVM中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制; 系统的可用物理内存限制。 32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。典型...原创 2018-09-07 17:23:06 · 379 阅读 · 0 评论 -
JVM调优(5)之分代
为什么要分代分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的。因此,不同生命周期的对象可以采取不同的收集方式,以便提高回收效率。堆内存是虚拟机管理的内存中最大的一块,也是垃圾回收最频繁的一块区域,我们程序所有的对象实例都存放在堆内存中。给堆内存分代是为了提高对象内存分配和垃圾回收的效率。试想一下,如果堆内存没有区域划分,所有的新创建的对象和生命周期很长的对象放在一起,...原创 2018-09-07 09:57:53 · 263 阅读 · 0 评论 -
JVM调优(4)之垃圾回收面临的问题
如何区分垃圾引用计数算法: 来记录一个对象被引用的次数,当引用计数器为0时,代表这个对象不再被使用。 优点:实现简单,判断效率也很高。 缺点:它很难解决对象之间相互循环引用的问题。可达性分析算法: 在主流的商用程序语言的主流实现都是通过可达性分析来判断对象是否存活的。这个算法的基本思路就是通过一系列的称为“GC Roots”的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径...原创 2018-09-06 19:55:44 · 295 阅读 · 0 评论 -
JVM调优(3)之垃圾回收
从这篇开始我们开始探讨一些jvm调优的问题。在jvm调优中一个离不开的重点是垃圾回收,当垃圾回收成为系统达到更高并发量的瓶颈时,我们就需要对jvm中如果进行“自动化”垃圾回收技术实施必要的监控和调节。对于调优之前,我们必须要了解其运行原理,java 的垃圾收集Garbage Collection 通常被称为“GC”,它诞生于1960年 MIT 的 Lisp 语言,经过半个多世纪,目前已经十分成...原创 2018-09-06 18:57:41 · 278 阅读 · 0 评论 -
JVM调优(2)之基本概念
数据类型Java虚拟机中,数据类型可以分为两类:基本类型 和 引用类型。 基本类型的变量保存原始值,即:他代表的值就是数值本身; 引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。基本类型包括:byteshortintlongcharfloatdoublebooleanreturnAddress...原创 2018-09-06 16:54:16 · 257 阅读 · 0 评论 -
JVM调优(1)之初见
JVM初识,主要学习1.什么是Java虚拟机2.JVM的生命周期3.java虚拟机的体系结构4.操作系统与体系结构的联系5.每个结构记录的信息总结原创 2017-07-18 09:06:57 · 446 阅读 · 0 评论