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

网站建设需要的设备wordpress 增加菜单

网站建设需要的设备,wordpress 增加菜单,模板和网站的区别,清远最新闻在 Java 的面试过程中#xff0c;不可避免的一个面试题那就是 JVM#xff0c;而 JVM 的面试题中#xff0c;有各种#xff0c;比如在堆中会被问到的关于垃圾回收机制的相关问题#xff0c;在栈中会被问到入栈以及出栈的过程#xff0c;来聊一下关于栈的相关问题#xff…在 Java 的面试过程中不可避免的一个面试题那就是 JVM而 JVM 的面试题中有各种比如在堆中会被问到的关于垃圾回收机制的相关问题在栈中会被问到入栈以及出栈的过程来聊一下关于栈的相关问题比如栈帧和动态链接指的是什么 JVM JVMJava Virtual MachineJava虚拟机是Java平台的核心组成部分它是一个可以执行Java字节码的虚拟计算机。JVM的主要职责是加载Java类文件并且根据这些类文件中的定义来执行相应的操作。 JVMJava Virtual MachineJava虚拟机主要包含以下几个组成部分 类加载器Class Loader负责加载字节码文件到内存将.class文件中的类信息加载到JVM中以便JVM能够识别和使用这些类。 运行时数据区Runtime Data AreaJVM的核心内存空间结构模型主要包括以下子区域 方法区Method Area用于存储虚拟机加载的类信息、常量、静态变量以及即时编译器编译后的代码等数据。堆Heap存储Java程序创建的类实例对象引用。这是所有线程共享的内存区域用于存放对象实例。Java栈JVM Stacks每个虚拟机线程都有一个私有的栈用于存储局部变量、方法参数以及方法调用的相关信息。每个方法执行时都会创建一个栈帧来存储这些信息。程序计数器Program Counter Register一块较小的内存空间作为当前线程所执行的字节码的行号指示器。它记录了线程执行的当前位置。本地方法栈Native Method Stack与Java栈非常相似但用于支持native方法的执行。当JVM调用native方法时会在这个栈中创建栈帧。 执行引擎Execution Engine对JVM指令进行解析翻译成机器码然后提交到操作系统中执行。它负责读取JVM指令并驱动其执行。 本地库接口Native Interface允许Java代码与其他语言写的代码进行交互。它提供了Java调用其他语言的原生库的能力使得Java程序能够使用其他语言的库和函数。 本地方法库Native Method Library实现了Java本地方法的具体功能这些方法是使用其他语言如C或C编写的并通过本地库接口与Java代码进行交互。 JVM中的栈帧 在Java虚拟机JVM中栈帧Stack Frame是用于支持方法调用和执行的数据结构是方法执行时的内存模型。每个方法从调用直至执行完成的过程都对应着一个栈帧在虚拟机栈中入栈到出栈的过程。 栈帧存储了方法的局部变量表、操作数栈、动态链接、方法出口等信息。当一个方法被调用时一个新的栈帧就会被创建并压入到虚拟机栈中这个栈帧中保存了方法的局部变量、实际参数、操作数栈、常量池引用等信息。当方法执行完毕后这个栈帧就会从虚拟机栈中弹出接着执行上一个方法栈帧中的操作。 栈帧的结构主要包括以下几个部分 局部变量表Local Variable Table存放了编译期可知的各种基本数据类型boolean、byte、char、short、int、float、long、double、对象引用reference类型它不等同于对象本身可能是一个指向对象起始地址的引用指针也可能是指向一个代表对象的句柄或其他与此对象相关的位置和returnAddress类型指向了一条字节码指令的地址。 操作数栈Operand Stack也称为表达式栈主要用于保存计算过程的中间结果同时作为计算过程中变量临时的存储空间。 动态链接Dynamic Linking指向运行时常量池的方法引用使得方法中的符号引用在运行时可以直接定位到引用的目标比如某个类的成员或者方法。 方法返回地址Return Address存放着调用该方法的PC寄存器的值。当一个方法执行完毕后会依赖这个方法出口来恢复上层方法的执行。 就像上图这样但是看图的时候又会有人发出疑问既然动态链接都属于栈帧了那么为什么还会再标题上把他区分出来就来说一下这个动态链接的问题。 栈帧当中的动态链接 动态链接是为了支持动态方法的调用过程这句话看起来好像也没什么毛病但是总感觉很空对着面试官如果说这句那肯定还有下文所以换成能理解的方式来解读一下。 动态链接实际上就是符号引用转变为直接引用。 符号引用转为直接引用是类加载过程中的一个关键步骤它发生在解析阶段。符号引用是编译原理中的概念可以包括类和接口的全限定名、字段的名称和描述符、方法的名称和描述符等。 这些符号引用在Java字节码中以CONSTANT_Class_info、CONSTANT_Fieldref_info、CONSTANT_Methodref_info等类型的常量来表示。 而直接引用则是与内存布局相关的比如直接指向目标代码的指针、相对偏移量或者是一个能间接定位到目标的句柄。直接引用是与虚拟机实现的内存布局紧密相关的同一个符号引用在不同虚拟机实例上甚至在同一虚拟机实例的不同类加载过程中可能都会转换为不同的直接引用。 在类加载的解析阶段虚拟机将常量池内的符号引用替换为直接引用的过程称为解析。解析是类加载过程中必不可少的一个环节。如果符号引用无法进行解析那么将会抛出一个异常比如常见的java.lang.NoClassDefFoundError或java.lang.NoSuchFieldError、java.lang.NoSuchMethodError等。 解析动作主要针对类或接口、字段、类方法、接口方法、方法类型、方法句柄和调用点限定符7类符号引用进行。对于这7类符号引用未必一定能在解析阶段或第一次使用时就完成解析有些符号引用是在真正使用的时候才进行解析的这种解析方式称为惰性解析。 总的来说符号引用转为直接引用是Java类加载过程中解析阶段的一个重要步骤它确保了符号引用能够被正确地解析为内存中的直接引用从而实现Java程序的正常运行。
http://www.zqtcl.cn/news/38873/

