java 运行时识别 RTTI

简介:
       运行时类型识别(run-time type identification ,RTTI)的概念上看非常简单:当只有一个指向对象基类的引用时RTTI机制可以让你找到这个对象的确切概念。
       Class是RTTI的核心。类是程序的一部分,每个类都有一个Class对象,每当编写并且编译一个新类,就会产生一个Class对象(被保存在一个同名的.class文件中)。为了生成Class对象,运行这个程序的JVM,"类加载器"的子系统。
      类加载器子系统实际上可以包含一条类加载器链,但是只有一个原生类加载器。(why)。原生类加载器加载饿时所谓的可信类,包括JAVA API类,他们通常是从本地磁盘加载的。
     所有的类,都是在第一次使用时,第一次加载到JVM中的。当程序创建第一个对类的静态成员的引用时,就会加载类,(构造方法也是累的静态方法)。因此,new 一个对象,也会被当做对类的静态成员的引用。
 
     JAVA 程序在运行之前,并非完全加载,其各个部分都是在需要时才加载的。
 
   类加载器首先检查这个类的Class 对象是否已经加载,如果尚未加载,默认的类加载器就会根据类名查找.class文件




本文转自 randy_shandong 51CTO博客,原文链接:http://blog.51cto.com/dba10g/223863,如需转载请自行联系原作者
相关文章
|
17天前
|
Java
【专栏】Java反射机制,该机制允许程序在运行时获取类信息、动态创建对象、调用方法和访问属性
【4月更文挑战第27天】本文探讨了Java反射机制,该机制允许程序在运行时获取类信息、动态创建对象、调用方法和访问属性。反射通过Class、Constructor、Method和Field类实现。文中列举了反射的应用场景,如动态创建对象、调用方法、访问属性和处理注解,并提供了相关实例代码演示。
|
3天前
|
移动开发 前端开发 Java
第一次用java17记录运行ruoyi-vue-plus5.X版本
第一次用java17记录运行ruoyi-vue-plus5.X版本
|
5天前
|
Java
JDK环境下利用记事本对java文件进行运行编译
JDK环境下利用记事本对java文件进行运行编译
14 0
|
6天前
|
Java 开发工具
2023全网最详细的银河麒麟操作系统,Java运行环境【jdk】安装
2023全网最详细的银河麒麟操作系统,Java运行环境【jdk】安装
|
7天前
|
存储 监控 安全
JVM工作原理与实战(十六):运行时数据区-Java虚拟机栈
JVM作为Java程序的运行环境,其负责解释和执行字节码,管理内存,确保安全,支持多线程和提供性能监控工具,以及确保程序的跨平台运行。本文主要介绍了运行时数据区、Java虚拟机栈等内容。
11 0
|
10天前
|
Oracle Java 关系型数据库
windows 下 win11 JDK17安装与环境变量的配置(配置简单详细,包含IJ中java文件如何使用命令运行)
本文介绍了Windows 11中安装JDK 17的步骤,包括从官方网站下载JDK、配置环境变量以及验证安装是否成功。首先,下载JDK 17的安装文件,如果没有Oracle账户,可以直接解压缩文件到指定目录。接着,配置系统环境变量,新建`JAVA_HOME`变量指向JDK安装路径,并在`Path`变量中添加。然后,通过命令行(cmd)验证安装,分别输入`java -version`和`javac -version`检查版本信息。最后,作者分享了如何在任意位置运行Java代码,包括在IntelliJ IDEA(IJ)中创建的Java文件,只需去掉包声明,就可以通过命令行直接运行。
|
14天前
|
小程序 Java 程序员
【Java探索之旅】我与Java的初相识(二):程序结构与运行关系和JDK,JRE,JVM的关系
【Java探索之旅】我与Java的初相识(二):程序结构与运行关系和JDK,JRE,JVM的关系
28 0
|
15天前
|
Oracle Java 关系型数据库
Java历史简述及程序运行机制简述
Java起源于1991年Sun公司James Gosling领导的Green项目,最初命名为Oak,后因爪哇岛咖啡更名为Java。1995年正式发布,2009年Sun被Oracle收购。Java程序运行包括:开发源代码、编译成字节码、JVM翻译为平台兼容的机器码执行。
|
19天前
|
存储 消息中间件 缓存
jeecgboot运行磁盘不足问题( java.io.IOException)和redis闪退问题
jeecgboot运行磁盘不足问题( java.io.IOException)和redis闪退问题
22 0
|
20天前
|
Java
网页运行java程序cheerpj
网页运行java程序cheerpj
38 0