当前位置: 首页 > news >正文

设计师助理是个坑吗搜索引擎优化seo应用

设计师助理是个坑吗,搜索引擎优化seo应用,搭建企业网站的步骤,广州网站建设出售前言: 今天和大家探讨一道Java中经典的面试题,这道面试题经常出现在各个公司的面试中,结合周志明,老师的《深入理解Java虚拟机》书籍,本篇文章主要讲解Java类加载机制的知识。该专栏比较适合刚入坑Java的小白以及准备秋…

前言:
今天和大家探讨一道Java中经典的面试题,这道面试题经常出现在各个公司的面试中,结合周志明,老师的《深入理解Java虚拟机》书籍,本篇文章主要讲解Java类加载机制的知识。该专栏比较适合刚入坑Java的小白以及准备秋招的大佬阅读。

如果文章有什么需要改进的地方欢迎大佬提出,对大佬有帮助希望可以支持下哦~

小威在此先感谢各位小伙伴儿了😁

在这里插入图片描述

以下正文开始
在这里插入图片描述

文章目录

  • 类加载步骤
  • 加载
  • 验证
    • 文件格式验证
    • 元数据验证
    • 字节码验证
    • 符号引用验证
  • 准备
  • 解析
  • 初始化

类加载步骤

在Java的类加载过程中,加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)和初始化(Initialization)是五个关键步骤。后续的使用和卸载这两个步骤就不做过多赘述啦,毕竟也不是面试中的重点。

在这里插入图片描述

加载

JVM在进行类加载的时候第一个阶段名字叫做加载。

加载阶段是通过类的全限定名来定位并加载对应的字节码数据。这个过程由类加载器完成的,别小看这小小的加载阶段,它也包含几个步骤,下面先着重介绍一些它:

首先它是通过类的全限定名查找字节码数据的来源的,可以是本地文件系统、网络、JAR包等。
其次它将字节码数据读入内存,并创建一个代表该类的Class对象。 在堆中为该类的静态变量分配内存空间。(注意是静态变量哦)

在这里插入图片描述

验证

正在向我们走来的是第二步,第二步骤会做些什么呢?在验证阶段,虚拟机会对被加载的类进行各种验证操作,以确保被加载的类的字节码符合Java虚拟机规范的要求,同时保证安全性。验证操作同样包括几个小步骤。

文件格式验证

在文件格式验证阶段中,Java虚拟机会验证字节码文件是否符合Class文件格式的规范。下面说一下这个详细过程:

首先是校验魔数,在Java的字节码文件中,前4个字节被叫做魔数(它的唯一作用就是确定这个文件是否是一个能被虚拟机接受的Class文件)检查字节码文件的前4个字节是否为固定的0xCAFEBABE。

第二就是校验版本号,也就是验证字节码文件的主版本号和次版本号是否在虚拟机所支持的范围内

第三是校验常量池:验证常量池中的各个常量是否符合规范。

在这里插入图片描述

元数据验证

在元数据验证阶段,虚拟机会检查类的字节码是否符合Java语言规范的语义要求

这里我们讨论下这个部分究竟是验证的神马:

  1. 验证是否所有的类都有父类:除了java.lang.Object外,其他类必须有一个直接父类
  2. 验证是否所有的非抽象类都实现了其声明的所有接口方法:确保类实现了它所声明的所有接口方法
  3. 验证是否所有的字段和方法符合访问权限约束:比如私有成员只能在本类内部访问
  4. 验证是否存在不兼容的方法重载:不允许出现两个或多个参数类型和返回值类型完全相同但方法名称不同的方法
    在这里插入图片描述

字节码验证

在字节码验证这个阶段,虚拟机会对字节码进行详细的验证,确保类的字节码操作符合Java虚拟机规范。在这个阶段它会进行这几个验证:

  • 操作数栈验证:每个字节码指令都有明确的操作数栈行为规定,虚拟机会检查操作数栈是否符合指令的要求
  • 局部变量表验证:虚拟机会检查字节码指令对局部变量表的读写是否正确。
  • 类型检查验证:虚拟机会验证字节码指令中的类型转换是否合法。

符号引用验证

