JVM
文章平均质量分 75
不一样的程序员
纸上得来终觉浅,绝知此事要躬行
展开
-
Java垃圾回收机制
说到垃圾回收(Garbage Collection,GC),很多人就会自然而然地把它和Java联系起来。在Java中,程序员不需要去关心内存动态分配和垃圾回收的问题,这一切都交给了JVM来处理。顾名思义,垃圾回收就是释放垃圾占用的空间,那么在Java中,什么样的对象会被认定为"垃圾"?那么当一些对象被确定为垃圾之后,采用什么样的策略来进行回收(释放空间)?在目前的商业虚拟机中,有哪些典型的垃圾收集...原创 2018-01-23 11:24:32 · 172 阅读 · 0 评论 -
常用JVM命令参数详解
这里汇总平时用到的、看到的一些虚拟机参数。现在看不懂没关系,反正之后都会用到的:(1)-Xms20M表示设置JVM启动内存的最小值为20M,必须以M为单位(2)-Xmx20M表示设置JVM启动内存的最大值为20M,必须以M为单位。将-Xmx和-Xms设置为一样可以避免JVM内存自动扩展。大的项目-Xmx和-Xms一般都要设置到10G、20G甚至还要高(3)-verbose:gc表示输出...原创 2019-05-20 14:01:42 · 2116 阅读 · 0 评论 -
JVM学习之jstat使用方法
Jstat是JDK自带的一个轻量级工具,主要用JVM内建的指令对java应用程序的资源和性能进行实时的监控。基本语法 jstat <option> [-t] [-h] <pid> <interval> <count> 参数解释:option 可以从下面参数中选择-class &nbs...转载 2018-03-28 15:00:18 · 285 阅读 · 0 评论 -
jvmwi3260sr7-20091125_47905 (IBM Corporation)
问题描述在整理公司工具jar包时,无意间发现其中有一个jar包的manifest.mf 配置文件中的配置信息Created-By: jvmwi3260sr7-20091125_47905 (IBM Corporation)而其他的jar中的Created-By配置基本上是类似这种格式Created-By: 1.6.0_43-b01 (Sun Microsystems Inc....原创 2018-03-02 10:14:31 · 245 阅读 · 0 评论 -
Java程序内存分析Java VisualVM(Visual GC)
VisualVM 是一款免费的\集成了多个JDK 命令行工具的可视化工具,它能为您提供强大的分析能力,对 Java 应用程序做性能分析和调优。这些功能包括生成和分析海量数据、跟踪内存泄漏、监控垃圾回收器、执行内存和 CPU 分析,同时它还支持在 MBeans 上进行浏览和操作。在内存分析上,...转载 2018-03-01 18:23:57 · 2136 阅读 · 0 评论 -
一次JVM性能调优记录
前言填别人留下来的坑其实挺无奈的,会被搞的特别烦,特别是我这种要填三四个人留下来的坑的时候,满满的都是无奈。幸好的是填坑也可以选择一种更能提升自己的方式来填。这次遇到的一个程序,是一个从kafka消费并且插入mysql的程序,该程序历经三人之手,频频出问题,一直没有被解决。传到现...转载 2018-02-22 22:07:23 · 344 阅读 · 0 评论 -
JVM调优总结
背景网络所关于此篇博客的转载格式实在是太难看了,鉴于此在博客原文格式的基础色 进行格式的调整、优化堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统 下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存...转载 2018-02-05 17:00:37 · 173 阅读 · 0 评论 -
Tomcat 调优及 JVM 参数优化
Tomcat 的缺省配置是不能稳定长期运行的,也就是不适合生产环境,它会死机,让你不断重新启动,甚至在午夜时分唤醒你。对于操作系统优化来说,是尽可能的增大可使用的内存容量、提高CPU 的频率,保证文件系统的读写速率等。经过压力测试验证,在并发连接很多的情况下,CPU 的处理能力越强,系统运行速度越快。Tomcat 的优化不像其它软件那样,简简单单的修改几个参数就可以了,它的优化主要有三方面转载 2018-02-07 21:22:00 · 290 阅读 · 0 评论 -
使用jstack精确找到异常代码实例详解
java代码如下package t5;public class TestThread { public static void main(String[] args) { Thread thread = new Thread(new Worker()); thread.start(); } static class Worker i转载 2018-02-07 18:02:58 · 1357 阅读 · 0 评论 -
Jvsiualvm 排查 OOM 具体步骤详解
背景介绍最近在学习关于oom内存溢出的解决方法,结合了自己看的博客和一些自己的尝试,给大家分享自己的思路。主要分两种情况分析 1. 基于main方法启动的程序 2. 基于tomcat的web项目下面分别介绍两种方式基于main方法启动的程序1.编写测试代码:package com.xyq.maventest.visualvm;public class Java原创 2018-02-06 18:00:44 · 966 阅读 · 0 评论 -
resin4 jvm_args 参数配置
环境jdk1.6&以上resin4.0配置步骤1.新增一个resin服务新增一个resin配置,此时会出现对应的服务的server配置,如下图所示,包含了几个xml配置文件2.打开cluster-default.xml 找到server-default 标签头 注意途中的两个配置参数: jvm-arg-line>${jvm_args}/jvm-arg-原创 2018-02-05 17:36:15 · 3863 阅读 · 0 评论 -
JVM 几个常用参数Xms Xmx PermSize MaxPermSize介绍
遇到问题想必大家在使用Eclipse过程中,偶尔会遇到Eclipse崩溃,错误提示:MyEclipse has detected that less than 5% of the 64MB of Perm Gen (Non-heap memory) space remains. It is strongly recommendedthat you exit and restar原创 2018-01-26 10:48:21 · 2044 阅读 · 1 评论 -
单例模式讨论篇:单例模式与垃圾回收
讨论命题:当一个单例的对象长久不用时,会不会被jvm的垃圾收集机制回收。 首先说一下为什么会产生这一疑问,笔者本人再此之前从来没有考虑过垃圾回收对单例模式的影响,直到去年读了一本书,《设计模式之禅》秦小波著。在书中提到在j2ee应用中,jvm垃圾回收机制会把长久不用的单例类对象当作垃圾,并在cpu空闲的时候对其进行回收。之前读过的几本设计模式的书,包括《java与模式》,书中都没有转载 2018-01-29 10:10:51 · 348 阅读 · 0 评论 -
详解java类的生命周期
引言 最近有位细心的朋友在阅读笔者的文章时,对java类的生命周期问题有一些疑惑,笔者打开百度搜了一下相关的问题,看到网上的资料很少有把这个问题讲明白的,主要是因为目前国内java方面的教材大多只是告诉你“怎样做”,但至于“为什么这样做”却不多说,所以造成大家在基础和原理方面的知识比较匮乏,所以笔者今天就斗胆来讲一下这个问题,权当抛砖引玉,希望对在这个问题上有疑惑的朋友有所帮助,文转载 2018-01-26 10:59:55 · 231 阅读 · 0 评论 -
解决PermGen space异常问题
开发中遇到Eclipse报错:java.lang.OutOfMemoryError: PermGen space。PermGen space百度翻译为:永久区域内存不足。 1. 先来一张jvm结构图:内存不足问题一般都是发生在’堆‘上,GC作用区域也是在’堆‘上。 2. 这个’堆‘又划分成了好几块区域,包括: 新生代:包括伊甸园区和存活区。 老年代:转载 2018-02-01 14:36:43 · 71677 阅读 · 9 评论 -
Java内存不足之PermGen space错误探究
Java介绍 Java 程序的运行机制与普通程序,如C或C++ 程序的运行机制有很大的区别。 普通程序运行之前必须首先编译成可执行的二进制码或机器码。机器码是与底层的硬件结构相关的,即使书写源代码的时候没有利用平台特定的扩展语言,如特定的文件访问或图形用户界面,生成的机器码仍然被绑定到一个特定的硬件平台,从而只能运行在那个体系结构上,也就是说,为Sun工作站编译的机器码不能运行在原创 2018-02-01 14:20:37 · 554 阅读 · 0 评论 -
Exception in thread "Thread-0" java.lang.OutOfMemoryError: GC overhead limit exceeded 解决方法
背景最近在深入研究jvm底层机制,写了一个测试类一直加载class,模拟加载类过多导致Perm永久代报:java.lang.OutOfMemoryError:PermGen space 内存溢出。测试代码package com.xyq.maventest.visualvm;import java.io.File;import java.lang.reflect.Method;原创 2018-02-01 14:08:57 · 38836 阅读 · 2 评论 -
JPS-Java进程状态工具
列出PID和Java主类名jps2017 Bootstrap2576 Jps列出pid和java完整主类名jps -l2017 org.apache.catalina.startup.Bootstrap2612 sun.tools.jps.Jps列出pid、主类全称和应用程序参数jps -lm2017 org.apache.catalina.startup.Boots...原创 2019-05-24 18:14:39 · 793 阅读 · 0 评论