JVM
文章平均质量分 84
iteye_1364
这个作者很懒,什么都没留下…
展开
-
A Collection of JVM Options
A Collection of JVM Options compiled by: Joseph D. Mocker (Sun Microsystems, Inc.) revision: 28.Aug.2007 This document is a compilation of all the JVM options for various versions o...原创 2011-06-24 12:59:39 · 121 阅读 · 0 评论 -
正确认识java JVM与c/c++的执行效率
认为Java 不能写JVM是完全错误的。JNode是一个用Java 写的开源操作系统,他里面的JVM就是用Java写的。这个操作系统现在有几十兆,其中 99%的代码是用java编写,其中只有一个极小的“操作系统引导程序”是用汇编写的,我们暂时称之为booter.exe,大小为几KB。 booter.exe的作用就是将用java写的JVM编译并装入内存,简单的说就是将JVM.class...原创 2011-03-22 10:43:30 · 185 阅读 · 0 评论 -
JVM监控工具介绍
2009年8月20日 java JVM监控工具介绍 java JVM监控工具介绍 jstatd 启动jvm监控服务。它是一个基于rmi的应用,向远程机器提供本机jvm应用程序的信息。默认端口1099。 实例:jstatd -J-Djava.security.po...原创 2011-03-22 14:25:12 · 74 阅读 · 0 评论 -
高手详细介绍JVM是什么?
首先这里澄清两个概念:JVM实例和JVM执行引擎实例,JVM实例对应了一个独立运行的Java程序,而JVM执行引擎实例则对应了属于用户运行程序的线程;也就是JVM实例是进程级别,而执行引擎是线程级别的。 JVM是什么?—JVM的生命周期 JVM实例的诞生:当启动一个Java程序时,一个JVM实例就产生了,任何一个拥有 publicstaticvoidmain(String[]...原创 2011-05-10 13:52:21 · 180 阅读 · 0 评论 -
JVM优化配置
OOM 这个缩写就是Java程序开发过程中让人最头痛的问题:Out of Memory。在很多开发人员的开发过程中,或多或少的都会遇到这类问题,这类问题定位比较困难,往往需要根据经验来判断可能出现问题的代码。原因主要是 两个:对象没有被释放(多种情况引起,往往是比较隐蔽的引用导致被Hold而无法被回收)。另一种就是真的Memory不够用了,需要增加JVM的 Heap来满足应用程序的需求。最...原创 2011-05-10 13:56:32 · 66 阅读 · 0 评论 -
jvm日志分析工具应用
涛涛学习笔记之gc日志分析工具 测试环境:xp+weblogic8+jrockit jvm调优中有一些非常实用的工具可以用来分析jvm的gc输出日志。 HPjmeter,想必很多人都知道; PMAT,ibm的图形化gc分析工具; gcViewer,一款开源的gc图形化分析工具; 简单说一下适用感觉; 1、HPjmeter适用于hp机器上的jdk版本产生的gc日志,也适用一些ibm...原创 2011-05-10 14:14:26 · 319 阅读 · 0 评论 -
JDK TOOLS
以下这几种工具(存在于JDK5.0以上版本)。 jps:与unix上的ps类似,用来显示本地的java进程,可以查看本地运行着几个java程序,并显示他们的进程号。 jstat:一个极强的监视VM内存工具。可以用来监视VM内存内的各种堆和非堆的大小及其内存使用量。 jmap:打印出某个java进程(使用pid)内存内的,所有‘对象’的情况(如:产生那些对象,及其数量)。 jconsole:...原创 2011-05-10 14:15:56 · 89 阅读 · 0 评论 -
JVM & Memory (1) paging
近期看了一些有关JVM和内存的资料,为了避免遗忘,特在这里作一笔记。今天说说操作系统的虚拟内存先。 虚拟内存管理(VMM)是现在操作系统广泛采用的内存管理方式,为什么出现VMM了呢,当初主 要是为了解决物理内存不足的问题,既然是不足,设计师们当然就想起来用硬盘空间来协力,使用诸如LRU(最近最少使用)之类的算法,把物理内存(Main memory)中不怎么使用的内容,转储到硬盘上以节省空间...原创 2011-05-10 14:19:50 · 90 阅读 · 0 评论 -
JVM & Memory (2) java.exe
上篇说到了关于java heap的一些特征:连续的内存区域,逐步扩张的特征和如何做的这点的。but在讨论JVM的堆内存的细节以及垃圾回收等事宜之前,我们先讨论一下java进程的内存结构。郁闷, 昨日 这一篇本来写完了,但是提交失败了。。。 只好再写了,简略些吧,继续正题: 通 常我们所关注JVM的内存区域是java heap(堆),比如有时发生内存泄露(memory leak...原创 2011-05-10 14:20:29 · 76 阅读 · 0 评论 -
JVM & Memory (3) thread
以下继续探讨,说说jvm的线程(thread)及其执行中和内存相关的问题。but今天是写不完了,请保持关注,先写个预告栏咯 记 得当年学java之初,总是很鄙夷它,因为那时候对c/c++很痴迷,结果呢,第一个多线程程序还是拿java写出来的。而线程(thread),本是操 作系统的所提供/支持的,所以当初有一段时间,我总在怀疑我那java程序创建的线程到底是不是真正的操作系统线程,现在看...原创 2011-05-10 14:21:05 · 74 阅读 · 0 评论 -
JVM & Memory (4) gc
不同的JVM实现对堆结构的设计有所不同,这里先说说共性的,然后再比较classic vm和hotspot vm在gc方面的差异。 先 大致说说gc的过程,通常有两种情形会导致gc发生,一种是显式的System.gc()调用而java进程未禁止显示gc,第二种是隐式的,即内存管理 器(MM)在alloc内存时发生failure,MM进而作gc以便释放出空间用于分配(当然,假如gc后还是没有空间...原创 2011-05-10 14:22:27 · 107 阅读 · 0 评论 -
JVM & Memory (5) final
先说tuning,gc有两个指标,一个是frequentcy(以下称F),一个是duration (以下称D) 。 前者和程序产生garbage的速率和java heap大小有关,后者和java heap大小及gc thread数有关。依据应用程序的差异,F可能为30秒/次或者数小时/次不等,都是可接受的,而D则越短越好,因为它jvm让人感到pause的时 刻。在应用程序和gc thr...原创 2011-05-10 14:25:27 · 104 阅读 · 0 评论 -
Java虚拟机(JVM)参数配置说明
Java虚拟机(JVM)参数配置说明 在Java、J2EE大型应用中,JVM非标准参数的配置直接关系到整个系统的性能。 JVM非标准参数指的是JVM底层的一些配置参数,这些参数在一般开发中默认即可,不需要任何配置。但是在生产环境中,为了提高性能,往往需要调整这些参数,以求系统达到最佳新能。 另外这些参数的配置也是影响系统稳定性的一个重要因素,相信大多数Jav...原创 2011-03-22 10:26:04 · 125 阅读 · 0 评论 -
解析 Java 类和对象的初始化过程
解析 Java 类和对象的初始化过程 由一个单态模式引出的问题谈起 张 国建 (guojian.zhang@gmail.com ), 软件工程师, 北京高伟达西南分软 北京高伟达西南分软 Java EE 软件工程师,三年 Java EE 项目经验,行业方向为银行 OCRM 系统。对 JAVA 有着浓厚的兴趣,业余研究 AOP/ESB 方向。 简介: 类的初始化和...原创 2011-03-21 23:40:08 · 94 阅读 · 0 评论 -
JDK的概念、组成及JDK常用包
JDK概述 JDK (Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK(Software development kit)。 JDK 是整个Java的核心,包括了Java运行环境(Java Runtime Environment),一堆Java工具和Java基础的类库...原创 2011-03-18 22:09:23 · 95 阅读 · 0 评论 -
Java编译器优化方法简介
Java编译器优化方法简介 你对Java编译器优化的概念和方法是否熟悉,这里和大家分享一下,Java应用程序的编译过程与静态编译语言(例如C或C++)不同。静态编译器 直接把源代码转换成可以直接在目标平台上执行的机器代码,不同的硬件平台要求不同的编译器。Java编译器把Java源代码转换成可移植的JVM字节码。 两条编码准则与Java编译器 我们在写代码时,常常会提到两条原则: 1、...原创 2011-03-18 20:47:01 · 278 阅读 · 0 评论 -
Java虚拟机概念及体系结构
一、什么是Java虚拟机 Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。 1.为什么要使用Java虚拟机 Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少 需要编译成不同的目标代码。而引入...原创 2011-03-18 21:24:56 · 54 阅读 · 0 评论 -
如何分析Java虚拟机死锁
到目前为止,我认为分析Java代码问题的最有效的工具仍然是java thread dump,原因是: 1.任何操作系统平台下都可以使用。 2.在多数情况下,可以在生产环境中使用。 3.和操作系统提供的工具相比,java thread dump给出的信息是直白的,直接对应到应用代码。 4.它对被分析的系统干扰很小,因此能反应真实的问题。而其它很多profiling或Instrument工具本...原创 2011-03-18 21:37:54 · 77 阅读 · 0 评论 -
Java虚拟机的类的装载
一、引言 Java虚拟机(JVM)的类装载就是指将包含在类文件中的字节码装载到JVM中, 并使其成为JVM一部分的过程。JVM的类动态装载技术能够在运行时刻动态地加载或者替换系统的某些功能模块, 而不影响系统其他功能模块的正常运行。本文将分析JVM中的类装载系统,探讨JVM中类装载的原理、实现以及应用。 二、Java虚拟机的类装载实现与应用 2.1 装载过程简介 所谓装...原创 2011-03-18 21:43:39 · 66 阅读 · 0 评论 -
Java虚拟机(JVM)中的内存设置详解
在一些规模稍大的应用中,Java虚拟机(JVM)的内存设置尤为重要,想在项目中取得好的效率,GC(垃圾回收)的设置是第一步。 PermGen space:全称是Permanent Generation space.就是说是永久保存的区域,用于存放Class和Meta信息,Class在被Load的时候被放入该区域Heap space:存放Instance。 GC(Garbage Collecti...原创 2011-03-18 21:45:29 · 84 阅读 · 0 评论 -
Java 6 JVM参数选项大全(中文版)
作者: Ken Wu Email: ken.wug@gmail.com 转载本文档请注明原文链接 http://kenwublog.com/docs/java6-jvm-options-chinese-edition.htm ! 本文 是基于最新的 SUN官方 文档 Java SE 6 Hotspot VM Options ...原创 2011-03-18 21:48:46 · 75 阅读 · 0 评论 -
Java虚拟机的研究与实现(图文)
引言 Java 虚拟机本质是就是一个程序,当它在命令行上启动的时候,就开始执行保存在某字节码文件中的指令。Java 语言的可移植性正是建立在Java 虚拟机的基础上。任何平台只要装有针对于该平台的Java 虚拟机,字节码文件(.class)就可以在该平台上运行。这就是“一次编译,多次运行”。 kaffe虚拟机的简要分析 kaffe虚拟机采用了模块化的程序设计思想,它由多个独立...原创 2011-03-18 21:59:55 · 85 阅读 · 0 评论 -
JVM GC调整优化过程全揭秘
JVM GC调整优化是以个极为复杂的过程,由于各个程序具备不同的特点,如:web和GUI程序就有很大区别(Web可以适当的停顿,但GUI停顿是客户无法接 受的),而且由于跑在各个机器上的配置不同(主要cup个数,内存不同),所以使用的JVM GC种类也会不同。接下来,我简单介绍一下如何进行JVM GC调整优化。 首先说一下如何监视JVM GC,你可以使用我以前文章中提到的JDK中的js...原创 2011-03-18 22:03:25 · 86 阅读 · 0 评论 -
认识Java虚拟机及其性能
Java虚拟机(Java virtual machine,JVM)是运行Java才程序必不可少的机制。编译后的Java程序指令并不直接在硬件系统的CPIJ上执行,而是由JVM执行。JVM 是编译后的Java程序和硬件系统之间的接口,程序员可以把JVM看作一个虚拟的处理器。它不仅解释执行编译后的Java指令,而且还进行安全检查。它是 Java程序能在多平台间进行无缝移植的可靠保证,同时也是J...原创 2011-03-18 22:04:33 · 190 阅读 · 0 评论 -
详细介绍什么是Java虚拟机
本文由浅入深,先从什么是Java虚拟机、Java虚拟机的生命周期开始说 起,接着介绍了它的体系结构、数据类型、字节长度、类加载器子系统、方法区、堆、PC寄存器(程序计数器)、Java堆栈、堆栈帧、本地方法堆栈、执行引 擎、本地方法接口以及比较次要的现实中的机器、数学方法:仿真。 一、什么是Java虚拟机 当你谈到Java虚拟机时,你可能是指: 1、抽象的Java虚拟机规...原创 2011-03-18 22:07:38 · 110 阅读 · 0 评论 -
安装JDK后JRE与JVM联系浅谈
安装JDK后JRE、JVM之间的关系是什么呢?那么我们要从安装JDK慢慢说起。 如果安装了JDK,会发同你的电脑有两套JRE: 一套位于 <JDK安装目录>\jre 另外一套位于 C:\Program Files\Java\j2re1.4.1_01 目录下 后面这套比前面那套少了Server端的Java虚拟机,不过直接将前面那套的Server端Java虚拟机复制过来就行了。而且...原创 2011-03-18 22:08:35 · 105 阅读 · 0 评论 -
java中堆(heap)和堆栈(stack)有什么区别
stack 和 heep 都是内存的一部分 stack 空间小,速度比较快, 用来放对象的引用 heep 大,一般所有创建的对象都放在这里。 栈(stack):是一个先进后出的数据结构,通常用于保存方法(函数)中的参数,局部变量. 在java中,所有基本类型和引用类型都在栈中存储.栈中数据的生存空间一般在当前scopes内(就是由{...}括起来的区域). 堆(heap):是一个可动态申...原创 2011-05-10 14:29:40 · 61 阅读 · 0 评论