在读取本地资源的时候我们经常需要用到输入流,典型的场景就是使用Druid连接池时读取连接池的配置文件.Java为我们提供了读取资源的方法getResourceAsStream(),该方法有三种: Class类中的 ClassLoader类中的 ServletContext接口中的 本文主要利用Class类和ClassLoader类中的方法进行对比 一.API Class类中的: 根据指定的名称查找资源,查找资源的规则是由定义此类的类加载器实现的,这个方法委托此对象的类加载器.如果这个对象是由bo…
反射机制中的Class Class内部到底有什么呢?看下图! 代码: Class cls=Person.class; 1.Class类: 1. 对象照镜子后可以得到的信息:某个类的数据成员名,方法和构造器.某个类到底实现了 哪些接口.对于每个类而言,JRE都为其保留一个不变的Class类型的对象.一个Class对象包含可特定的某个类的有关信息. 2.Class对象只能由系统建立对象. 3.一个类在JVM中只会有一个Class实例. 4.每个类的实例都会记得自己是由哪个Class实例产生的. 5.…
1.学习反射的时整理的笔记!Class类和ClassLoader类的简单介绍 反射机制中的Class Class内部到底有什么呢?看下图! 代码: Class cls=Person.class; .Class类: . 对象照镜子后可以得到的信息:某个类的数据成员名,方法和构造器.某个类到底实现了 哪些接口.对于每个类而言,JRE都为其保留一个不变的Class类型的对象.一个Class对象包 含可特定的某个类的有关信息. .Class对象只能由系统建立对象. .一个类在JVM中只会有一个Class…
Spring Boot 的应用教程我们已经分享过很多了,今天来通过源码来分析下它的启动过程,探究下 Spring Boot 为什么这么简便的奥秘. 本篇基于 Spring Boot 2.0.3 版本进行分析,阅读本文需要有一些 Java 和 Spring 框架基础,如果还不知道 Spring Boot 是什么,建议先看下我们的 Spring Boot 教程. Spring Boot 的入口类 @SpringBootApplication public class SpringBootBestPr…
1.类加载器 ·简要介绍什么是类加载器,和类加载器的作用 ·Java虚拟机中可以安装多个类加载器,系统默认三个主要类加载器,每个类负责加载特定位置的类:BootStrap,ExtClassLoader,AppClassLoader ·类加载器也是Java类,因为其他是Java的类加载器本身也要被类加载器加载,显然必须有第一个加载器不是Java类,这正是BootStrap ·Java虚拟机中的所有类加载器采用具有树形结构进行组织,在实例化每个类装载器对象时,需要为其指定一个父类级的装载器对像或者采…
类加载器概述: java类的加载是由虚拟机来完成的,虚拟机把描述类的Class文件加载到内存,并对数据进行校验,解析和初始化,最终形成能被java虚拟机直接使用的java类型,这就是虚拟机的类加载机制.JVM中用来完成上述功能的具体实现就是类加载器.类加载器读取.class字节码文件将其转换成java.lang.Class类的一个实例.每个实例用来表示一个java类.通过该实例的newInstance()方法可以创建出一个该类的对象. 类的生命周期: 类从加载到虚拟机内存到被从内存中释放,经历的…
List 接口以及实现类和相关类源码分析 List接口分析 接口描述 用户可以对列表进行随机的读取(get),插入(add),删除(remove),修改(set),也可批量增加(addAll),删除(removeAll,retainAll),获取(subList). 还有一些判定操作:包含(contains[All]),相等(equals),索引(indexOf,lastIndexOf),大小(size). 还有获取元素类型数组的操作:toArray() 注意事项 两种迭代器Iterator和L…
上接深入java虚拟机——深入java虚拟机(二)——类加载器详解(上),在上一篇文章中,我们讲解了类的生命周期的加载和连接,这一篇我们接着上面往下看. 类的初始化:在类的生命周期执行完加载和连接之后就开始了类的初始化.在类的初始化阶段,java虚拟机执行类的初始化语句,为类的静态变量赋值,在程序中,类的初始化有两种途径:(1)在变量的声明处赋值.(2)在静态代码块处赋值,比如下面的代码,a就是第一种初始化,b就是第二种初始化 public class Test { public static …
https://blog.csdn.net/fjssharpsword/article/details/64922083 *************************************************************************** 需求场景:动态加载类ClassLoaderd,在xml文件中配置加载类名称和方法,: 一.准备 1)在D:\\tmp\\目录下配置a.xml文件: <?xml version="1.0" encoding=&q…
转:http://cheneyph.iteye.com/blog/831721 ClassLoader 提供了两个方法用于从装载的类路径中取得资源: public URL  getResource (String name);          public InputStream  getResourceAsStream (String name); 这里name是资源的类路径,它是相对与“/”根路径下的位置.getResource得到的是一个URL对象来定位资源,而getResourceAs…