码迷,mamicode.com
首页 >  
搜索关键字:java虚拟机    ( 4370个结果
Java 自带性能监控工具:监视和管理控制台 jconsole 的使用
想验证你对 jvm 配的一些调优参数有没有起作用吗?想不想实时监控你自定义的线程池的在实际运行时的线程个数、有没有死锁?想不想实时监控你的 Java 应用的堆内存使用情况,并根据峰值等数据设置最适合你的 Xms、Xmx 等参数?想不想找到你的应用的永久区 PermGen 的使用峰值,并根据其去设置合理的 XX:PermSize、XX:MaxPermSize 等参数?如何根据应用实时的运行运行情况合理配置年轻代(Young Generation,即 Eden 区和两个 Survivor 区之和)和年老代(Ol...
分类:编程语言   时间:2015-04-15 21:31:02    阅读次数:197
[linux]ubuntu下安装hadoop(单机版)
ubuntu版本12.04.3 64位hadoop是用运行在java虚拟机上的,所以需要先安装jdk,jdk安装配置方法在另一篇博文ubuntu12.04下安装jdk1.7源码包准备:我下载的是hadoop-1.2.1.tar.gz,这个版本比较稳定,下载地址可以到官网提供的镜像http://www...
分类:系统相关   时间:2015-04-15 20:50:54    阅读次数:209
Java虚拟机OutOfMemoryError 异常详解及解决方法(3)
上图是一张Java运行时的内存分布图,可知虚拟机内存都有发生OutOfMemoryError(下文称 OOM)异常的可能,作为一个合格的Java开发人员,我们应该做到的是:(1)第一,通过代码验证 Java 虚拟机规范中描述的各个运行时区域储存的内容; (2)第二,遇到内存溢出的时候,应该可以找打具体的位置,并进行合理的解决;下边就聊一下 OOM:一、Java 堆溢出我们知道Java 堆用于储存对...
分类:编程语言   时间:2015-04-14 19:47:14    阅读次数:216
Java虚拟机OOM之虚拟机栈和本地方法栈溢出(4)
一、在 Java 虚拟机规范中,对虚拟机栈这个区域规定了两种异常状况:(1)如果线程请求的栈深度大于虚拟机所允许的深度,将抛出StackOverflowError 异常; (2)如果虚拟机栈可以动态扩展(当前大部分的 Java 虚拟机都可动态扩展,只不过 Java 虚拟机规范中也允许固定长度的虚拟机栈),当扩展时无法申请到足够 的内存时会抛出 OutOfMemoryError 异常。 (3)与...
分类:编程语言   时间:2015-04-14 19:45:14    阅读次数:282
Java虚拟机OOM之运行时常量池溢出(5)
如果要向运行时常量池中添加内容,最简单的做法就是使用 String.intern()这个 Native 方法。该方法的作用是:如果池中已经包含一个等于此 String 对象的字符串,则返回代表池中这个字符串的String 对象;否则,将此 String 对象包含的字符串添加到常量池中,并且返回此 String 对象的引用。由于常量池分配在方法区内,我们可以通过-XX:PermSize 和-XX:Ma...
分类:编程语言   时间:2015-04-14 19:44:21    阅读次数:153
Java 虚拟机内存区域划分详解(1)
一、概述 对于 C 和 C++程序开发的开发人员来说,在内存管理领域,程序员对内存拥有绝对的使用权,但是也要主要到正确的使用和清理内存,这就要求程序员有较高的水平。而对于 Java 程序员来说,在虚拟机的自动内存管理机制的帮助下,不再需要为每一个 new 操作去写配对的 delete/free 代码,而且不容易出现内存泄漏和内存溢出问题,看起来由虚拟机管理内存一切都很美好。不过,也正是因为 Jav...
分类:编程语言   时间:2015-04-14 18:07:19    阅读次数:147
Java虚拟机值对象访问以及如何使用对象的引用(2)
对象访问在 Java 语言中无处不在,是最普通的程序行为,但即使是最简单的访问,也会却涉及 Java 栈、 Java 堆、方法区这三个最重要内存区域之间的关联关系,如下面的这句代码:Object obj = new Object();我们知道在Java栈中保存的是对象的引用,在Java堆中才是具体new出来的对象实体,根据具体类型以及虚拟机实现的对象内存布局( Object Memory Layou...
分类:编程语言   时间:2015-04-14 18:03:12    阅读次数:132
Java内存原型分析
Java虚拟机内存原型寄存器:在程序中无法控制栈:存放基本类型的数据和对象的引用,但是对象本身不存放在栈中,而是存放在堆中堆:存放用new产生的数据静态域:存放在对象中用static定义的静态成员常量池:存放变量非RAM存储:硬盘等永久存储空间Java内存分配中的栈栈的基本单位是帧(或栈帧):每当一...
分类:编程语言   时间:2015-04-14 16:20:48    阅读次数:131
实战Java虚拟机之三“G1的新生代GC”
今天开始实战Java虚拟机之三:“虚拟机的工作模式”。总计有5个系列实战Java虚拟机之一“堆溢出处理”实战Java虚拟机之二“虚拟机的工作模式”实战Java虚拟机之三“G1的新生代GC”实战Java虚拟机之四“禁用System.gc()”实战Java虚拟机之五“开启JIT编译”新生代GC的主要工作是..
分类:编程语言   时间:2015-04-14 14:48:15    阅读次数:184
实战Java虚拟机之三“G1的新生代GC”
新生代GC的主要工作是回收eden区和survivor区。一旦eden区被占满,新生代GC就会启动。新生代GC收集前后的堆数据如图5.6所示,其中E表示eden区,S表示survivor区,O表示老年代。
分类:编程语言   时间:2015-04-14 14:21:28    阅读次数:148
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!