相关文章:

  • 职业生涯规划大赛项目名称百度seo公司哪家最好
  • 蓝色主题的网站模板管理公司网站建设
  • 用mockplus做网站原型网络营销个人总结
  • 淘宝客自建手机网站wordpress热门文章代码
  • 网站建设设计公司+知乎留学生做留服证明在哪个网站
  • 做搜狗网站优化首揭阳专业的网站建设价格
  • 做网站软件ps建设网站的风险分析
  • wap视频网站网站建设制作文献
  • wordpress搜索条件珠海seo推广
  • 网站关键词 价格生成厦门建设局招聘
  • 昆山建设工程招聘信息网站十大流量平台
  • 如何用域名建网站免费商城网站建设平台
  • 上海网站开发制无锡网站建设电话
  • 网站建设情况说明总结用手机制作动画的app
  • 微信平台微网站开发自己做网站挂广告
  • 中国建设网官方网站e路护航网站内容的编辑和更新怎么做的
  • 成都网站改版案例学习网站建设方案摸摸学校
  • 做网站实验报告网站改版什么意思
  • seo排行榜年度10佳网站原平的旅游网站怎么做的
  • 怎样开发手机网站wordpress 微信缩略图不显示图片
  • 南京企业自助建站系统社保在哪个网站做增员
  • 郑州做网站好如何开通免费网站
  • 宝塔建设网站教程怎样免费做网站视频讲解
  • shopify可以做企业网站嘛网络销售是做什么
  • 没备案的网站怎么做淘客找合作项目的平台
  • ps怎么做网站的首页厦门外贸网站找谁
  • 个人网站 虚拟主机扬州网站建设网站排名优化
  • 门户网站衰落的原因wordpress可视化插件下载
  • 陕西省建设网一体化平台新手seo入门教程
  • 十大免费模板网站设计公司的网站