【JVM】阅读Class字节码:常量池

目录

基本结构解析

常量池

常量池简介

如何阅读Class文件中的常量池信息


基本结构解析

Magic(魔数)
Magic的唯一作用是确定这个文件是否为一个能被虚拟机所接受的class 文件。魔数值固定为0xCAFEBABE,不会改变。

常量池

常量池简介

下图是反编译过后的字节码文件中我们找到的常量池的部分。

 可见常量池数量是从1到52,共52个常量,了解了常量池的数量,接下去我们看整个常量池的内容怎么读,即下图红线部分。

如何阅读Class文件中的常量池信息

 不同的常量类型,用tag来区分的,它后面对应的info 结构是不一样的。

 比如下图的常量07。

 根据7去找对应的常量类型,发现是CONSTANT_Class。

 接着去找CONSTANT_Class的info结构。

也就是07后面的两位,即0002是它的名字的索引,即在常量池中的索引。

即下图全限定名的索引为2。

这样07就读完了,我们接着往下看后面的01。

同理,通过01找到常量类型。

 找到它对应的结构。

发现接下去的两位是它的长度,即十六进制的0019,也就是十进制的25,从0019往后数25个到6F的位置,右边对应的就是它的全限定名。接着往下看就又是07,这样多看几次就学会看了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/12720.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python可视化总结与案例解析

目录 第一章:Python可视化基础 1.1 环境搭建 1.2 数据可视化 1.3 统计图表 1.4 交互式可视化 1.5 实战案例:网站流量分析 1.6 总结 第二章:Python可视化高级应用 2.1 高级图表类型 2.2 动态可视化 2.3 数据可视化最佳实践 2.4 实战…

TensorFlow的学习

0.基础概念 术语表: https://developers.google.cn/machine-learning/glossary?hlzh-cn#logits 1.快速入门 https://tensorflow.google.cn/tutorials/quickstart/beginner?hlzh-cn 2.基于Keras进行图像分类 https://tensorflow.google.cn/tutorials/keras/cl…

gradle 共享存储挂载缓存目录的问题

2个任务同时构建的时候,报错如上。 原因:挂载目录的问题导致的,挂在最小粒度的目录下。 /home/app/.gradle/caches/modules-2/files-2.1 挂载到这个级别的目录下。

一文详解什么是手机在网时长API

手机在网时长API最近被讨论得越来越多,因为随着移动互联网的不断发展,越来越多的场景需要使用到用户的手机号,比如商品交易、客户服务、信息收发、网络即时通讯等。手机号码状态查询功能使用得越来越广泛,常见的有手机在网时长查询…

演员怎么上百度百科

百度百科是一个公正、开放、客观的平台,它为演员提供了一个展示自己过往经历和演艺生涯的平台。以下是百科优化网yajje总结的演员创建百度百科的一些步骤和注意事项: 创建演员百度百科的基本条件 人物影响力:演员创建百度百科需要满足官方的规…

振弦采集仪在岩土工程监测中的重要性及应用案例分享

振弦采集仪在岩土工程监测中的重要性及应用案例分享 岩土工程监测是为了确保土地和建筑物的稳定性以及确保施工安全而进行的一项重要工作。河北稳控科技振弦采集仪是岩土工程监测中一种常用的仪器设备,通过测量土体振动频率来评估土体的稳定性和强度变化&#xff0…

写个进度条

