本月博客排行
-
第1名
龙儿筝 -
第2名
johnsmith9th -
第3名
wy_19921005 - zysnba
- sgqt
- lemonhandsome
年度博客排行
-
第1名
宏天软件 -
第2名
青否云后端云 -
第3名
龙儿筝 - gashero
- wallimn
- vipbooks
- benladeng5225
- wy_19921005
- fantaxy025025
- e_e
- zysnba
- ssydxa219
- sam123456gz
- javashop
- arpenker
- tanling8334
- kaizi1992
- xpenxpen
- wiseboyloves
- xiangjie88
- ranbuijj
- ganxueyun
- sichunli_030
- xyuma
- wangchen.ily
- jh108020
- lemonhandsome
- zxq_2017
- jbosscn
- Xeden
- luxurioust
- lzyfn123
- zhanjia
- johnsmith9th
- forestqqqq
- nychen2000
- ajinn
- wjianwei666
- hanbaohong
- daizj
- 喧嚣求静
- mwhgJava
- silverend
- kingwell.leng
- lchb139128
- lich0079
- kristy_yy
- jveqi
- java-007
- sunj
最新文章列表
ClassLoader 机制
类加载就是通过类的全限定名来读取类二进制字节流。
类加载器 分两种模型 双亲委派模型 VS 破坏双亲委派模型(不做了解)
双亲委派模型就是: 子加载器先请求父加载器,看父加载器能否加载,若不能再由自己处理。
类加载器分为三类(或这四类)
1. 启动类加载器 (负责加载%JAVA_HOME%\lib下的类库, 比如 rt.jar, 启动类加载器不能被Java程序直接引用)
2. 扩展类加载器 ( ...
classloader 三
jvm classLoader architecture
:
a, Bootstrap ClassLoader/启动类加载器
主要负责jdk_home/lib目录下的核心 api 或 -Xbootclasspath 选项指定的jar包装入工作.
b, Extension ClassLoader/扩展类加载器
主要负责jdk_home/lib/ext目录下的jar包或 -Djava. ...
三种特殊形式的Bundle
三种特殊形式的Bundle
Require Bundles
Require Bundle其实不能算什么特殊形式的Bundle,它只是可以直接被其他Bundle通过Require-Bundle来使用的Bundle。
如果使用了Require-Bundle,那么就可以使用该Bundle中所有的资源文件和export的package。
Fragment Bundles
...
JVM学习笔记三 之 ClassLoader
一、ClassLoader
负责装载class文件;这个文件来源可能是压缩包、网络、运行时编译出的或者自动生成的class文件,jvm spec没有规定必须从什么地方加载。
jvm中默认提供了三种系统类加载器:
1)、启动类加载器Bootstrap ClassLoader,负责加载%JAVA_HOME%\jre\lib目录下的包,
2)、扩展类加载器Ext ClassLoa ...
Java 载入类的方式
JAVA 类载入分别有隐式载入和显示载入
隐式载入即平时大家惯用的new关键字,
显示载入即抽象工厂模式中,大家用到的Class.forName(String "yourClassName");和ClassLoader.
使用java -verbose:class MainClass. 可以查看类载入的顺序。
加以在特定地方打印一些值,既可以看到类载入和执行的顺序。
显示载入 ...
Java面试问题之十四
请阐述一下不同类加载器加载的类之间的可见性。
答:不同类加载器的命名空间存在以下关系:
(1)同一命名空间内的类是相互可见的。
(2)子加载器的命名空间包含所有父加载器的命名空间。因此由子加载器加载的类能看见
其父加载器加载的类。比如,系统类加载器加载的类能够看见根类加载器加载的类。
(3)由父加载器加载的类不能看见子加载器加 ...
Java面试问题之十三
类加载器是Java虚拟机中重要的部分,请自定义一个类加载器来实现.class文件的加载功能。
答:要创建一个用户自己的类加载器,只需要扩展java.lang.ClassLoader类,然后覆盖它的findClass(String name)方法即可,该方法根据参数指定了类的名称,返回对应Class对象的引用。下面编写一个MyClassLoader来实现.class文件的加载功能。
im ...
Java面试问题之十
分析下面代码的运行结果,并给出具体的原因。
public class ClassB {
public static void main(String[] args) throws Exception {
ClassLoader loader=ClassLoader.getSystemClassLoader();
...
深入探讨 Java 类加载器
作者:小生、我怕怕;
Email:17zouguo@sina.com
网址:http://www.17zouguo.net
简介: 类加载器(class loader)是 Java™ 中的一个很重要的概念。类加载器负责加载 Java 类的字节代码到 Java 虚拟机中。本文首先详细介绍了 Java 类加载器的基本概念,包括代理模式、加载类的具体过程和线程上下 ...
ClassLoader.loadClass()与Class.forName()的区别
一直以来对这个问题比较迷惑,今天找了些资料整理的下,基本搞清楚了2者的区别了。在此写些东西权当是整理并与大家分享。
ClassLoader.loadClass()与Class.forName()大家都知道是反射用来构造类的方法,但是他们的用法还是有一定区别的。
在讲区别之前,我觉得很有不要把类的加载过程在此整理一下。
在Java中,类装载器把一个类装入Java虚拟机中,要经过三个步骤来完成:装 ...
Java中的getResourceAsStream
首先,Java中的getResourceAsStream有以下几种:
1. Class.getResourceAsStream(String path) : path 不以’/'开头时默认是从此类所在的包下取资源,以’/'开头则是从
ClassPath根下获取。其只是通过path构造一个绝对路径,最终还是由ClassLoader获取资源。
2. Class.getClassLoader ...
关于DriverManager与驱动
刚才无意中看到几篇讲DriverManager源码的文章,发现几点没有讲明白的地方。
这里重新说一下:
直接进入正题
Class.forName("com.mysql.jdbc.Driver");
这个玩意做了这些事情:
1.驱动的实现类:com.mysql.jdbc.Driver 里面的static块,调用DriverManger.registerDriver()来 ...
ClassLoader 深入解析
本文是根据是在《北京圣思园深入JAVA虚拟机系列视频》的基础上自己整理而来,内容范围没有超过其系列所述,在此给予说明。
在进入ClassLoader的分析之前我们先看一个JAVA程序例子。
class Singleton {
/* case 1 */
private
Java Class ClassLoader
下午在看《Java 深度历险》,对Class & ClassLoader的定位不是很clear,于是不小心搜到如下一篇blog:
http://www.cnblogs.com/pony/archive/2008/10/10/1307921.html
blog_name : Java动态加载类 把代码稍作修改,就能跑起来了。ok,now show code:
共4个cla ...
Java ClassLoader机制
转载自:
http://www.cnblogs.com/yangy608/archive/2011/07/23/2114900.html
当JVM(Java虚拟机)启动时,会形成由三个类加载器组成的初始类加载器层次结构: bootstrap classloader | extension classloader ...