Java 基础——类的加载
当程序主动使用某个类时,如果该类还未被加载到内存中,系统会通过加载,连接,初始化三个步骤来对该类进行初始化,JVM将会连续完成这三个步骤,也把这三个步骤统称为类加载或类初始化;
类加载指的是将类Class文件读入内存,并为之创建一个Java.lang.Class对象,也就是说程序使用任何类时,系统都会为之建立一个java.lang.Class对象;
类是某一类对象的抽象,类是概念层次的东西,但类也是一种对象,每个类是一批具有相同特征的对象的抽象,而系统中所有类,它们实际上也是对象,都是java.lang.Class的实例;
类的加载由类加载器完成,类加载器通常由JVM提供,这些类加载器也是所有程序运行的基础,JVM提供的这些类加载器通常被称为系统类加载器,开发者也可以通过继承ClassLoader基类来创建自己的类加载器;
通过使用不同的类加载器,可以从不同来源加载类的二进制数据,通常有如下几种来源:
1、从本地文件系统来加载Class文件,这是大部分实例程序的类加载方式;
2、从jar包中加载class文件,如JDBC编程时用到的数据库驱动类就是放在jar文件中,JVM可以从jar文件中直接加载该Class文件;
3、通过网络加载class文件;
4、把一个java源文件动态编译,并执行加载。
Java 基础——类的加载相关推荐
- Java虚拟机 —— 类的加载机制
我们知道class文件中存储了类的描述信息和各种细节的数据,在运行Java程序时,虚拟机需要先将类的这些数据加载到内存中,并经过校验.转换.解析和初始化过后,最终形成可以直接使用的Java类型. 类从 ...
- Java虚拟机中 类的加载过程
Java中 类的加载过程 例如下面的一段简单的代码 public class HelloWorld {public static void main(String[] args) {System.ou ...
- Java类的加载过程,类加载器,双亲委派原则
Java一个类的加载过程: 1.加载 a.jvm会根据类名找到对应的类文件 b.进行文件内容读取 2.链接 链接主要是验证类中数据是否合法,然后把刚加载进来的类和其他类的关系建立清楚,主要有以下几个步 ...
- 透过现象看本质:Java类动态加载和热替换
摘要:本文主要介绍类加载器.自定义类加载器及类的加载和卸载等内容,并举例介绍了Java类的热替换. 最近,遇到了两个和Java类的加载和卸载相关的问题: 1) 是一道关于Java的判断题:一个类被首次 ...
- Cathy学习Java——反射和类的加载
工厂设计模式 工厂方法模式 概述 工厂:就是生产特点产品的 实现方式 1>创建一个抽象工厂类,声明抽象方法 2>写一个具体抽象工厂类的子类,由子类负责对象的创建 优点:后期容易维护,增强了 ...
- Java类的加载及父类子类加载顺序
点击 Mr.绵羊的知识星球 解锁更多优质文章. 目录 一.类的加载 1. 类加载 2. 类加载器 二.父类和子类加载顺序 1. 案例(代码) 一.类的加载 1. 类加载 当程序要使用某些类时,如果该类 ...
- Java类的加载过程详解 面试高频!!!值得收藏!!!
受多种情况的影响,又开始看JVM 方面的知识. 1.Java 实在过于内卷,没法不往深了学. 2.面试题问的多,被迫学习. 3.纯粹的好奇. 很喜欢一句话: 八小时内谋生活,八小时外谋发展. 望别日与 ...
- java加载并运行虚拟机_《深入理解Java虚拟机》- Java虚拟机是如何加载Java类的?...
Java虚拟机是如何加载Java类的? 这个问题也就是面试常问到的Java类加载机制.在年初面试百战之后,菜鸟喜鹊也是能把这流程倒背如流啊!但是,也只是字面上的背诵,根本就是像上学时背书考试一样. ...
- java 类的加载、连接和初始化
JVM和类 调用Java命令运行Java程序时,该命令将会启动一条Java虚拟机进程,不管该Java程序启动了多少条线程,创建了多少个变量,它们都处于该Java虚拟机进程里,共享该JVM进程的内存区. ...
最新文章
- Mac下PHP7.1+Nginx安装和配置
- sysctl -p 重新加载文件/etc/sysctl.conf -a 所有参数 -w 临时指定
- Spring JPA 中的Repository体系
- Java调用动态库 缺点,Java调用动态库所需要关心的有关问题
- 基于DEM,Lumion和WorldMachine的地形三维可视化
- 2007年9月c语言真题及答案,1997年9月二级C语言笔试真题及答案.doc
- 计算机应用基础 教学工作总结,四年级下期计算机教学工作总结(共3篇)
- 20190301 小中大
- 竹子的精神高山流水,赞美竹子的句子,竹子散文
- pandas 公益学习 综合练习与学习总结
- AD19滴泪添加与删除
- Postgresql12+Pgpool-ii 4.1高可用集群
- “使用区块链进行安全可信的电子医疗记录共享”外文翻译——2019年4月份
- 温度滞回程序C语言,间隙式粘滞阻尼器温度变化对滞回性能影响的研究
- 改编名著成风 麒麟游戏将研发《红楼梦》网游
- DTLN网络模型学习
- 【SVM回归预测】布谷鸟搜索算法优化SVM回归预测【含Matlab源码 1525期】
- 利用DOS命令压缩、解压文件
- HP V3500简要拆机流程
- 手机看PDF电子书如何设置左右翻页