Java类加载器是用来在运行时加载类(*.class文件)。Java类加载器基于三个原则:委托、可见性、唯一性。委托原则把加载类的请求转发给父 类加载器,而且仅加载类当父 类加载器无法找到或者不能加载类时。可见性原则允许子类加载器查看由父类加载器加载的所有的类,但是父类加载器不能查看由子类加载器加载...
分类:
编程语言 时间:
2015-06-27 22:36:03
阅读次数:
108
众所周知,当访问一个类的变量或方法的时候,如果没有初始化该类,就会先去初始化一个类
但是,当这个类的变量为final的时候,就不一定了
请看下面的例子
package com.lala.shop;
import java.util.Random;
public class App
{
public static void main(String[] args...
分类:
其他好文 时间:
2015-06-27 16:35:32
阅读次数:
123
类加载优先级(从高到低):
1. 系统依赖– 容易自动将加载的模块依赖,包括Java EE API
2. 用户依赖– 在jboss-deployment-structure.xml(ear的META-INF内,war的META-INF或WEB-INF内)或Dependencies:项内配置的依赖。
3. 本地资源– 发布目录下的类文件,如war包下的WEB-INF/classes或WEB-INF/lib
4. 部署间依赖– 在ear内的其他部署依赖。包括ear lib...
分类:
其他好文 时间:
2015-06-27 11:39:41
阅读次数:
158
JVM全称是java Virtual Machine(java虚拟机),通过模拟一个计算机来完成一个计算机具有的功能
JVM屏蔽了与各个计算机平台相关的软件和硬件差异,所以JVM能够跨计算机体系结构来执行java字节码。
JVM体系结构JVM的基本组成
(1)指令集:JVM指令集
(2)类加载器:在jvm启动时或者类在运行时将需要的class加载到JVM中
(3)执行引擎:负责执行cla...
分类:
其他好文 时间:
2015-06-27 10:11:34
阅读次数:
169
JVM全称是java Virtual Machine(java虚拟机),JVM屏蔽了与各个计算机平台相关的软件和硬件差异。
在接下来的日子里,通过写博客的形式学习JVM,让自己更懂得Java!
本系列文章是对《深入分析javaweb技术内幕》和《深入理解java虚拟机》的总结,欢迎大家一起吐槽,一起进步。
《JVM解读》第一篇:JVM体系结构
《JVM解读》第二篇:JVM类加载器ClassL...
分类:
编程语言 时间:
2015-06-26 23:49:48
阅读次数:
161
ClassLoader类加载器负责将类加载进入JVM中。
ClassLoader的作用
(1)加载class文件进入JVM
(2)审查每个类应该由谁加载,采用双亲委托机制
(3)将class字节码重新解析成JVM要求的对象格式
ClassLoader结构分析
protected final Class defineClass(byte[] b, int off, int len)thr...
分类:
其他好文 时间:
2015-06-26 19:51:48
阅读次数:
132
作为一个程序员,仅仅知道怎么用是远远不够的。起码,你需要知道为什么可以这么用,即我们所谓底层的东西。
那到底什么是底层呢?我觉得这不能一概而论。以我现在的知识水平而言:对于Web开发者,TCP/IP、HTTP等等协议可能就是底层;对于C、C++程序员,内存、指针等等可能就是底层的东西。那对于Java开发者,你的Java代码运行所在的JVM可能就是你所需要去了解、理解的东西。
我会在接下...
分类:
其他好文 时间:
2015-06-26 13:33:13
阅读次数:
160
abstract 是抽象了,只有声明,没有具体的实现方法static是静态的,是一种属于类而不属于对象的方法或者属性,而我们知道,类其实也是一个对象,他是在class文件加载到虚拟机以后就会产生的对象,通常来说它是单例的,就是整个虚拟机中只有一个这样的类对象(当然,如果用新的类加载器也会生成新的类的...
分类:
其他好文 时间:
2015-06-26 00:15:32
阅读次数:
139
注:整理到这部分知识点时候发现有很多问题还没搞清楚,所以这里可能会存在很多不够详细甚至错误的理解,准备翻一遍编程思想再来更新,欢迎评论交流当JVM执行到这么一句代码: new Person().setName("superzhao")它会做这么几件事类加载JVM会用类加载器加载xxx.Person这...
分类:
编程语言 时间:
2015-06-24 18:29:15
阅读次数:
126
OSGI中类加载在osgi中,存在多个类加载器,每一个类加载器加载一个独立的模块,当其他模块需要寻找这个类时,通过osgi框架依赖关系表去查找这个类所在的加载器,委托这个加载器去运行ofbiz中类加载ofbiz中集成了许多应用程序,像订单,安全,登陆,网店等,还有tomcat也被集成..
分类:
编程语言 时间:
2015-06-23 18:11:43
阅读次数:
133