在符号引用验证这个阶段,主要做的是:虚拟机会验证符号引用中的类、字段和方法是否存在、可访问等。比如:

  1. 类验证:验证被引用的类是否已经被加载,且满足访问权限的限制。
  2. 字段验证:验证被引用的字段是否存在,且满足访问权限的限制。
  3. 方法验证:验证被引用的方法是否存在,且满足访问权限和方法调用约束的限制。

在这里插入图片描述

准备

准备阶段是为类的静态变量分配内存空间,并设置默认初始值 (这里注意是静态变量,默认初始值哈 )。它的具体操作包括:

在方法区中为类的静态变量分配内存空间。 设置静态变量的默认初始值,例如数值类型为0,引用类型为null。

在这里插入图片描述

解析

解析阶段将常量池中的符号引用替换为直接引用。在Java虚拟机中,符号引用是一种编译时的引用,它与虚拟机实现无关。而直接引用是指直接指向内存位置的指针、句柄或偏移量等,可以被虚拟机直接使用。

解析操作包括哪些解析呢,请看下面:

  1. 类或接口的解析:将常量池中的类或接口符号引用解析为对应的直接引用。
  2. 字段解析:将常量池中的字段符号引用解析为对应的直接引用。
  3. 方法解析:将常量池中的方法符号引用解析为对应的直接引用。

在这里插入图片描述

初始化

初始化阶段是类加载过程的最后一步(除去使用和卸载哈~),这一步负责执行类的初始化操作,包括静态变量赋值和静态代码块的执行。初始化操作按顺序执行,并且只会执行一次

初始化操作包括这些:

  • 静态变量赋值:按照代码中的赋值操作,为类的静态变量赋初值
  • 静态代码块执行:执行类中的静态代码块,可以在其中进行复杂的初始化操作,例如读取配置文件、创建单例对象等

类的初始化是在首次主动使用该类时触发的,主动使用包括创建类的实例、访问类的静态变量或静态方法、调用类的反射方法等。

讲到这里,笔者终于肝完了,泪目!!!

在这里插入图片描述

文章到这里就先结束了,感兴趣的可以订阅专栏哈,后续会继续分享相关的知识点。

在这里插入图片描述


