类加载,再来一发。 研究完java提供的类加载机制,再来看看tomcat开出了那些花。 最近开始读tomcat的源码,主线路当然是类加载机制,在这个过程中有豁然开朗的感觉。这一篇主要是自己的体会,而不是从头到尾的详细解读。很显然,是因为我懒。有多懒呢,懒到把女朋友都弄丢了,哎。 言归正传,从tomc ...
分类:
其他好文 时间:
2017-05-21 18:46:11
阅读次数:
211
说到本篇的tomcat类加载机制,不得不说翻译学习tomcat的初衷。 之前实习的时候学习javaMelody的源码,但是它是一个Maven的项目,与我们自己的web项目整合后无法直接断点调试。后来同事指导,说是直接把java类复制到src下就可以了。很纳闷....为什么会优先加载src下的java ...
分类:
其他好文 时间:
2017-05-20 18:59:17
阅读次数:
182
1 基本信息 每个开发人员对Java.lang.ClassNotFoundExcetpion这个异常肯定都不陌生,这背后就涉及到了java技术体系中的类加载。Java的类加载机制是技术体系中比较核心的部分,虽然和大部分开发人员直接打交道不多,但是对其背后的机理有一定理解有助于排查程序中出现的类加载失 ...
分类:
编程语言 时间:
2017-05-20 18:28:52
阅读次数:
307
一个.java文件在编译后会形成相应的一个或多个Class文件,这些Class文件中描述的类的各种信息,最终都需要加载到虚拟机中之后才能被运行和使用。事实上,虚拟机把描述类的数据从Class文件加载到...
分类:
其他好文 时间:
2017-05-19 11:08:15
阅读次数:
183
类加载机制与反射 (一)类的加载,连接和初始化 1,一个main函数相当于调用一个jvm进程,main函数结束其内存数据清除 2,类加载(类初始化)三个步骤: 1:类的加载: 2,类的连接: 3,类的初始化: (二)类加载器 1,Bootstrap ClassLoader:根类加载器(非ClassL ...
分类:
编程语言 时间:
2017-04-27 17:53:20
阅读次数:
162
从java的动态性到类加载机制 我们知道,Java是一种动态语言。 那么怎样理解这个“动态”呢? 或者说一门语言具备了什么特性,才能称之为动态语言呢? 对于java,我是这样理解的。 我们都知道JVM(java虚拟机)执行的不是本地机器码指令, 而是执行一种称之为字节码的指令(存在于class文件中 ...
分类:
编程语言 时间:
2017-04-23 14:22:03
阅读次数:
251
概述虚拟机把描述类的数据从class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。
类的加载指的是将类的.class文件中...
分类:
其他好文 时间:
2017-04-21 10:07:22
阅读次数:
176
Java语言,类型的加载、连接、初始化都是在程序运行期间完成的 类的生命周期:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)、卸载(Unloading) 连接(Link ...
分类:
其他好文 时间:
2017-04-16 13:31:26
阅读次数:
207
1. 类的生命周期 虚拟机把描述类的数据从class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载(Loading),验证(Verification ...
分类:
其他好文 时间:
2017-04-11 00:45:53
阅读次数:
243
JVM和类 当调用java命令来运行某个Java程序时,该命令会启动一个Java虚拟机进程,不管该Java程序有多么复杂,该程序启动了多少个线程,它们都处于该java虚拟机进程里。 正如刚所说,同一个JVM所有线程、所有变量都处于同一个进程里,它们都使用该JVM进程的内存区。 当出现下面几种情况时, ...
分类:
其他好文 时间:
2017-04-05 09:42:57
阅读次数:
196