一、类加载器 首先来看一下java程序的执行过程。 从这个框图很容易大体上了解java程序工作原理。首先,你写好java代码,保存到硬盘当中。然后你在命令行中输入 此时,你的java代码就被编译成字节码(.class).如果你是在Eclipse I
分类:
编程语言 时间:
2016-03-14 18:46:37
阅读次数:
190
首先这里澄清两个概念:JVM实例和JVM执行引擎实例,JVM实例对应了一个独立运行的Java程序,而JVM执行引擎实例则对应了属于用户运行程序的线程;也就是JVM实例是进程级别,而执行引擎是线程级别的。 JVM是什么?—JVM的生命周期 JVM实例的诞生:当启动一个Java程序时,一个JVM实例就产
分类:
编程语言 时间:
2016-03-14 18:42:54
阅读次数:
343
在上一节中Java 出现内存溢出的定位以及解决方案 中对于Java虚拟机栈以及方法区的内存出现的异常以及处理方式进行了解析,由于Java虚拟机对于堆的管理十分复杂,并且Java虚拟机中最基本的内存区域,所以单独提出一节进行分析。 先来解释一下对象存活?? 什么样的对象是已经死了的对象,须要垃圾回
分类:
编程语言 时间:
2016-03-13 11:15:00
阅读次数:
235
从上节我们知道了tomcat并且由他引申出了java虚拟机JDK,今天我们来详细了解下,并学习搭建这个java服务。我说下我对这个服务的看法,这个服务在实际生产中金融公司运用的比较多,为什么呢?Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项..
分类:
系统相关 时间:
2016-03-12 23:14:49
阅读次数:
506
# note about jvm # victor# 2016.03.08# 自动内存管理机制1 java 内存区域与内存溢出异常 java虚拟机通过自动内存管理机制来帮助程序员控制内存。1.1 java运行时的数据区域 运行时的数据区 { 方法区 堆 ------- 虚拟机栈 本地方法栈 程序计数
分类:
其他好文 时间:
2016-03-12 00:08:32
阅读次数:
226
在《Java虚拟机类加载机制》一文中详细阐述了类加载的过程,并举了几个例子进行了简要分析,在文章的最后留了一个悬念给各位,这里来揭开这个悬念。建议先看完《Java虚拟机类加载机制》这篇再来看这个,印象会比较深刻,如若不然,也没什么关系~~
下面是程序代码:package jvm.classload;public class StaticTest
{
public static void m...
分类:
编程语言 时间:
2016-03-10 17:29:04
阅读次数:
188
Java虚拟机运行时数据区: 相关区域介绍: 程序计数器: 功能:当前线程所执行字节码的行号指示器。若是Java方法记录指令地址,若为Native方法,则不记录 隔离性:线程隔离 Error:无 Java虚拟机栈: 功能:描述Java方法执行的内存模型:每个方法执行的同时都会创建一个栈帧,用于存储局
分类:
编程语言 时间:
2016-03-10 16:07:15
阅读次数:
207
看到这个题目,很多人会觉得我写我的java代码,至于类,JVM爱怎么加载就怎么加载,博主有很长一段时间也是这么认为的。随着编程经验的日积月累,越来越感觉到了解虚拟机相关要领的重要性。闲话不多说,老规矩,先来一段代码吊吊胃口。public class SSClass
{
static
{
System.out.println("SSClass");
}
}...
分类:
编程语言 时间:
2016-03-09 00:07:02
阅读次数:
232
一、本文参考: 1.《深入理解java虚拟机 JVM高级特性与最佳实践》 2. http://coderevisited.com/memory-leaks-in-java/ 二、对象已死的判定方法 要进行JVM中对象回收首先要判断对象是否已经死亡,判断的方法有如下几个: 1.引用计数法 给对象中添加
分类:
编程语言 时间:
2016-03-08 02:03:07
阅读次数:
256
通过JVM自身的物理结构,我们可以从下图了解: JVM 类加载机制: JVM的类加载通过ClassLoader及其子类来完成: 1.Bootstrap ClassLoader 负责加在$JAVA_HOME中 jre/lib/rt.jar里所有的类,由C++实现,不是ClassLoader的子类 2、...
分类:
编程语言 时间:
2016-03-07 11:55:45
阅读次数:
161