JVM
文章平均质量分 94
720_tigerMouse
这个作者很懒,什么都没留下…
展开
-
JVM调优浅谈
【本文转载自JVM调优浅谈】1.数据类型 java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:它代表的值就是数值本身,而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。 基本类型包括:byte、short、int、long、char、float、doubl转载 2015-11-27 21:19:33 · 82 阅读 · 0 评论 -
Linux下JAVA线程占用CPU高一点分享
【本文转自Linux下JAVA线程占用CPU高一点分享】上次分析系统中占用CPU高的问题,得到一些使用Java自身调试工具的经验,与大家分享。 (1)使用top命令找出占用cpu最高的JAVA进程PID:28174 (2)如下命令找出占用cpu最高的线程 top -Hp 28174 -d 1 -n 1 32694 root 20 0 3249转载 2017-04-25 20:00:45 · 647 阅读 · 0 评论 -
JVM类加载过程
为什么研究类加载全过程?· 有助于连接JVM运行过程· 更深入了解java动态性(解热部署,动态加载),提高程序的灵活性 类加载机制· JVM把class文件加载到内存,并对数据进行校验、解析和初始化,最终形成JVM可以直接使用的java类型的全过程。 · 加载· 将class文件字节码内转载 2016-12-13 21:44:19 · 437 阅读 · 0 评论 -
深入研究Java类加载机制
【本文转自深入研究Java类加载机制】类加载是Java程序运行的第一步,研究类的加载有助于了解JVM执行过程,并指导开发者采取更有效的措施配合程序执行。研究类加载机制的第二个目的是让程序能动态的控制类加载,比如热部署等,提高程序的灵活性和适应性。 一、简单过程 Java程序运行的场所是内存,当在命令行下执行:java HelloWorld命令的时候,JVM会将H转载 2016-12-02 16:19:08 · 301 阅读 · 0 评论 -
Java调优之jvm和线程的内存分析
[转载声明] 转载时必须标注:本文来源于铁木箱子的博客http://www.mzone.cc[本文地址] 本文永久地址是:http://www.mzone.cc/article/321.html 这几天因为自己开发的一个网站在768M内存的机器上撑不起100多个用户的运行,因为每个用户启用功能后,系统将为每个用户分配8个左右的独立线程,我的这篇文章http://www.mzo转载 2016-03-30 14:53:32 · 3903 阅读 · 5 评论 -
Java栈
我们天天在说java堆java栈,究竟什么是java栈?首先需要明确一个概念,那就是通常我们说的堆、栈与java堆、java栈并不是一个东西。java堆和java栈可能都是在我们通常所说的堆中划分出内存的。在java层面上,将这划分出的内存按其用途称为java堆、java栈。《The Java Virtual Machine Specification Java SE 7 Edit转载 2016-01-28 19:31:37 · 554 阅读 · 0 评论 -
性能分析工具之-- Eclipse Memory Analyzer tool(MAT)(一)
【本文转载于性能分析工具之-- Eclipse Memory Analyzer tool(MAT)(一)】前言在平时工作过程中,有时会遇到OutOfMemoryError,我们知道遇到Error一般表明程序存在着严重问题,可能是灾难性的。所以找出是什么原因造成OutOfMemoryError非常重要。现在向大家引荐Eclipse Memory Analyzer tool(MAT),来化解我们遇到的...转载 2015-12-07 20:39:06 · 434 阅读 · 0 评论 -
使用Memory Analyzer tool(MAT)分析内存泄漏(二)
【本文转载于使用Memory Analyzer tool(MAT)分析内存泄漏(二)】前言在使用Memory Analyzer tool(MAT)分析内存泄漏(一)中,我介绍了内存泄漏的前因后果。在本文中,将介绍MAT如何根据heap dump分析泄漏根源。由于测试范例可能过于简单,很容易找出问题,但我期待借此举一反三。一开始不得不说说ClassLoader,本质上,它的工作就是把磁盘上的类文件读...转载 2015-12-07 21:06:25 · 435 阅读 · 0 评论 -
MAT Memory Analyzer Tool 插件包离线安装(图解)
【本文转载于MAT Memory Analyzer Tool 插件安装(图解)】前段时间做了一个项目,Exception in thread "main" java.lang.OutOfMemoryError: Java heap space出现这个错误,所以需要查找原因,所以就用到这个工具,安装比较麻烦,贴出来和大家共享一下:第一步:下载Eclipse MAT转载 2015-12-07 16:50:20 · 3103 阅读 · 0 评论 -
使用VisualVM查看Java Heap Dump
【本文转载于使用VisualVM查看Java Heap Dump】浏览Heap Dump可以使用VisualVM浏览heap dump文件的内容,从而快速查看在堆中分配的对象。Heap dumps在主窗口的heap dump子标签页中显示。你可以打开保存在本地的heap dump文件(.hprof)或者使用VisualVM捕获正在运行的程序的heap dumps。一转载 2015-12-07 00:59:09 · 1178 阅读 · 0 评论 -
深入JVM锁机制1-synchronized
【本文转载于深入JVM锁机制1-synchronized】目前在Java中存在两种锁机制:synchronized和Lock,Lock接口及其实现类是JDK5增加的内容,其作者是大名鼎鼎的并发专家Doug Lea。本文并不比较synchronized与Lock孰优孰劣,只是介绍二者的实现原理。 数据同步需要依赖锁,那锁的同步又依赖谁?synchronized给出的答案是在软转载 2015-12-02 17:07:45 · 390 阅读 · 0 评论 -
深入JVM锁机制2-Lock
【本文转载于深入JVM锁机制2-Lock】前文(深入JVM锁机制-synchronized)分析了JVM中的synchronized实现,本文继续分析JVM中的另一种锁Lock的实现。与synchronized不同的是,Lock完全用Java写成,在java这个层面是无关JVM实现的。在java.util.concurrent.locks包中有很多Lock的实现类,常用的有Reen转载 2015-12-02 17:09:43 · 461 阅读 · 0 评论 -
JVM调优总结
【本文转载自JVM调优总结】调优总结年轻代大小选择响应时间优先的应用:尽可能设大,直到接近系统的最低相应时间限制(根据实际情况选择)。在此种情况下,年轻代收集发生的频率也是最小的。同时,减少到达年老代的对象。吞吐量优先的应用:尽可能的设置大,可能到达Gbit的程度。因为对响应时间没有要求,垃圾收集可以并行进行,一般适合8CPU以上应用。年老代大小选择转载 2015-11-27 21:21:57 · 315 阅读 · 0 评论 -
JVM如何调优
【本文转载自JVM如何调优】JVM如何调优观察内存释放情况、集合类检查、对象树1. 堆信息查看 可查看堆空间大小分配(年轻代、年老代、持久代分配) 提供即时的垃圾回收功能 垃圾监控(长时间监控回收情况) 查看堆内类、对象信息:数量、类型等 对象引用情况查看调优工具提供了堆信息查看方面转载 2015-11-27 21:24:28 · 417 阅读 · 0 评论 -
Java类的卸载机制
类的生命周期 当Sample类被加载、连接和初始化后,它的生命周期就开始了。 当代表Sample类的Class对象不再被引用,即不可触及时,Class对象就会结束生命周期,Sample类在方法区内的数据也会被卸载,从而结束Sample类的生命周期。 由此可见,一个类何时结束生命周期,取决于代表它的Class对象何时结束生命周期。 引用关系 加载器和Class对象: 在类加载器的内部实现中...转载 2018-05-28 23:21:29 · 15005 阅读 · 2 评论