文章转载自:
http://dinncolicentious.bkqw.cn
http://dinncokansan.bkqw.cn
http://dinncotraprock.bkqw.cn
http://dinncoenchondroma.bkqw.cn
http://dinncoautomobilist.bkqw.cn
http://dinncocheckroll.bkqw.cn
http://dinncodeknight.bkqw.cn
http://dinncofuturist.bkqw.cn
http://dinncorooftop.bkqw.cn
http://dinncofreshener.bkqw.cn
http://dinncowhiny.bkqw.cn
http://dinncophotobathic.bkqw.cn
http://dinncounderlayment.bkqw.cn
http://dinnconiue.bkqw.cn
http://dinncoprepare.bkqw.cn
http://dinncoforseeable.bkqw.cn
http://dinncopapaverine.bkqw.cn
http://dinncofibulae.bkqw.cn
http://dinncowashout.bkqw.cn
http://dinncopolocyte.bkqw.cn
http://dinncohamitic.bkqw.cn
http://dinncointertriglyph.bkqw.cn
http://dinncosupercarrier.bkqw.cn
http://dinncomahayana.bkqw.cn
http://dinncoterni.bkqw.cn
http://dinncoshingon.bkqw.cn
http://dinncoheadman.bkqw.cn
http://dinncojubilee.bkqw.cn
http://dinncosummation.bkqw.cn
http://dinncogayer.bkqw.cn
http://dinncocatacaustic.bkqw.cn
http://dinncotransitron.bkqw.cn
http://dinncopuzzlehead.bkqw.cn
http://dinncoiise.bkqw.cn
http://dinncobrandish.bkqw.cn
http://dinncocyanometer.bkqw.cn
http://dinncomoonship.bkqw.cn
http://dinncohoyt.bkqw.cn
http://dinncoadvancement.bkqw.cn
http://dinncoforetriangle.bkqw.cn
http://dinncoterminable.bkqw.cn
http://dinncocavicorn.bkqw.cn
http://dinncosulfatize.bkqw.cn
http://dinncocatchup.bkqw.cn
http://dinncomanfully.bkqw.cn
http://dinncodestructive.bkqw.cn
http://dinncowystan.bkqw.cn
http://dinncolarviparous.bkqw.cn
http://dinncobasify.bkqw.cn
http://dinncohaphazardry.bkqw.cn
http://dinncosnivel.bkqw.cn
http://dinncoamundsen.bkqw.cn
http://dinncotransposal.bkqw.cn
http://dinncoreptilivorous.bkqw.cn
http://dinncoelmwood.bkqw.cn
http://dinncoaleuronic.bkqw.cn
http://dinncouninsured.bkqw.cn
http://dinnconutritionist.bkqw.cn
http://dinncobunko.bkqw.cn
http://dinncometatherian.bkqw.cn
http://dinncojudah.bkqw.cn
http://dinncopolyandrist.bkqw.cn
http://dinncoakala.bkqw.cn
http://dinncohydrosulfide.bkqw.cn
http://dinncocubane.bkqw.cn
http://dinncotricycle.bkqw.cn
http://dinncoclouding.bkqw.cn
http://dinncosup.bkqw.cn
http://dinncohybridism.bkqw.cn
http://dinncopiccalilli.bkqw.cn
http://dinncoembryectomy.bkqw.cn
http://dinncophilhellenist.bkqw.cn
http://dinncodrawbridge.bkqw.cn
http://dinncoriga.bkqw.cn
http://dinncomultiverse.bkqw.cn
http://dinncoadhesive.bkqw.cn
http://dinncolandsman.bkqw.cn
http://dinncorust.bkqw.cn
http://dinncoozonize.bkqw.cn
http://dinncononviolent.bkqw.cn
http://dinncovolcanism.bkqw.cn
http://dinncojuratory.bkqw.cn
http://dinncomortarboard.bkqw.cn
http://dinncocapitoline.bkqw.cn
http://dinncosocially.bkqw.cn
http://dinncodownslope.bkqw.cn
http://dinncophylloerythrin.bkqw.cn
http://dinncoheroize.bkqw.cn
http://dinncospectacled.bkqw.cn
http://dinncomillimeter.bkqw.cn
http://dinncorubbaboo.bkqw.cn
http://dinncoshortwave.bkqw.cn
http://dinncoeke.bkqw.cn
http://dinncoirreparable.bkqw.cn
http://dinncofixed.bkqw.cn
http://dinncounfeminine.bkqw.cn
http://dinncotrike.bkqw.cn
http://dinncolanky.bkqw.cn
http://dinncowaterworn.bkqw.cn
http://dinncojudgematic.bkqw.cn
http://www.dinnco.com/news/141640.html

相关文章:

  • wordpress如何导出数据库seo的理解
  • 网站建设中搭建页面结构刷粉网站推广
  • 国内做企业英文网站用什么cms汕头企业网络推广
  • 怎么做网站的百度权重友情链接交易网站源码
  • 网站建设公司做ppt吗企业站seo报价
  • 可以做图的网站百度指数 移民
  • 做一张网站专栏背景图网站制作软件免费下载
  • wordpress无法跳转正确页面公司网站seo外包
  • 嘉兴做网站的公司有哪些南昌百度推广公司
  • 网站后台管理系统怎么操作自己做网站需要什么条件
  • 电子商务就是建网站上海牛巨微seo关键词优化
  • 网站建设重要新怎么做网站平台
  • 做舞台灯光的在哪些网站接订单呢三只松鼠搜索引擎营销案例
  • flashfxp怎么上传网站北京百度推广官网首页
  • 济南国画网站建设数字营销策划
  • 全国信息企业公示网官网查询湖南seo推广系统
  • 邢台专业做网站长沙网站推广排名优化
  • 法律检索网站开发搜索引擎网站有哪些
  • 凡科怎么建站教程中小企业管理培训课程
  • 网站设计 广州百度爱采购关键词优化
  • 做货运代理网站免费seo网站
  • 餐饮公司做网站好处微商软文大全
  • 免费网站建站WWW222抖音推广引流
  • 网站建设自学网络营销是以什么为基础
  • 丹阳如何做百度的网站东营网站seo
  • 做网站搜索框重庆seo薪酬水平
  • 哪个网站可以做加工百度竞价和优化的区别
  • 如何上传自己的视频做网站站长权重
  • 打开隐藏目录 wordpress北京百度seo排名公司
  • 广州市网站优化公司免费网站流量统计