- 浏览: 253596 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (232)
- 瞎扯两句 (8)
- 操作系统 (5)
- 工作笔记 (33)
- 设计模式 (1)
- java (57)
- Java IDE (7)
- hibernate (17)
- oracle (46)
- ms sql (2)
- spring (9)
- struts2 (0)
- javascript (16)
- java_code (2)
- java之集合 (2)
- java之线程 (4)
- java之IO (4)
- java之虚拟机 (6)
- java之异常 (0)
- EJB (4)
- XML (4)
- 数据结构-算法 (2)
- 架构设计 (5)
- 配置信息 (2)
- 阅读笔记 (6)
- IT专业英语 (1)
- PI (0)
- 单元测试 (1)
最新评论
RTTI(run-time type indentfication)应该是所谓“传统的RTTI”。《Thinking in JAVA》上说JAVA的RTTI包括2种方式:传统的RTTI和反射,但感觉反射才是真正的“运行时”检查,而传统的是“静态”类型检查。因为传统的RTTI有3种形式,分别是upcasting and downcasting,literals以及instanceof或isInstance(),这些都是在编译时检查的,也就是要求在编译时,JVM就必须能访问到类的.class文件,我认为这根本不是运行时检查而是编译时检查。而Reflection是在运行时检查.class;比如:Class c = Class.forName("XXX");即时根本没有XXX这个类,编译时也不会报错,也就是说在编译时,JVM并没有打开XXX.class;但是如果是:Class c = XXX.class;同样没有XXX的情况下就会报错,说明JVM在编译阶段试图打开XXX.class,这是RTTI的一种形式。if(obj instanceof XXX) {...}也是一样会报错,向上向下转型更不用说了。RTTI可以对对象直接操作,可以直接进行方法调用,也就是类的方法是已知的;而对于反射而言,.class在运行时才可访问,因此对于方法的调用只能通过反射API进行。
发表评论
-
servletcontext 的获取
2013-05-12 20:10 477容器在初始化servlet时,会为其注入servletconf ... -
取得下一个sequence。 getNextInterval
2013-03-15 11:47 9391. 初始sequence值放置于数据库。 2. 启动时产 ... -
java 脚本,编译与注解处理
2013-02-05 10:04 8511.java中支持脚本调用 通过脚本引擎来执行。 Obj ... -
java 安全管理器
2013-02-04 11:24 8301.在java语言实现中,扩展和系统加载器都是java实现的, ... -
RMI 底层实现
2013-01-28 16:43 9151. server端代码: Registry regist ... -
Java获取当前路径
2013-01-22 18:12 896无论是抽象路径名还是路径名字符串,都可以是绝对 路径名或相对 ... -
java1.5 新特性
2013-01-10 16:50 764"JDK1.5"的一个重要主题就是通过新增 ... -
import static静态导入
2013-01-10 12:12 848import static静态导入是JDK1.5中的新特性。一 ... -
类加载器加载的类的访问权限问题
2013-01-04 15:34 10521.父加载器加载的类不能访问子加载器加载的类。 (向下可见性) ... -
java 内部类总结
2012-12-28 12:31 745主要从分类和使用情境来看 1. 普通内部类。 位置: 在 ... -
java构造函数和静态变量的执行顺序
2012-12-18 11:18 1034java初始化顺序 1在new B一个实例时首先要进行类的装载 ... -
Java多线程之Condition接口的实现
2012-11-26 17:03 937在实际中一个lock可产生多个Condition对象。个人认为 ... -
java线程同步原理(lock,synchronized)
2012-11-26 14:26 998一。 java线程同步原理 java会为每个object对象分 ... -
总结下java中abstract,interface,final,static,加深理解
2012-11-16 17:16 888一,抽象类:abstract 1,只要有一个或一个 ... -
为什么interface的变量必须是public final static的
2012-11-16 17:15 1017public 感觉是因为Java对接口的要求是所有类都可以实现 ... -
stack在排序的应用
2012-10-22 17:04 718对于list, 可用Collections的静态方法 Coll ... -
随机访问文件RandomAccessFile 与 内存映射文件MappedByteBuffer
2012-09-25 14:59 1574RandomAccessFile RandomAccessF ... -
Java 服务器端支持断点续传的源代码
2012-09-25 14:44 4037Java 服务器端支持断点续传的源代码【支持快车、迅雷】(仅支 ... -
new File(String parent,String child)
2012-08-22 23:00 1169//user_dir:E:\workspace\javates ... -
System.getProperty
2012-08-22 22:07 913System.getProperty(String name) ...
相关推荐
Java的RTTI(运行时类型识别)和反射机制是两种强大的工具,它们允许程序在运行时检查和操作类的信息及对象。RTTI是Java的一种特性,它使得在编译后的程序中仍然可以在运行时获取对象的实际类型信息。这在处理多态性...
从给定文件的【部分内容】中我们可以了解到,该文档主要讲述了Java中运行时类型识别(RTTI)的原理和用途,以及Java中的反射机制。在此基础上,我们进一步探讨Java中RTTI和反射的相关知识点。 知识点一:运行时类型...
- 动态调用未知方法:通过TRttiMethod.Invoke实现,特别适用于插件或反射机制。 5. **限制与注意事项** - 性能影响:RTTI增加了代码的运行开销,应谨慎在性能敏感的代码中使用。 - 不支持非公开成员:默认情况下...
学习和使用Deiphi函数工厂,不仅需要掌握Deiphi的基本语法和编程原理,还需要理解元编程的概念,以及如何利用RTTI和反射机制。对于开发者来说,掌握这种技术可以提升编程效率,同时也需要关注可能带来的代码复杂性和...
反射机制可以在很多场景下使用,例如在框架设计中,使用反射机制可以动态地获取类的信息和调用类的方法。例如,在 Spring 框架中,使用反射机制来实例化 Bean 对象。 四、反射机制的执行流程 反射机制的执行流程...
Java的反射机制是Java语言提供的一种能力,它允许程序在运行期动态地访问和修改类的属性和方法。对于理解Java反射机制,需要掌握以下核心知识点: 1. 反射机制基础: Java程序在编译期和运行期有不同的处理过程。...
在编程领域,反射机制是一种强大的特性,它允许程序在运行时检查自身的行为和结构,包括类、对象、方法等信息。通常,动态语言如Java和Python内置了反射机制,但C++作为静态类型语言,其标准库并没有提供直接的支持...
Delphi 的 RTTI 机制浅探 RTTI(Run-Time Type Information)是 Delphi 中的一种机制,可以在运行...Delphi 的 RTTI 机制可以在运行期获取数据类型或类的信息,可以用于各种场景,例如、反射、序列化、日志记录等等。
JAVA反射机制是Java语言提供的一种基础功能,赋予程序在运行时自省(检查和修改其自身状态)的能力。具体来说,Java反射机制允许程序在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个...
- **反射机制**: 虽然C++标准库没有内置反射,但可以通过RTTI实现一定程度的自省能力。 5. **www.pudn.com.txt文件可能包含的内容** 这个文本文件可能包含了关于RTTI的教程链接、示例代码解释或者是相关资源的...
通过“RTTI.zip”中的示例,你可以更深入地理解Delphi的RTTI机制,并在实际项目中灵活应用这些概念和技术。这个压缩包提供了一个很好的学习平台,帮助开发者掌握如何在Delphi中有效地利用RTTI。
总的来说,C++反射机制的实现是通过结合RTTI、模板元编程和自定义元数据等技术来达成的。虽然相比动态类型语言,C++的反射能力有限,但仍然能够为开发者提供一定的灵活性和代码的可扩展性。在实际项目中,合理运用...
综上所述,Delphi 的 RTTI 机制提供了强大的类型信息访问能力,使得开发者在运行时能够获取和操作对象的详细类型信息,这对于动态编程、反射以及代码生成等高级应用具有重要意义。通过 RTTI,程序员可以编写出更加...
RTTI允许程序在运行时获取对象的类型信息,这为动态编程和反射提供了强大的支持。本示例源码是针对Delphi RTTI的学习资源,非常适合初学者了解和掌握这一技术。 RTTI在Delphi中主要通过`System.Rtti`单元提供,它...
这个示例很可能是通过编程语言实现的一个具体应用,用于演示如何在多线程环境中使用消息机制来协调工作,并利用RTTI进行动态类型处理。 线程消息驱动是一种编程模型,它在多线程程序中使用消息队列来管理不同线程间...