[Java密码学] 1、Java的反射

Hello,大家好, 我是Shendi,这次给大家带来一系列密码学教程,这是第一篇.

首先,我们需要学习一下反射的概念

Class类:官方文档的介绍

    Class类的表示正在运行的Java应用程序中的类和接口

Class.forName() 有2个重载方法

public static Class forName(String className)
public static Class forName(String className, boolean initialize,ClassLoader loader)

className: 类的完全限定名

initialize:是否初始化类(初始化类中的静态代码块)

loader:加载类的类加载器
调用forName(className) 相等于forName(className, true,loader)

ClassLoader类:

    类加载器是负责加载类的对象。 ClassLoader类是一个抽象类。 给定一个类的binary name,类加载器应该尝试定位或生成构成       类的定义的数据。 典型的策略是将名称转换为文件名,然后从文件系统中读取该名称的“类文件”。

    每个对象包含reference来定义它的ClassLoader

Classloder.loaderClass(String name)

方法内部调用的是:Classloder. loadClass(name, false)

Classloder. loadClass(String name, boolean resolve)

1:参数name代表类的全限定类名

2:参数resolve代表是否解析,resolve为true是解析该类
Class.forName:得到的class是已经初始化的,而Classloder.loaderClass是还没有链接的

下节开始加密...

发布了38 篇原创文章 · 获赞 23 · 访问量 9061

猜你喜欢

转载自blog.csdn.net/qq_41806966/article/details/103394127