using UnityEngine; using UnityEngine.UI; [ExecuteAlways] public class 进度条控制器 : MonoBehaviour {public Image 母进度条; // 母进度条背景public Image 子进度条; // 子进度条[Range(0, 1)] public float 进度值; // 进度值public float 起点偏移量; // 从左侧开始的…

理解打包好的vue项目结构dist包

目录 linux查询dist目录整体解释子目录文件解释CSSFONTSJS linux查询dist目录 roothcss-ecs-7881:/www/java_project/dist# ls -l total 3004 drwxr-xr-x 2 root root 4096 Dec 31 10:15 css -rw-r--r-- 1 root root 4286 Dec 31 10:15 favicon.ico drwxr-xr-x 2 root r…

MySQL从主库恢复从库

主库备份数据,拷贝至从节点1.1 备份数据 sudo python /data/apps/xtrabackup/script/xtrabackup.py -m full 备份目录为: /data/mysql_bakcup/<port>/<date>/full_<date> 例:/data/mysql_backup/13306/20231124/full_164044/ 1.2 拷贝备份数据至从节点 sc…

霸道龙尊短视频:成都鼎茂宏升文化传媒公司

霸道龙尊短视频&#xff1a;龙族的传奇与现代的交融 在数字化时代的浪潮中&#xff0c;短视频以其短小精悍、内容丰富的特点&#xff0c;迅速占领了人们的碎片时间。成都鼎茂宏升文化传媒公司而在这些短视频中&#xff0c;一股独特的“霸道龙尊”风潮正在悄然兴起&#xff0c;…

C++ QT设计模式:原型模式

基本概念 原型模式是一种创建型设计模式&#xff0c;允许通过复制现有对象来创建新对象&#xff0c;而不是通过使用构造函数。 实现的模块有&#xff1a; Prototype&#xff08;原型&#xff09;&#xff1a; 定义一个抽象接口&#xff0c;规定了具体原型对象必须实现的方法。…

C语言经典例题-18

1.判断是不是字母 题目描述: KK想判断输入的字符是不是字母&#xff0c;请帮他编程实现。 输入描述: 多组输入&#xff0c;每一行输入一个字符。 输出描述: 针对每组输入&#xff0c;输出单独占一行&#xff0c;判断输入字符是否为字母&#xff0c;输出内容详见输出样例。 输…

Nginx配置文件conf解释

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站&#xff0c;这篇文章男女通用&#xff0c;看懂了就去分享给你的码吧。 Nginx(“engine x”…

VBA字典求和套路

Sub 字典求和套路()Dim i, j, arr, brr, keyDim sht As WorksheetSet sht Sheet1Application.Calculation xlManualDim dicSet dic CreateObject("scripting.dictionary")For i 3 To sht.Cells(Rows.Count, "A").End(xlUp).Rowkey sht.Cells(i, "…

基于springboot+vue+Mysql的在线答疑系统

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

RK集成apk到odm下

功能启用说明 配置和使用 source 之后输入命令get_build_varTARGET_DEVICE_DIR找到对应目标文件夹 &#xff08;比如device/rockchip/rk3126c/&#xff09; 在目标文件夹下有三个文件夹&#xff0c;分别为&#xff1a; 1&#xff0e;preinstall 安装不可卸载应用&#xff1…

服务攻防——应用协议软件,设备平台

向日葵利用 vnc利用5900端口 当为none就可以直接连接&#xff0c;而其他几种密码也能破解 可以使用hydna来尝试爆破 teamviewer(cve2020-13699) 让对方点击这个网站&#xff0c;就会 触发 zabbix 端口10051 cve2020 手工 点击这个 找到cookie 然后不需要密码就能进…

搭建Rust开发环境

Windows搭建 下载&#xff1a;https://www.rust-lang.org/zh-CN/tools/install Linux搭建 这里我更推荐基于Linux搭建。 curl --proto https --tlsv1.2 -sSf https://sh.rustup.rs | sh等一会儿以后&#xff0c;会让你输入命令&#xff0c;这里输入1&#xff1a; 之后就…

一表捋清网络安全等级保护测评要求

三级网络安全等级保护测评指标&#xff1a; 对于中小企事业单位来说&#xff0c;网络安全建设是一个复杂且投入较高的过程&#xff0c;因此他们更倾向于寻找一种“省心省力”的等保建设方案&#xff0c;以及一种能够持续有效且具有较高性价比的网络安全建设投入方式。 此时&…

【微积分】三角函数求导积分公式的巧妙记忆

三角函数积分求导公式的巧妙记忆 图像的整体记忆&#xff1a; 上面是sinx cosx 下面也是s开头&#xff0c;secx&#xff0c;cscx 中间是tanx cotx 解释说明&#xff1a; 1️⃣ 对角线互为倒数&#xff0c;即sinx对角线是cscx&#xff0c;这样我们可以更好记住这个六边形图像。…