From 2ce79d77ac5bf10af894b0266e423e541b13b774 Mon Sep 17 00:00:00 2001 From: Omooo <869759698@qq.com> Date: Wed, 4 Sep 2019 22:21:56 +0800 Subject: [PATCH] =?UTF-8?q?Create=20=E6=B7=B1=E5=85=A5=E7=90=86=E8=A7=A3?= =?UTF-8?q?=E5=8F=8D=E5=B0=84.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- blogs/Java/深入理解反射.md | 34 ++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 blogs/Java/深入理解反射.md diff --git a/blogs/Java/深入理解反射.md b/blogs/Java/深入理解反射.md new file mode 100644 index 0000000..499cfeb --- /dev/null +++ b/blogs/Java/深入理解反射.md @@ -0,0 +1,34 @@ +--- +深入理解 反射 +--- + +### 目录 + +1. 反射的定义以及基本使用 +2. JVM 是如何实现反射的? +3. 反射性能开销体现在哪? +4. 如何优化反射性能开销? +5. 参考 + +### 反射的定义以及基本使用 + +反射是 Java 语言中一个相当重要的特性,它允许正在运行的 Java 程序观测,甚至是修改程序的动态行为。表现为如下两点: + +1. 对于任意一个类,都能知道这个类的所有属性和方法 +2. 对于任意一个对象,都能调用它的任意一个属性和方法 + +反射涉及的 API 分为三类:Class、Member(Field、Method、Constructor)、Array and Enumerated。详细的基本使用可以参考我以前写的文章 [反射基础使用](https://github.com/Omooo/Android-Notes/blob/master/blogs/Java/%E5%8F%8D%E5%B0%84.md),或者翻阅一下 [官方文档](https://docs.oracle.com/javase/tutorial/reflect/member/index.html)。 + +### JVM 是如何实现反射的? + + + +### 参考 + +[https://docs.oracle.com/javase/tutorial/reflect/](https://docs.oracle.com/javase/tutorial/reflect/) + +[JVM 是如何实现反射的?](https://time.geekbang.org/column/article/12192) + +[Java反射原理简析](http://fanyilun.me/2015/10/29/Java%E5%8F%8D%E5%B0%84%E5%8E%9F%E7%90%86/) + +[关于反射调用方法的一个log](https://www.iteye.com/blog/rednaxelafx-548536) \ No newline at end of file