Loading

摘要: Java反射的API在JavaSE1.7的时候已经基本完善,但是本文编写的时候使用的是Oracle JDK11,因为JDK11对于sun包下的源码也上传了,可以直接通过IDE查看对应的源码和进行Debug。 前一篇文章已经介绍了反射调用的底层原理,其实在实际中对大多数Java使用者来说更关系的是如何 阅读全文
posted @ 2020-02-07 11:04 throwable 阅读(4391) 评论(0) 推荐(0) 编辑
摘要: 前提 Java反射的API在JavaSE1.7的时候已经基本完善,但是本文编写的时候使用的是Oracle JDK11,因为JDK11对于sun包下的源码也上传了,可以直接通过IDE查看对应的源码和进行Debug。 本文主要介绍反射调用的底层实现,当然还没有能力分析JVM的实现,这里只分析到最终Nat 阅读全文
posted @ 2020-02-07 11:02 throwable 阅读(1932) 评论(0) 推荐(0) 编辑
摘要: 前提 Java反射的API在JavaSE1.7的时候已经基本完善,但是本文编写的时候使用的是Oracle JDK11,因为JDK11对于sun包下的源码也上传了,可以直接通过IDE查看对应的源码和进行Debug。 本文主要介绍一个使用反射一定会遇到的问题-反射调用异常处理。 反射调用异常处理 反射调 阅读全文
posted @ 2020-02-07 11:01 throwable 阅读(5563) 评论(0) 推荐(1) 编辑
摘要: 前提 其实在前面写过的《深入分析Java反射(一)-核心类库和方法》已经介绍过通过类名或者java.lang.Class实例去实例化一个对象,在《浅析Java中的资源加载》中也比较详细地介绍过类加载过程中的双亲委派模型,这篇文章主要是加深一些对类实例化和类加载的认识。 类实例化 在反射类库中,用于实 阅读全文
posted @ 2020-02-07 11:00 throwable 阅读(1856) 评论(0) 推荐(0) 编辑
摘要: 动态代理的简介 Java动态代理机制的出现,使得Java开发人员不用手工编写代理类,只要简单地指定一组接口及委托类对象,便能动态地获得代理类。代理类会负责将所有的方法调用分派到委托对象上反射执行,在分派执行的过程中,开发人员还可以按需调整委托类对象及其功能,这是一套非常灵活有弹性的代理框架。Java 阅读全文
posted @ 2020-02-07 10:58 throwable 阅读(1337) 评论(0) 推荐(0) 编辑
摘要: 前提 Java反射的API在JavaSE1.7的时候已经基本完善,但是本文编写的时候使用的是Oracle JDK11,因为JDK11对于sun包下的源码也上传了,可以直接通过IDE查看对应的源码和进行Debug。 本文主要介绍反射中可能用到的两个比较特殊的类型,数组和枚举,分别对应java.lang 阅读全文
posted @ 2020-02-07 10:53 throwable 阅读(1500) 评论(0) 推荐(0) 编辑
摘要: 前提 Java反射的API在JavaSE1.7的时候已经基本完善,但是本文编写的时候使用的是Oracle JDK11,因为JDK11对于sun包下的源码也上传了,可以直接通过IDE查看对应的源码和进行Debug。 本文主要介绍反射的基本概念以及核心类Class、Constructor、Method、 阅读全文
posted @ 2020-02-07 10:50 throwable 阅读(1560) 评论(0) 推荐(0) 编辑
摘要: 前提 这篇文章主要基于JDK11的源码和最近翻看的《深入理解Java虚拟机-2nd》一书的部分内容,对JDK11中的Reference(引用)做一些总结。值得注意的是,通过笔者对比一下JDK11和JDK8对于java.lang.ref包的相关实现,发现代码变化比较大,因此本文的源码分析可能并不适合于 阅读全文
posted @ 2020-02-07 00:10 throwable 阅读(3558) 评论(1) 推荐(5) 编辑