![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
jvm
iteye_10285
这个作者很懒,什么都没留下…
展开
-
jvm运行时数据区
java虚拟机里定义了若干程序在运行时会用到的运行时数据区,一些是与虚拟机相关的,随着虚拟机的创建而创建,关闭而消亡;另一些是与运行在虚拟机上的线程相关的,随着线程的创建与结束而产生和销毁。任何一个虚拟机的线程都是与一个java虚拟机栈相对应,这个虚拟机栈用来保存局部变量和运行时产生的一些中间值。 Java虚拟机栈可能发生如下异常情况: 如果线程请求分配的栈容量超过Java虚拟机栈允许...原创 2013-12-15 23:56:24 · 59 阅读 · 0 评论 -
JVM 学习0.0.2(转)
要深入了解ClassLoader,首先就要知道ClassLoader是用来干什么的,顾名思义,它就是用来加载Class文件到JVM,以供程序使用的。我们知道,java程序可以动态加载类定义,而这个动态加载的机制就是通过ClassLoader来实现的,所以可想而知ClassLoader的重要性如何。 看到这里,可能有的朋友会想到一个问题,那就是既然ClassLoader是用来加载类到JVM中...原创 2014-03-14 02:38:55 · 57 阅读 · 0 评论 -
jvm学习0.0.1
1.什么是全限定名和非全限定名 权限点名是指在整个JVM中的绝对名称,譬如:"java.lang.object",而非全限定名是指当前环境(譬如当前类)中的相对名称,譬如"Object" 2.对于如下方法: public TestDO(Long id){ this.id = id; } 它在jvm中的方法描述符是这样的 [img]http://dl2.iteye.com/...原创 2014-03-11 02:15:36 · 55 阅读 · 0 评论 -
jvm堆内存分析
F:\Tem>jhat luch.txt Reading from luch.txt... java.io.IOException: Unrecognized magic number: 813183024 at com.sun.tools.hat.internal.parser.Reader.readFile(Reader.java:81) at com....原创 2014-03-07 01:58:33 · 227 阅读 · 0 评论 -
内存泄露和内存溢出比较
这里简要说明一下内存泄露和内存溢出的区别: 内存泄露是指分配出去的内存没有被回收回来,由于失去了对该内存区域的控制,因而造成了资源的浪费。Java中一般不会产生内存泄露,因为有垃圾回收器自动回收垃圾,但这也不绝对,当我们new了对象,并保存了其引用,但是后面一直没用它,而垃圾回收器又不会去回收它,这边会造成内存泄露 内存溢出是指程序所需要的内存超出了系统所能分配的内存(包括动态扩展)的上限。 ...原创 2014-01-14 02:12:49 · 66 阅读 · 0 评论 -
基本数据类型对应字节码
【零】布尔型 [u]boolean boo = true;[/u] 对应字节码 [u]0: iconst_1 1: istore_1[/u] 【①】byte型: byte m = 1; 对应的字节码: 0: iconst_1 1: istore_1 【②】int型: int m = 1; 对应字节码 [u]0: iconst_1 1: ...原创 2014-01-08 00:34:03 · 339 阅读 · 0 评论 -
开始使用JAVAP(转自网络)
链接:http://www.boyunjian.com/do/article/snapshot.do?uid=net.csdn.blog%2Fjava169%2Farticle%2Fdetails%2F2460659 大多Java程序员知道他们的程序通常不会被编译为本机代码而是被编译为由java虚拟机(JVM)执行的字节码格式。然而,很少有java程序员曾经看过字节码因为他们的工具不鼓励他们...原创 2014-01-05 21:44:14 · 106 阅读 · 0 评论 -
jvm字节码入门
jvm字节码解读:HelloWorld.javapublic class HelloWorld{ public static void main(String args[]) { System.out.println("Hello, Jack!"); } } 编译完之后的字节码文件: main函数的字节码指令如下:0 getstatic #2 <java/lan...原创 2014-01-05 21:31:28 · 127 阅读 · 0 评论 -
javap命令
对于已经编译为class的字节码文件,我们除了用jclasslib等小软件来查看字节码指令外,还可以用jdk自带的javap命令来查看。用法是在命令行中,直接输入如下的命令行:javap -c HelloWorld[命令] [参数][class文件名] ...原创 2014-01-05 01:34:57 · 111 阅读 · 0 评论 -
jvm的跨平台(转自网络)
Java程式可以跨平台,這是你在許多書或文件早就看過的描述,但是跨平台是怎麼一回事?在這之前,你得先了解不能跨平台是怎麼一回事。其 實對於電腦而言,它只認識一種語言,也就是0101序列所組合而成的指令。當你使用的是C/C++等之類的高階語言撰寫程式時,其實這些語言,都是比較貼 近人類可閱讀的文法,精確點來說,大部份就是比較接近英文文法的語言。這是為了方便人類閱讀及撰寫。電腦其實看不懂C/C++...原创 2013-12-18 01:03:15 · 91 阅读 · 0 评论 -
jvm学习之dump堆栈信息
准备工具: eclipse 做如下参数设置: Windows->Preferences->Java->Installed JREs->Edit JRE, 这个时候设置Default VM arguments=-Xms2m -Xmx2m -XX:+HeapDumpOnOutOfMemoryError 上述参数设置的意思是:设置堆内存最小为2m,最大也为2m,并且在发生OOM的时候dump内存...原创 2014-03-17 01:44:40 · 1275 阅读 · 0 评论