谈谈 Java 反射机制,动态代理是基于什么原理

反射机制是 Java 语言提供的一种基础功能,赋予程序在运行时自省(introspect,官方用语)的能力。通过反射我们可以直接操作类或者对象,比如获取某个对象的类定义,获取类声明的属性和方法,调用方法或者构造对象,甚至可以运行时修改类定义。

动态代理是一种方便运行时动态构建代理、动态处理代理方法调用的机制,很多场景都是利用类似机制做到的,比如用来包装 RPC 调用、面向切面的编程(AOP)。

实现动态代理的方式很多,比如 JDK 自身提供的动态代理,就是主要利用了上面提到的反射机制。还有其他的实现方式,比如利用传说中更高性能的字节码操作机制,类似 ASM、cglib(基于 ASM)、Javassist 等

相关推荐
带土11 分钟前
4. C++ static关键字
开发语言·c++
毕设源码-郭学长2 分钟前
【开题答辩全过程】以 基于SSM的高校运动会管理系统的设计与实现为例,包含答辩的问题和答案
java·eclipse
qq_5470261795 分钟前
Maven 使用指南
java·maven
C++ 老炮儿的技术栈8 分钟前
什么是通信规约
开发语言·数据结构·c++·windows·算法·安全·链表
@大迁世界12 分钟前
TypeScript 的本质并非类型,而是信任
开发语言·前端·javascript·typescript·ecmascript
xiaolyuh12313 分钟前
Arthas修改类(如加日志)的实现原理
java
栗子叶17 分钟前
Java对象创建的过程
java·开发语言·jvm
Amumu1213826 分钟前
React面向组件编程
开发语言·前端·javascript
有一个好名字27 分钟前
力扣-从字符串中移除星号
java·算法·leetcode
IT=>小脑虎27 分钟前
Python零基础衔接进阶知识点【详解版】
开发语言·人工智能·python