浅谈反射机制

2018年我刚入行时曾经写过一篇反射相关的博客:初识反射。

Emmmmm….现在看来还是非常稚嫩的。晚上要在B站直播讲解JDK动态代理,免不了要用到反射。于是,想着还是把反射机制再梳理一遍,有兴趣的朋友可以看看。

我不会去否认过去的每一篇文章,它们未必精确却代表了自己当时所能理解的限度…每写完一篇文章,我都能感受到原本一个个孤立的知识由点到线,由线到面,最终拔地而起变成一个个立体的概念,让我有机会站在更高的地方去环视周围这个广袤无垠的程序世界。这感觉,会上瘾。

由于反射本身确实抽象(说是Java中最抽象的概念也不为过),所以我当初写作时也用了大量的比喻。但是比喻有时会让答案偏离得更远。前阵子看了些讲设计模式的文章,把比喻都用坏了。有时理解比喻,竟然要比理解设计模式本身还费劲…那就南辕北辙了。所以,这一次,能不用比喻就尽量不用,争取用最实在的代码去解释。

主要内容:

  • JVM是如何构建一个实例的
  • .class文件
  • 类加载器
  • Class类
  • 反射API

JVM是如何构建一个实例的

下文我会使用的名词及其对应关系

  • 内存:即JVM内存,栈、堆、方法区啥的都是JVM内存,只是人为划分
  • .class文件:就是所谓的字节码文件,这里称.class文件,直观些

假设main方法中有以下代码:

Person p = new Person();

<< · Back Index ·>>

发表回复

相关推荐

孩子频眨眼、揉眼、眼痒……小心,可能是过敏性结膜炎!

有不少宝宝都穿上厚衣服了吧 疾病这个“小怪兽”近期不断发力 导致各种类型的大小疾病到处乱窜 “攻击”了不少家里的“神兽” 其 ...

· 1分钟前

9個全方位看南迦巴瓦的觀賞點

許多人來到林芝就是為瞭一睹南迦巴瓦真容但是如何觀賞這座雪峰?什麼角度最佳?大概許多人都摸不著頭腦那麼,今天跟著小編的...

· 1分钟前

泛濫的兒童“軟色情”表情包:難掩的底線迷失

近日,一條網斥責兒童軟色情表情包的微博,引發網友熱議。在此類表情包中,可愛純真的小朋友形象,往往與成人向的文字相搭配...

· 2分钟前

正正在消失的古方名藥~控涎丹

查閱古方名藥控涎丹,它能治療很多臨床上的頑癥,如:頑固性骨關節炎、類風濕性關節炎、胸腔積液、各種原因導致的腹水,甚至...

· 3分钟前

【地球演义】螈怪

很多朋友留言问“离片椎类(Temnospondyli)”和“壳椎类(Lepospondyli)”有什么区别。顾名思义,这些分类和脊柱的结构有关, ...

· 4分钟前