类加载,反射,代理,二叉树

Posted 教是最好的学

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了类加载,反射,代理,二叉树相关的知识,希望对你有一定的参考价值。

GC条件:

1.该类的所有实例都已经被回收,也就是java堆中不存在该类的任何实例。

2.该类的ClassLoader已经被回收。

3.该类对应的java.lang.Class对象没有任何地方被引用,无法在任何地方通过反射获取该类的方法。

Speingmvc的核心类:

DispatcherServlet,前置控制器

HandlerMapping接口,处理请求的映射

HandlerAdapter接口,处理请求的映射

ModelAndView类。

类的加载是指将类的.class文件中的二进制数据读入内存中,并对数据进行验证,准备,解析,初始化,将其转化为方法区的运行时的数据结构。

加载,验证,准备,解析,初始化。

Java反射是可以让我们在运行时,通过一个类的Class对象来获取类的方法,属性,接口,父类等信息。

动态代理步骤:

根据需要实现的接口信息,在代码中动态创建Proxy类的字节码,创建InvocationHandle实例handler,用来处理Proxy所有方法调用

1.通过java.lang.reflect.Proxy类来动态生成代理类

2.代理类要实现InvocationHandler接口

3.JDK代理只能基于接口进行动态代理

Cglib底层采用ASM字节码生成框架,使用字节码技术生成代理类,对制定的业务类创建子类,并在子类中采用方法拦截技术拦截所有对父类方法的调用,并顺势加入横切逻辑。

以上是关于类加载,反射,代理,二叉树的主要内容,如果未能解决你的问题,请参考以下文章

树二叉树满二叉树完全二叉树遍历二叉树java实现

二叉树及特殊二叉树(满二叉树完全二叉树二叉排序树平衡二叉树)的定义和性质(附详细推理过程)

二叉树二叉树的镜像

普通二叉树二叉查找树平衡二叉树常见操作汇总

SDUT 3341 数据结构实验之二叉树二:遍历二叉树

树二叉树满二叉树完全二叉树