loadClass和forName 的区别
类的加载方式
1、隐式加载:new
2、显式加载,loadClass,forName 等
loadClass 和 forName的区别
类的装载过程
1、加载:通过classLoader加载class文件字节码,生成Class对象,将这些数据放到运行时数据区的方法区中,在运行时,在数据区堆中生成一个代表该类的java.lang.class的字节码文件,这个文件会被用来当做访问入口
2、链接:
2.1 校验: 检查加载的class的正确性和安全性(检查格式)
2.2 准备:为类变量分配存储空间并设置变量初始值
2.3 解析:JVM将常量池内的符号引用转换为直接引用(这个步骤是不是必须的)
3、初始化:执行类变量赋值和静态代码块
forName---》调用这个方法的话,会进行初始化的,则会执行类变量赋值和静态代码块。例如:Class.forName("com.mysql.jdbc.Driver") ,点进去Driver代码里面看,就知道,里面是有写静态代码块的。
loadClass---》不会进行初始化步骤。例如:spring ioc 中大量使用了懒加载,这个时候大量是哦也能改了loadClass。存在就是合理的
转载于:https://www.cnblogs.com/vingLiu/p/10538541.html
loadClass和forName 的区别相关推荐
- jvm面试 -- 谈谈ClassLoader ,ClassLoader的双亲委派机制 , loadClass和forName的区别
谈谈ClassLoader ? ClassLoader的双亲委派机制 ? loadClass和forName的区别 ?
- java中Class对象详解和类名.class, class.forName(), getClass()区别
一直在想.class和.getClass()的区别,思索良久,有点思绪,然后有网上搜了搜,找到了如下的一篇文章,与大家分享. 原来为就是涉及到Java的反射----- Java反射学习 所谓反射 ...
- 实现自己的类加载时 重写方法loadClass与findClass的区别
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! Java ...
- 浅析Java内存模型--ClassLoader
在理解ClassLoader之前,我们先回顾下Java的一些相关知识. 基础 1. Java的主要特性 平台无关性 面向对象 GC(Java的垃圾回收机制) 类库 语言特性 异常处理 2. 为什么JV ...
- java招聘职位描述,附学习笔记+面试整理+进阶书籍
面:为什么要使用双亲委派机制去加载类? 答:避免多份同样字节码的加载,浪费内存. 类的加载方式 隐式加载:new 显示加载:loadClass.forName等 类的装载过程如下图: 面:loadCl ...
- 三年Java开发,你连基础的JVM运行时内存布局都忘了
面:为什么要使用双亲委派机制去加载类? 答:避免多份同样字节码的加载,浪费内存. 类的加载方式 隐式加载:new 显示加载:loadClass.forName等 类的装载过程如下图: 面:loadCl ...
- java中class文件如何加载的_jvm如何加载class文件
编译期: javac是JDK自带的编译器, 可以将java文件编译为class字节码文件, javap是JDK自带的反编译器,将.class字节码反编译为.java文件,javap -help是jav ...
- 2021秋招学习笔记
PS:csdn上有很多图片加载不出来,有PDF版在我的资源.(如果没有1积分可以评论我,直接发给你邮箱) 文章目录 Java基础篇学习(7/3-7/4) 数据类型 泛型.反射.注解.序列化(加实例) ...
- 类的加载(装载)过程
1.首先谈谈类的加载方式 ①隐式加载 :new 隐式调用类加载器加载对应的类到JVM中,支持带参数的构造器 ②显式加载:通过 loadClass()或forName()方法获取到class对象后,调用 ...
最新文章
- Blackberry阻碍因素
- Vant 1.6.11 发布,有赞轻量级移动端 Vue 组件库
- Android协程学习
- java 三个点_Java,参数中的3个点
- python——进程基础
- stm32之GPIO学习笔记
- IIS安全设置终极技巧
- 求对着目标物体环绕拍摄的相机参数lookAt
- C#编程,DateTime使用方法,时间转字符方法总结
- PyTorch搭建LSTM实现多变量多步长时间序列预测(三):多模型单步预测
- oracle虚拟机安装苹果,虚拟机中如何安装MAC OS系统?虚拟机安装苹果系统教程
- 基于docer 构建微服务基础设施
- QT QList<T>介绍与应用、详解、使用说明、官方手册翻译
- 浙大这个班太牛气!诞生128家创业公司,总市值高达千亿
- 生信(八)zlib库操作fq-gz文件
- 安装Linux时报错This kernel requires an X86-64 CPU
- 在CSS中创建径向菜单
- php 如何实现关键字查找,PHP如何实现多个关键词查询?
- 设计模式 | 备忘录模式及典型应用
- 自然语音处理(NLP)系列(五)——详解智能问答系统
热门文章
- python【数据结构与算法】快速幂and矩阵快速幂取模(看不懂你来打我)
- python【Matlibplot绘图库】-认识Matploblib
- php oracle 问题,Oracle PHP 故障诊断常见问题以及解答
- mysql按升序创建索引_MySQL8新特性:降序索引详解
- python标准化输出_Python设定模板及标准化输出,输入
- python可以修图吗_会照片处理的不只是ps,还有Python!
- matlab全景图素材,matlab以simulink的方式建立一个vr模型
- 网络广告推广浅析网站中的关键词密度要如何控制呢?
- 网络推广专员如何稳定搜索引擎首页排名全力以赴致力于网络推广
- arduino并口屏_Arduino 驱动串口屏(入门级)