JVM
文章平均质量分 88
犀利的蛙
安安
展开
-
JVM 类加载过程
这里简单记录一下JVM 的一些知识,参考来源于《深入理解JVM》 的书,具体的例子部分做了实验,但是不保证所有理论正确,仅仅做一个参考。以下所有说明,均来自于JDK 1.6 版本,特殊情况会特殊说明。先说明一下类的生命周期:加载->验证->准备->解析(可以再次验证)->初始化->使用-回收一、 加载 1.类加载第一步是先加载,在加载阶段有3件事情...2013-12-19 16:16:23 · 115 阅读 · 0 评论 -
JVM 类加载器介绍
通过一个类的全限定名来获取描述此类的二进制字节流,这个动作放到虚拟机外部去实现,以便让程序自己决定如何去获取所需要的类。这个模块的动作成为“类加载器”。 唯一性:对于任意一个类,必须类的加载器和类本身,同时来确立其唯一性,每一个类加载器,都拥有一个独立的类的名称空间。 比较两个类是否相等,只有在两个类是由同一个类加载器加载的前提下才有意义,否则即使两个类来源于同一个class 文...2013-12-24 09:45:03 · 80 阅读 · 0 评论 -
JVM 垃圾回收机制( 一) 回收对象的判定
关于JVM 的垃圾回收机制,我们一般都没过多深入,因为JAVA 和 C++ 的一个很大区别就是,JAVA 帮我们做了垃圾回收,而不用像C++ 那么样手动进行回收,当然任何自动的东西都存在一定弊端,比如机器人,即使自动程度很高,但是在处理某些感情问题上,肯定处理上就会有遗漏,开个玩笑啦,下面我们先来了解一下JVM 的垃圾回收是怎么回事。 一、如何判断对象已经死亡 ...2014-01-15 16:14:52 · 224 阅读 · 0 评论 -
JAVA 内存模型(一) 概念理解
学习JAVA内存模型,可以帮助我们理解数据在内存中的分布、变化等细节,让我们在多线程开发中,拥有对数据更强的掌控力,能让我们开发出更稳定、更优秀的程序。 一、内存模型定义 A memory model describes, given a program and an execution trace of that program, whether the ...原创 2014-01-27 22:27:18 · 100 阅读 · 0 评论 -
JAVA 内存模型(二) volatile理解
volatile 关键字是JAVA虚拟机提供的最轻量级的同步机制,在了解volatile的特性后,会让我们在多线程数据竞争方面更准确的使用。 一、概念解释 一个volatile 变量,具备两种特性,第一是保证此变量多所有线程的可见性,这里的“可见性”是指当一个线程修改了该变量之后,新值对其他线程来说是可以立即得知的,而普通变量做不到,普通变量需要传递和主内存来完成,...原创 2014-02-13 17:07:32 · 110 阅读 · 0 评论 -
JAVA 应用性能监控基础
一、序言 这里简单介绍了JAVA 应用程序部署linux 服务器上的一些常用监控信息,虽然现在很多自动化监控的东西,但是一些基本的东西,我们还是需要了解。这里是简单记录一下: 二、操作过程 1.我习惯性先看看 CPU 和内存的使用情况,做一个简单的关注 命令:top 可以关注运行状态 命令:大写P:按CP...原创 2015-03-09 15:22:51 · 122 阅读 · 0 评论 -
自定义加载器,加载重复的calss和rt.jar 下的class
一、序言 先啰嗦一下,上次,阿里面试的时候问到能否加载一个java.lang.xx 的类,我的回答的是不能- -!当然答案是正确的,但是不知道为什么。 还有一个问题:如果加载两个jar,里面含有相同路径的类,是可以的吗?我还是回答不能- -,估计会冲突,但是原因也是模模糊糊,这里我再回顾一自定义加载类的方法吧,至于原理和细节的介绍,在JVM 目录下有。 ...2014-04-10 19:38:05 · 1403 阅读 · 0 评论