首先什么是Servlet: Servlet本质就是一个继承了HttpServlet的一个类文件,功能是在容器(服务器)根据客户端不同请求给予相应的响应服务.Servlet提供服务的过程原理(Servlet生命周期):触发:URL请求,触发加载:Classloader(类加载器,用来加载java类到j...
分类:
其他好文 时间:
2015-07-25 00:05:58
阅读次数:
223
ClassLoader
Java程序并不是一个原生的可执行文件,而是由许多独立的类文件组成,每一个文件对应一个Java类。此外,这些类文件并非立即全部装入内存的,而是根据程序需要装入内存。ClassLoader专门负责类文件装入到内存。
数组类的 Class 对象不是由类加载器创建的,而是由 Java 运行时根据需要自动创建。数组类的类加载器由 Class.getClassLoader() 返...
分类:
其他好文 时间:
2015-07-20 10:51:52
阅读次数:
184
一、类加载器原理
JVM将class文件字节码文件加载到内存中, 并将这些静态数据转换成方法区中的运行时数据结构,在堆中生成一个代表这个类的java.lang.Class
对象,作为方法区类数据的访问入口。
二、类缓存
标准的Java SE类加载器可以按要求查找类,但一旦某个类被加载到类加载器中,它将维持加载(缓存)一段时间。不过,JVM垃圾收集器可以回收这些Class过象。
三...
分类:
其他好文 时间:
2015-07-17 19:00:15
阅读次数:
124
双亲委派机制以及类加载器的问题一般情况下.保证同一个类中所关联的其他类都是由当前类的类加载器所加载的。
比如,class A本身在Ext下找到.那么他里面new出来的一些类也就只能用Ext去查找了(不会低一个级别)。所以有些明明App可以找到的,却找不到了。JDBC API他有实现的driver部分(mysql,sql server)。我们的JDBC APl都是由Boot或者Ext来载入的。但是J...
分类:
编程语言 时间:
2015-07-17 18:46:59
阅读次数:
202
1:反射(理解) (1)类的加载及类加载器 (2)反射: 通过字节码文件对象,去使用成员变量,构造方法,成员方法 (3)反射的使用 A:通过反射获取构造方法并使用 B:通过反射获取成员变量并使用 C:通过反射获取成员方法并使用 (4)反射案例 A:通过反射运行配置文件的内容 B:通过反射...
分类:
编程语言 时间:
2015-07-16 00:44:36
阅读次数:
137
作者:郭嘉
邮箱:allenwells@163.com
博客:http://blog.csdn.net/allenwells
github:https://github.com/AllenWell在介绍Android的类加载机制之前,我们需要先了解一下Java的类加载机制。【Java 安全技术探索之路系列:J2SE安全架构】之五:类加载器Android的类加载器主要有两个PathClassLo...
分类:
移动开发 时间:
2015-07-14 18:05:32
阅读次数:
244
JVM框架Java虚拟机HotSpot的框架:JVM主要组成部分:Class Loader(类加载器)、Runtime Data Area(运行时数据区)、执行引擎(Execution Engine)。JVM垃圾回收简介Step1:MarkingGC算法在扫描存活对象时通常需要从Root节点开始,扫...
分类:
编程语言 时间:
2015-07-09 00:19:50
阅读次数:
242
无论什么语言,都需要先将代码加载到内存中,而后才能执行,代码量上去以后,对于大量代码的加载所照成的长时间等待的问题必须有相应的解决方案,比如java的类加载器 java的类加载器 简单来说分三个部分,第一部分引导类,程序启动的基本类加载(系统级别),比如jdk,第二部分为依赖类,具体项目启...
分类:
其他好文 时间:
2015-07-05 19:53:05
阅读次数:
144
一、Class文件
注意:每一个Class 文件都对应着唯一一个类或接口的定义信息,但是相对地,类或接口并不一定都得定义在文件里(譬如类或接口也可以通过类加载器直接生成)。
二、class文件的文件结构
class文件格式采用一种类似于C语言结构体的伪结构来存储数据,这种伪结构只有两种数据类型:无符号数和表。
class文件的结构描述
Clas...
分类:
编程语言 时间:
2015-07-05 09:36:31
阅读次数:
153
假设有个名为Cat类:
1、即使没有显示地使用static关键字,构造器实际上也是静态方法。因此在创建类型为Cat的对象时,或者Cat类的静态方法/静态域被首次访问时(被引用),java解释器必须查找类途径(classpath上查找),以定位Cat.class文件。
2,、然后类加载器载入Cat.class,有关静态初始化的所有动作都会执行。并且,静态初始化只在Class对象首次加载时进行一次...
分类:
编程语言 时间:
2015-07-02 10:09:30
阅读次数:
186