1.首先谈谈类的加载方式

①隐式加载 :new 隐式调用类加载器加载对应的类到JVM中,支持带参数的构造器

②显式加载:通过 loadClass()或forName()方法获取到class对象后,调用class对象的newinstacne()方法来生成对象的实例,该方法不支持传入参数,需要用反射调用构造器的newinstance()方法

2.类的加载过程:

①加载:classLoader通过loadClass()方法把字节码文件加载到内存中,并将这些静态数据转换成运行时数据区中的方法区的类型数据,在运行时,数据区堆中生成一个代表这个类的java.lang.class对象,作为方法区类的访问入口

②链接:如图所示

③初始化:如图所示

3.最后谈谈loadClass()和forName()的区别:

forName()得到的class是已经初始化完成的

loadClass()得到的class是还没有链接的

类的加载(装载)过程相关推荐

  1. JVM中篇:字节码与类的加载篇

    0.概述 0.1字节码文件的跨平台性 0.1.1.Java语言:跨平台的语言(write once,run anywhere) 当]ava源代码成功编译成字节码后,如果想在不同的平台上面运行,则无须再 ...

  2. Cathy学习Java——反射和类的加载

    工厂设计模式 工厂方法模式 概述 工厂:就是生产特点产品的 实现方式 1>创建一个抽象工厂类,声明抽象方法 2>写一个具体抽象工厂类的子类,由子类负责对象的创建 优点:后期容易维护,增强了 ...

  3. Java类的加载过程详解 面试高频!!!值得收藏!!!

    受多种情况的影响,又开始看JVM 方面的知识. 1.Java 实在过于内卷,没法不往深了学. 2.面试题问的多,被迫学习. 3.纯粹的好奇. 很喜欢一句话: 八小时内谋生活,八小时外谋发展. 望别日与 ...

  4. 中yeti不能加载_第二十章_类的加载过程详解

    类的加载过程详解 概述 在 Java 中数据类型分为基本数据类型和引用数据类型.基本数据类型由虚拟机预先定义,引用数据类型则需要进行类的加载 按照 Java 虚拟机规范,从 Class 文件到加载到内 ...

  5. JVM——类的加载过程

    附一张图方便理解,一个类的执行过程 类的加载过程,简明的来说 类装饰器就是寻找类的字节码文件并构造出类在JVM内部表示的对象组件.在Java中,类装载器把一个类装入JVM中,要经过以下步骤: 装载:查 ...

  6. 尚硅谷2020最新版宋红康JVM教程-中篇-第3章类的加载过程(类的生命周期)详解-4-过程三:Initialization(初始化)阶段

    static与final的搭配问题 初始化阶段,简言之,为类的静态变量赋予正确的初始值. 具体描述 类的初始化是类装载的最后一个阶段.如果前面的步骤都没有问题,那么表示类可以顺利装载到系统中.此时,类 ...

  7. 类的加载过程(生命周期)

    一.概述 生命周期的7个阶段: 从使用过程看: 最后会在方法区,存在类的模版,之后就可以使用这个类了. 二.过程1:Loading阶段(加载) 所谓加载,就是将字节码文件加载到机器内存中,并在内存中构 ...

  8. Java虚拟机中 类的加载过程

    Java中 类的加载过程 例如下面的一段简单的代码 public class HelloWorld {public static void main(String[] args) {System.ou ...

  9. java虚拟机学习(四)类的加载过程

    2019独角兽企业重金招聘Python工程师标准>>> 类从虚拟机内存加载到从内存卸载,经历的生命周期是:加载,验证,准备,解析,初始化,使用,卸载这几个阶段, 其中验证,解析,初始 ...

最新文章

  1. 深度学习准「研究僧」预习资料:图灵奖得主Yann LeCun《深度学习(Pytorch)》春季课程...
  2. CentOS7+MySQL/MariaDB+Galera+HAProxy+Keepalived构建高可用数据库集群
  3. tcp/ip客户端与服务器
  4. matlab语音信号分析实验报告,DSP实验二 语音信号分析与处理,南京理工大学紫金学院实验报告,信号与系统...
  5. oracle指定源位置怎么弄,ORACLE Goldengate测试解决源端和目标端表结构字段位置不同的2种实现方法...
  6. linux下mac风格菜单栏,ubuntu 8.04 安装mac风格菜单
  7. 服务器oracle优化,oracle服务器配置及优化
  8. 金九银十,九月已过。Vue这些知识你还不懂?(面试篇1.5W字)
  9. 热议创新 众专家再谈 “中国企业如何创造”
  10. Flexsim 视觉类 平面 plane仿真对象模块化
  11. 【网络教程】群晖修改 sn 和 MAC,生成器,cpolar内网穿透
  12. **python 随机生成一段旋律**
  13. 如何领购和作废电子发票流程
  14. vue项目中获取今天,昨天,明天时间方法
  15. 无支付牌照的电商平台“二清”通病问题需彻底根治
  16. Android远程弹窗,Remote Desktop(远程桌面)Android平台远程电脑的又一神器!
  17. 参会记录|全国多媒体取证暨第二届多媒体智能安全学术研讨会(MAS‘2023)
  18. 保送清华计算机,高二学霸保送清华,怎么做到的?
  19. AICON分论坛 | 昇思MindSpore探索人工智能发展新路径
  20. 设置MyEclipse的编辑器和控制台为护眼色

热门文章

  1. 给定一个十进制数,将其转化为N进制数-----17年滴滴笔试题
  2. 2022-2028年中国融合通信(UC) 行业市场运行格局及战略咨询研究报告
  3. java千面编程,一人千面:谈谈Go语言中的type
  4. 如何查看华为服务器配置信息,如何查看服务器配置分区信息
  5. 一文教你股票买卖问题实用而装逼的解法
  6. 算法手撕代码111~120
  7. 5.25 综合案例2.0-居家隔离监控系统(2.2版本接口有更新)
  8. centos6.8安装db2expc11.1
  9. [Unity3D]Unity官方认证考试模拟题
  10. STM32MP157驱动开发——Linux自带的LED灯驱动