god*_*amp 6 java reflection terminology instanceof rtti
我的问题是在运行时如何加载类信息?
有人打电话时instanceof是考虑RTTI还是反思?还是取决于实际情况?
术语" RTTI "是一个C++特定术语,指的是核心语言的功能,它允许程序在运行时确定各种对象的动态类型.它通常指的是dynamic_cast或typeid运算符,以及由之std::type_info产生的相关对象typeid.
另一方面,术语反射是跨编程语言使用的通用术语,指的是程序在运行时检查和修改其对象,类型等的能力.
我听过的术语instanceof是类型内省,instanceof有时被称为对象内省,因为允许程序查看运行类型以确定要采取的行动方式.我认为这是比反射较弱的名词,因为它不允许在领域或某个对象的方法精心制作的反省,但我不认为这是不正确技术上打电话使用的instanceof运营商反映.
至于你的另一个问题 - 如何在运行时加载类信息? - 这完全取决于JVM的实现.该ClassLoader类型最终负责将类加载到系统中,但JVM可以解释它想要的.我曾经用JavaScript构建了一个原型JVM,并且在内部所有的反射调用都只查询了我用来表示类,字段和方法的底层JS数据结构.我认为HotSpot JVM做了一些完全不同的事情,但它几乎是实现定义的.
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
8238 次 |
| 最近记录: |