hotspot
文章平均质量分 71
mno2330
这个作者很懒,什么都没留下…
展开
-
HOTSPOT结构
├─agent Serviceability Agent的实现├─make 用来build出HotSpot的各种配置文件├─src HotSpot VM的源代码│ ├─cpu ...原创 2011-09-08 09:54:16 · 269 阅读 · 0 评论 -
在XUbuntu 10.10上以JRL源码构建Oracle JDK 6 update 23
http://rednaxelafx.iteye.com/blog/875957liueye 写道请问有谁在Linux环境编译过SUN JVM,请提供编译手顺,谢谢于是回答一下… 背景知识 这年头想从JRL源码来构建JDK的应该不多了吧。毕竟Sun(-> Oracle)的JDK开源源码的主流早已是OpenJDK。 如果要尝试构建基于Sun源码的J...原创 2011-11-22 23:00:58 · 190 阅读 · 0 评论 -
Sun的JDK7、OpenJDK及IcedTea释疑
[url]http://www.infoq.com/cn/news/2009/01/jdk-openjdk-icedtea[/url]原创 2011-11-22 23:44:58 · 119 阅读 · 0 评论 -
JVM执行篇:使用HSDIS插件分析JVM代码执行细节
在《Java虚拟机规范》之中,详细描述了虚拟机指令集中每条指令的执行过程、执行前后对操作数栈、对局部变量表的影响等细节。这些细节描述与Sun的早期虚拟机(Sun Classic VM)高度吻合,但随着技术的发展,高性能虚拟机真正的细节实现方式已经渐渐与虚拟机规范所描述产生越来越大的差距,虚拟机规范中的描述逐渐成了虚拟机实现的“概念模型”——即实现只能保证规范描述等效。 基于上面的原...原创 2012-04-10 13:27:27 · 132 阅读 · 0 评论 -
Java Crash问题分析
如果是Java进程不知道什么原因退出或被杀死,想要分析具体原因,一般来说分下面几步: 1 拿到Java应用程序的日志文件。一般来说日志文件中会有很应用相关的错误信息。Java进程异常退出的原因最有可能就是应用程序本身的问题。因此检查Java应用程序的日志文件可能是最快定位到错误的方法。2 查找JVM的致命错误日志如果应用程序日志文件中没有发现什么线索。那么还可以查看 JVM的...原创 2012-08-05 18:36:18 · 158 阅读 · 0 评论 -
( 转)JVM执行篇:使用HSDIS插件分析JVM代码执行细节
在《Java虚拟机规范》之中,详细描述了虚拟机指令集中每条指令的执行过程、执行前后对操作数栈、对局部变量表的影响等细节。这些细节描述与Sun的早期虚拟机(Sun Classic VM)高度吻合,但随着技术的发展,高性能虚拟机真正的细节实现方式已经渐渐与虚拟机规范所描述产生越来越大的差距,虚拟机规范中的描述逐渐成了虚拟机实现的“概念模型”——即实现只能保证规范描述等效。 基于上...原创 2012-08-08 20:10:20 · 110 阅读 · 0 评论 -
使用CORE DUMP
程序出现SIGSEGV ,Segmentation fault 等错误,没有提示所在的行位置,无法定位问题,这时就需要用到CORE DUMP文件。在此CORE 不是核心的意思,而是只内存。1.一般linux不会产生CORE DUMP文件,通过ulimit -c来查看core dump文件的大小,一般开始是0,可以设置core文件大小,ulimit -c 1024(kbytes单位)或者...原创 2012-08-08 20:59:31 · 103 阅读 · 0 评论 -
Java进程Crash的故障分析方法(转)
I、Java进程无故退出的故障查找过程:如果是Java进程不知道什么原因退出或被杀死,想要分析具体原因,一般来说分下面几步:1. 拿到Java应用程序的日志文件。一般来说日志文件中会有很应用相关的错误信息。Java进程异常退出的原因最有可能就是应用程序本身的问题。因此检查Java应用程序的日志文件可能是最快定位到错误的方法。2. 查找JVM的致命错误日志如果应用程序日志文件中没有发...原创 2012-08-08 21:54:26 · 935 阅读 · 0 评论 -
一个java crash的故障分析过程
一个应用在周五出现java进程消失,没有任何日志。先查看/var/log/message中无oom_killer信息,所以只能拿core。该应用是一个集群,通知他们将出现crash的服务器上打开ulimit,等待生成core文件 。今天周一,下午应用负责人紧急找我,说同时出几台crash了。开了ulimit参数的那台服务器coredump已经生成。登录到该服务器上,先...原创 2012-08-08 22:01:12 · 150 阅读 · 0 评论 -
java应用crash案例
最近,应用总会时不时crash(jdk6u24),hs_err_pid.log截取如下: Current thread (0x0000000040124800): GCTaskThread [stack: 0x0000000000000000,0x0000000000000000] [id=23997] 出错的时候运行的是GCTaskThread,说明是GC的时候出错的,执行的是libjvm.s...原创 2012-08-08 22:05:44 · 194 阅读 · 0 评论 -
jstat使用
如何判断JVM是否存在内存问题呢?判断JVM垃圾回收是否正常?一般的top指令基本上满足不了这样的需求,因为它主要监控的是总体的系统资源,很难定位到java应用程序。 Jstat是JDK自带的一个轻量级小工具。全称“Java Virtual Machine statistics monitoring tool”,它位于java的bin目录下,主要利用JVM内建的指令对Java应用程序的资源和性能进...原创 2012-08-09 09:51:21 · 97 阅读 · 0 评论 -
jstack使用
Java综合 我们使用jdk自带的jstack来分析。当linux出现cpu被java程序消耗过高时,以下过程说不定可以帮上你的忙: 1.top查找出哪个进程消耗的cpu高 21125 co_ad2 18 0 1817m 776m 9712 S 3.3 4.9 12:03.24 java ...原创 2012-08-09 10:37:59 · 133 阅读 · 0 评论 -
n JDK 和 OpenJDK 的区别
http://hi.baidu.com/openware/blog/item/19e501ddaae8581a632798bd.htmlFrans Thamura wrote:> anyone have a list that compare Sun JDK with OpenJDK and also OpenJDK> JRE with "Sun JREThere is no Op...原创 2011-11-22 13:34:37 · 235 阅读 · 0 评论 -
JVM性能优化
本文主要根据这篇PDF(GCTuningGuidelines)写成。首先是JDK1.5引入的新功能 Ergonomic Settings(自动优化的参数)对于有2块CPU和2GB内存及更佳配置的服务器,Sun的hotspot jdk默认设置了如下参数: * -server :服务器模式编译 * -XX:+UseParallelGC...原创 2012-04-26 10:30:45 · 65 阅读 · 0 评论 -
Mercurial使用简单介绍
概述 * Mercurial可以使异地开发进行统一的版本管理,比如一个项目有一部分人在银行内部开发无法用外网,另一部分人在公司开发,这两部分人需要一个统一的版本管理工具,mercurial这时候可以发挥作用 * mercurial 同Subversion很多命令相同,所以学习曲线不陡峭,可以比较快的掌握使用。add,commit,branch,t...原创 2011-09-23 13:50:47 · 147 阅读 · 0 评论 -
解决 Mercurial 版本冲突
如何解决 Mercurial 版本冲突什么是版本冲突当两个工程师都对版本库中的同一个文件中的同一行内容都进行了修改,而且其中一位工程师已经用 "hg push" 命令将这个变更集(changeset)推入到版本库中, 当另外一位工程师要向该版本库推入另外一个变更集时,Mercurial会自动发现来自这两个工程师的变更集有冲突,而拒绝第二位工程师对版本库的推入操作。提示大致如下: ...原创 2011-09-23 14:04:25 · 392 阅读 · 0 评论 -
JVM优化之压缩普通对象指针(CompressedOops)
通常64位JVM消耗的内存会比32位的大1.5倍,这是因为对象指针在64位架构下,长度会翻倍(更宽的寻址)。 对于那些将要从32位平台移植到64位的应用来说,平白无辜多了1/2的内存占用,这是开发者不愿意看到的。 幸运的是,从JDK 1.6 update14开始,64 bit JVM正式支持了 -XX:+UseCompressedOops 这个可以压缩指针,起到节约内存占用的新参数。...原创 2011-09-26 12:32:52 · 160 阅读 · 0 评论 -
hotspot--Tree
├─agent Serviceability Agent的实现├─make 用来build出HotSpot的各种配置文件├─src HotSpot VM的源代码│ ├─cpu ...原创 2011-09-27 09:22:44 · 90 阅读 · 0 评论 -
重温java之bootstrap类加载原理
让我们一起跟随ClassLoader里的本地方法 findBootstrapClass(), 进入jvm执行启动类加载器加载类的内部实现。 java 代码 1.private Class findBootstrapClass0(String name) 2. throws ClassNotFoundException 3. { ...原创 2011-09-29 14:30:51 · 1152 阅读 · 0 评论 -
重温java之classloader体系结构(含hotswap)
http://galaxystar.iteye.com/blog/136427虚拟机加载类途径: http://galaxystar.iteye.com/blog/46756classloader相关基础知识: http://galaxystar.iteye.com/blog/46774JVM优化之压缩普通对象指针(CompressedOops): ...原创 2011-09-29 14:37:23 · 85 阅读 · 0 评论 -
Mercurial学习笔记
录 •1 Mercurial 一览: 基础 ◦1.1 安装◦1.2 开始◦1.3 代码仓库◦1.4 修改和查看修改◦1.5 提交修改◦1.6 共享修改 •2 Mercurial 一览: 合并修改 ◦2.1 合并◦2.2 合并冲突 •3 幕后 ◦3.1 Mercurial 的历史记录◦3.2 修订历史...原创 2011-10-11 13:06:40 · 196 阅读 · 0 评论 -
GDB调试精粹及使用实例
一:列文件清单 1. List (gdb) list line1,line2 二:执行程序 要想运行准备调试的程序,可使用run命令,在它后面可以跟随发给该程序的任何参数,包括标准输入和标准输出说明符()和外壳通配符(*、?、[、])在内。 如果你使用不带参数的run命令,gdb就再次使用你给予前一条run命令的参数,这是很有用的。 利用set args 命令就可...原创 2011-10-12 14:41:04 · 70 阅读 · 0 评论 -
c++阿里笔试
1、有一个虚拟存储系统,若进程在内存中占3页(开始时内存为空),若采用先进先出(FIFO)页面淘汰算法,当执行如下访问页号序列后1,2,3,4,5,1,2,5,1,2,3,4,5,会发生多少缺页? A、7 B、8 C、9 D、10 2、设...原创 2011-10-26 14:43:52 · 344 阅读 · 0 评论 -
线程局部存储Thread Local Storage-TLS(总结整理)
在线程的学习中我们知道每个线程除了共享进程的资源外还拥有各自的私有资源: 一个寄存器组(或者说是线程上下文);一个专属的堆栈;一个专属的消息队列;一个专属的Thread Local Storage(TLS);一个专属的结构化异常处理串链。其中线程上下文在线程的学习中已经解释过了,堆栈没有什么好说的,消息队列会在USER 和GDI 子系统一节中讲解,那么这节的任务就是集中讲解线...原创 2011-10-27 18:18:29 · 118 阅读 · 0 评论 -
HotSpot VM里的解释器在client与server模式上的一点区别
可能许多人都读到过资料,听说过在Sun的HotSpot VM里,client VM与server VM是共用一套解释器的。那么“照理说”无论是在client还是server模式,纯解释执行的性能应该是一样的。 引用 (图片来源:The Java HotSpot Performance Engine Architecture) 是这样的么?解释器虽然是同一个,...原创 2011-12-28 11:12:09 · 225 阅读 · 0 评论 -
Java编译器、JVM、解释器
Java 虚拟机(JVM)是可运行Java 代码的假想计算机。只要根据JVM规格描述将解释器移植到特定的计算机上,就能保证经过编译的任何Java代码能够在该系统上运行。本文首先简要介绍从Java文件的编译到最终执行的过程,随后对JVM规格描述作一说明。 一.Java源文件的编译、下载 、解释和执行 Java应用程序的开发周期包括编译、下载 、解释和执行几个部分。Java编译程...原创 2012-04-25 16:43:01 · 93 阅读 · 0 评论 -
JDK内置工具使用(转)
JDK内置工具使用一、javah命令(C Header and Stub File Generator)二、jps命令(Java Virtual Machine Process Status Tool)三、jstack命令(Java Stack Trace)四、jstat命令(Java Virtual Machine Statistics Monitoring Tool)五、j...原创 2012-08-09 10:56:09 · 88 阅读 · 0 评论