Java虚拟机内存模型及垃圾回收监控调优
如果你想理解Java垃圾回收如果工作,那么理解JVM的内存模型就显的非常重要。今天我们就来看看JVM内存的各不同部分及如果监控和实现垃圾回收调优。JVM内存模型
正如你上图所看到的,JVM内存可以划分为不同的部分,广义上,JVM堆内存可以划分为两部分:年轻....
分类:
编程语言 时间:
2014-05-19 21:09:31
阅读次数:
337
【线上维护的资料】中供JVM Crash命令列表top -H -b -n 1 -p
$pidecho "ibase=10;obase=16;$pid" | bcgrep xx jstack.logps auxf | grep
$gidnetstat -nal | grep 1521lsof -i:1...
分类:
其他好文 时间:
2014-05-19 09:59:30
阅读次数:
420
一、更改jdk默认编码为UTF-8,保证启动的JVM不会出现中文乱码问题
1、在编译的时候,如果我们没有用 -encoding
参数指定我们的JAVA源程序的编码格式,则javac.exe首先获得我们操作系统默认采用的编码格式。JDK首先获得操作系统的file.encoding参数(它保存的就是操....
分类:
系统相关 时间:
2014-05-19 08:38:25
阅读次数:
439
前两天遇到这么一个问题, 64G内存服务器上面, -Xmx4096m 可以启动,
但是-Xmx2048却不能启动,怪哉怪哉,好不容易找到一篇文章, 有点意思
分类:
其他好文 时间:
2014-05-19 08:01:22
阅读次数:
321
在jvm规范中,每个类型都有自己的常量池。常量池是某类型所用常量的一个有序集合,包括直接常量(基本类型,String)和对其他类型、字段、方法的符号引用。之所以是符号引用而不是像c语言那样,编译时直接指定其他类型,是因为java是动态绑定的,只有在运行时根据某些规则才能确定具体依赖的类型实例,这正是...
分类:
其他好文 时间:
2014-05-18 21:29:25
阅读次数:
423
本文将由浅入深详细介绍Java内存分配的原理,以帮助新手更轻松的学习Java。这类文章网上有很多,但大多比较零碎。本文从认知过程角度出发,将带给读者一个系统的介绍。进入正题前首先要知道的是Java程序运行在JVM(Java
Virtual Machine,Java虚拟机)上,可以把JVM理解成Jav...
分类:
编程语言 时间:
2014-05-18 20:31:20
阅读次数:
530
一、事件引起的内存泄露 1、不手动注销事件也不发生内存泄露的情况
我们经常会写EventHandler += AFunction; 如果没有手动注销这个Event handler类似:EventHandler –=
AFunction 有可能会发生内存泄露。 public class Pr...
分类:
Web程序 时间:
2014-05-18 19:40:30
阅读次数:
325
在一个类编译完成之后,下一步就需要开始使用类,如果要使用一个类,肯定离不开JVM。在程序执行中JVM通过装载,链接,初始化这3个步骤完成。类的装载是通过类加载器完成的,加载器将.class文件的二进制文件装入JVM的方法区,并且在堆区创建描述这个类的java.lang.Class对象。用来封装数据。...
分类:
编程语言 时间:
2014-05-18 19:36:27
阅读次数:
350
Felling By Ruiy:Pre-learnning link list knowloages
熟悉
指针相关操作应用+结构体数据类型应用,且能简单融合使用,堆内存(内存泄露)->类似于你使用完在食堂吃饭的饭盒,吃完饭后你把那个餐具饭盒给带走了,没还给食堂,使此饭盒没能再次被别的人使用.哎,....
分类:
其他好文 时间:
2014-05-17 21:31:32
阅读次数:
307
当我们对于内存进行手动管理的时候,会出现两种错误:一种是野指针错误,一种则为内存泄露.这两点也是我们去管理内存时最终要解决的问题.
内存泄漏是指:不在使用的对象,一直保留在内存中未被销毁,一直占有着内存,耗费内存资源直至程序结束.
野指针则是指:当一个指针指向一个对象时,此对象已经被系统回收...
分类:
其他好文 时间:
2014-05-17 21:10:52
阅读次数:
1122