第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

深入分析Java Web-05-深入classloader工作機制

標簽:
Java

我看了一圈"深入class文件结构"这一章,我发现我很懵逼,于是我打算跳过它,直接开始看ClassLoaser,类加载器。之前讲到了,我们写好的java文件会被编译成class文件,那么Java要想运行这个文件,一定要使用某个工具放到Java virtual machine (Java 虚拟机)里面去运行,这也是为什么Java 可以跨平台的原因,因为无论你在什么设备上想用Java势必要装上虚拟机才可以运行。就好像之前我所使用的Unity引擎,也是具备跨平台的特点,原理几乎一样,它可以运行在Web、Android、Linux、Windows操作系统上,就是需要安装Unity插件,运行在该插件上即可。
ClassLoader 加载一个class 文件到JVM时需要经过的步骤:
在这里插入图片描述

  1. 找到.class 文件并把这个文件包含的字节码加载到内存中。
  2. 字节码验证->Class类数据结构分析及相应的内存分配和最后的符号表的链接。
  3. 静态属性和初始化赋值,以及静态块的执行。

1.加载字节码到内存

用 URLClassLoader 找到这个 class 文件,读取它的byte字节流,通过 defineClass()方法来创建类对象。判断是jar 包还是文件,分别创建 FileLoader 或者 JarLoader ,或者使用默认的加载器。调用 findClass 加载字节流到内存中。

2.验证与解析

  • 字节码验证
  • 类准备,准备方法、字段和实现的接口
  • 解析,装入所引用的其他类

3.初始化 Class 对象

在类中包含的静态初始化器都被执行,在这一阶段末尾静态字段被初始化为默认值。

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優(yōu)惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消