首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/769276

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

Java虚拟机(二):类加载子系统

类加载器子系统 一、JVM架构图 二、 类加载子系统运行流程 加载 1.通过一个类的全限定类名获取定义此类的二进制字节流 2.将这个字节流所代表的静态存储结构转换为方法区运行时数据结构 3.在内存中生成一个代表这个类的java.lang.Class对象,作为方法区中这个类的各种数据的访问入口 链接:验证、准备和解析 验证: 1. 确保Class字节的字节流中包含的信息符合JVM的要求,保证被加载类的正确性,不会危害虚拟机自身安全 2. 验证四种格式:文件格式验证、源数据验证、字节码验证和符号引用验证 准备: 为类变量(含有static修饰的变量)分配内存并且设置该类变量的初始默认值,即零值(各自类型零值均不相同)、 这里不包含用final修饰的static,因为final在编译的时候就会分配了,准备阶段会显式初始化 这里不会为实例变量分配初始化,类变量会分配在方法区中,实例变量是会随着对象一起分配到Java堆中 解析: 事实上,解析操作往往会伴随着JVM在执行完初始化之后再执行 解析就是将常量池内的符号引用转换为直接引用的过程 符号引用:就是一组符号来表述所引用的目标,符号引用的字面量...

Java虚拟机(四):程序寄存器

一、程序寄存器(PC)概念 JVM中的程序计数寄存器(Program Counter Register)中,Register的命名源于CPU的寄存器,寄存器存储指令相关的现场信息。CPU只有把数据装载到寄存器才能够运行。JVM中的PC寄存器是对物理PC寄存器的一种抽象模拟 下图是一张经典的JVM工作流程图 在正在运行线程中,只有位于栈顶的栈帧才是有效的,称为当前栈帧,与这个栈帧相关联的方法称为当前方法 我们可以看到PC寄存器(程序计数器)与执行引擎指向同一地址,下面我们来探究PC寄存器的作用 二、程序寄存器的作用 PC寄存器是用来存储指向下一条指令的地址,也即将将要执行的指令代码,由执行引擎读取下一条指令,并解释运行 它是一块很小的内存空间,几乎可以忽略不计,也是运行速度最快的存储区域 在JVM规范中,每个线程都有它自己的程序计数器,是线程私有的,生命周期与线程的生命周期保持一致 任何时间一个线程都只有一个方法在执行,也就是所谓的当前方法。程序计数器会存储当前线程正在执行的Java方法的JVM指令地址;或者,如果实在执行native方法,则是未指定值(undefined),因为程序计数...

相关文章

发表评论

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册