
java基础-jvm
文章平均质量分 81
Mrzhoug
这个作者很懒,什么都没留下…
展开
-
JVM(9)--Java 诊断工具:greys-anatomy
Java 诊断工具:greys-anatomy诞生很早的时候,我们使用BTrace排查问题,在感叹BTrace的强大之余,也曾好几次将线上系统折腾挂掉。2012年淘宝的聚石写了HouseMD,将 常用的几个Btrace脚本整合在一起形成一个独立风格的应用,但其核心代码用的是Scala,我们没这方面的编程维护经验,所以只好艳羡HouseMD 的才思敏捷而无法在其上增加功能。于是乎,Greys诞生了。P转载 2016-04-16 09:23:40 · 3483 阅读 · 0 评论 -
JVM(2)--java内存管理
出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!Java是在JVM所虚拟出的内存环境中运行的。内存分为栈(stack)和堆(heap)两部分。我们将分别考察这两个区域。栈栈的基本概念参考纸上谈兵: 栈 (stack) (http://www.cnblogs.com/vamei/archive/2013/03/14/2960201.html)。许多语转载 2016-04-10 20:27:13 · 512 阅读 · 0 评论 -
JVM(3)--java内存管理与垃圾回收
本文主要是基于Sun JDK 1.6 Garbage Collector(作者:毕玄)的整理与总结,原文请读者在网上搜索。1、Java虚拟机运行时的数据区2、常用的内存区域调节参数-Xms:初始堆大小,默认为物理内存的1/64(<1GB);默认(MinHeapFreeRatio参数可以调整)空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制-Xmx:最大堆大小,默认(MaxHeapFre转载 2016-04-11 21:58:42 · 654 阅读 · 0 评论 -
JVM(4)--java堆和栈、内存分配策略
原文出处:http://www.cnblogs.com/whgw/archive/2011/09/29/2194997.htmlJava把内存分成两种,一种叫做栈内存,一种叫做堆内存在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后,java会自动释放掉为该变量分配的内存空间,该内存空转载 2016-04-12 17:43:49 · 1191 阅读 · 0 评论 -
JVM(5)--Java垃圾回收机制
转载自:尊重原创。http://www.cnblogs.com/dolphin0520/p/3783345.html说到垃圾回收(Garbage Collection,GC),很多人就会自然而然地把它和Java联系起来。在Java中,程序员不需要去关心内存动态分配和垃圾回收的问题,这一切都交给了JVM来处理。顾名思义,垃圾回收就是释放垃圾占用的空间,那么在Java中,什么样的对象会被认定为“垃圾”?转载 2016-04-14 00:53:48 · 1035 阅读 · 0 评论 -
JVM(6)--JVM各种参数及调优
转载自:http://yufenfei.iteye.com/blog/1746914 尊重原创。GC有两种类型:Scavenge GC 和Full GC1、Scavenge GC一般情况下,当新对象生成,并且在Eden申请空间失败时,就会触发Scavenge GC,堆的Eden区域进行GC,清除非存活对象,并且把尚且存活的对象移动到Survivor的两个区中。 2、Full GC 对整个堆转载 2016-04-14 02:01:43 · 6544 阅读 · 0 评论 -
JVM(7)--java内置工具使用
全文转载自:http://blog.youkuaiyun.com/fenglibing/article/details/6411940 尊重原创。javahjavah命令(C Header and Stub File Generator)javah是用于根据JAVA本地方法,生成对应的c语言头文件及相应的stub文件的命令,使用比较简单。jpsjps命令(Java Virtual Machine Process转载 2016-04-14 21:59:13 · 866 阅读 · 0 评论 -
JVM(7)--java内置工具使用(2)
jmapjmap命令(Java Memory Map)1、介绍 打印出某个java进程(使用pid)内存内的,所有‘对象’的情况(如:产生那些对象,及其数量)。可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本。使用方法 jmap -histo pid。如果连用SHELL jmap -histo pid>a.log可以将其保存到文本中去,在一段时间后,使用文本对比工具,转载 2016-04-15 10:16:25 · 387 阅读 · 0 评论 -
JVM(8)--OutOfMemory实战
本文转载自:http://www.2cto.com/os/201508/432189.html 尊重原创深入理解JVM:OutOfMemory实战除了程序计数器外,虚拟机内存的其他几个运行时区域都有发生OutOfMemoryError(OOM),下面我们来详细分析。Java堆溢出Java堆用于存储对象实例,只要不断的创建对象,并且保证GC Roots到对象之间有可达路径来避免垃圾回收机制来清除这些对转载 2016-04-16 08:23:05 · 665 阅读 · 0 评论 -
JVM(10)--stackoverflow实战
HeapOutOfMemory堆溢出 情况多见于对象过多,存在多余引用,使对象未及时释放public class Miao { public static void main(String[] args) throws Exception{ ArrayList<String> strs = new ArrayList<>(10000_0000); for(in转载 2016-04-16 10:40:57 · 1199 阅读 · 0 评论 -
JVM(1)--java内存模型
1. 概述 多任务和高并发是衡量一台计算机处理器的能力重要指标之一。一般衡量一个服务器性能的高低好坏,使用每秒事务处理数(Transactions Per Second,TPS)这个指标比较能说明问题,它代表着一秒内服务器平均能响应的请求数,而TPS值与程序的并发能力有着非常密切的关系。在讨论Java内存模型和线程之前,先简单介绍一下硬件的效率与一致性。2.硬件的效率与一致性 由于计算机的存储设转载 2016-04-09 10:21:02 · 620 阅读 · 0 评论