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

Java虚拟机整型数加载指令学习

JVM中 int 类型数值,根据 取值范围将 入栈的 字节码指令 就分为4类:

    取值 -1~5 采用 iconst 指令;

    取值 -128~127 采用 bipush 指令;

    取值 -32768~32767 采用 sipush指令;

    取值 -2147483648~2147483647 采用 ldc 指令。

不同范围,不同字节数的,整型数据采用不同的加载指令;看上去是为了性能;

一个示例;

public class loaddemo  
{  public static void main(String args[]) {  int myi = 5;int myj = -1;int mybb = 127;int myds = 32767;int myzds = Integer.MAX_VALUE;}   
} 

编译并反编译后如下;

 

从 Constant pool(冒号) 到大括号开始,是常量池;

看一下对应的指令分别是,
    iconst_5
    iconst_m1
    bipush 127
    sipush 32767
    ldc #3    // int 2147483647

 

相关文章:

Java虚拟机整型数加载指令学习

JVM中 int 类型数值,根据 取值范围将 入栈的 字节码指令 就分为4类: 取值 -1~5 采用 iconst 指令; 取值 -128~127 采用 bipush 指令; 取值 -32768~32767 采用 sipush指令; 取值 -2147483648~2147483647 采用 ldc 指令。…...

Docker 实现 MySQL 一主一从配置

1、新建主服务器容器实例,端口: 3307 docker run \ -p 3307:3306 \ --name mysql-master \ -v /var/docker/mysql-master/log:/var/log/mysql \ -v /var/docker/mysql-master/data:/var/lib/mysql \ -v /var/docker/mysql-master/conf:/etc/mysql \ --p…...

Python编程练习与解答 练习113:避免重复

本练习将创建一个程序,从用户处读取单词,直到用户输入空行,在用户输入空行之后,程序应该显示一次用户输入的每个单词。单词应该按照他们最初的输入顺序显示。例如如果用户输入: first second first third second …...

线上 udp 客户端请求服务端客户端句柄泄漏问题

本题分别从如下三个方面来分享: 问题描述 自定义连接池的编写 common_pool 的使用 问题描述 线上有一个业务,某个通服务通知 udp 客户端通过向 udp 服务端(某个硬件设备)发送 udp 包来进行用户上线操作 当同时有大量的请求打到…...

合宙Air724UG LuatOS-Air LVGL API控件-窗口 (Window)

窗口 (Window) 分 享导出pdf 示例代码 win lvgl.win_create(lvgl.scr_act(), nil) lvgl.win_set_title(win, "Window title") -- close_btn lvgl.win_add_btn_right(win, "\xef\x80\x8d") -- --lvgl.obj_set_event_cb(cl…...

80 # 图片防盗链

referer 来源,表示这个资源被谁引用过,可以用来做防盗链。 我们新建文件 no-referer.js const fs require("fs"); const path require("path"); const url require("url"); const http require("http");h…...

App自动化测试持续集成效率提高50%

持续集成是一种开发实践,它倡导团队成员需要频繁的集成他们的工作,每次集成都通过自动化构建(包括编译、构建、自动化测试)来验证,从而尽快地发现集成中的错误。让正在开发的软件始终处于可工作状态,让产品…...

LeetCode —— 复写零(双指针)

题目链接 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 题目解析 将数组中出现的每个零复写一遍,然后将其他元素向右平移,数组长度不能改变。 法一:使用额外空间的做法 class Solution { public:void duplica…...

【Vue篇】Vue 项目下载、介绍(详细版)

如何创建一个vue项目?首先要有环境,如下: nodejs vue-cli如果有以上的工具就直接跳过安装教程 【Vue篇】mac上Vue 开发环境搭建、运行Vue项目(保姆级) 创建vue项目 选择一个位置,你要存放项目的路径&…...

Python批处理(一)提取txt中数据存入excel

Python批处理(一)提取txt中数据存入excel 问题描述 现从冠层分析软件中保存了叶面积指数分析的结果,然而软件保存格式为txt,且在不同的文件夹中,每个文件夹的txt文件数量不固定,但是txt文件格式固定。现需…...

只考一门数据结构!安徽工程大学计算机考研

安徽工程大学 考研难度(☆) 内容:23考情概况(拟录取和复试分析)、院校概况、23专业目录、23复试详情、各专业考情分析、各科目考情分析。 正文992字,预计阅读:3分钟 2023考情概况 安徽工程大…...

Ubuntu 20.04出现蓝牙无法打开的问题(已解决)

安装Ubuntu20.04后,蓝牙无法打开,按钮开启后蓝牙仍处于关闭状态 解决方法(四种方式) 1.卸载并重新加载btusb内核模块(支持蓝牙设备的内核模块) sudo rmmod btusb sleep 1 sudo modprobe btusb2、安装蓝牙工…...

并发测试工具 apache-jmeter使用发送post请求JSON数据

目录 1 下载安装 2 汉化 3 创建高并发测试 配置线程组 创建web请求 创建监听器 结果树 汇总报告 为web请求添加token 添加Content-Type用于发送json 4 启动测试 5 查看结果 1 下载安装 官网Apache JMeter - Download Apache JMeter 解压运行 2 2 汉化 打开软件…...

牛客练习赛115 A Mountain sequence

题目: 样例: 输入 3 5 1 2 3 4 5 3 3 3 3 3 1 2 1 输出 16 1 3 思路: 依据题意,再看数据范围,可以知道暴力肯定是不可能了,然后通过题目意思,我们可以排列模拟一下,这里排列所得结…...

通过git bash激活虚拟环境遇到的问题

直接git bash后用conda activate激活一直报错 报错如下: CommandNotFoundError: Your shell has not been properly configured to use ‘conda activate’. If using ‘conda activate’ from a batch script, change your invocation to ‘CALL conda.bat activa…...

EasyAVFilter代码示例之将摄像机RTSP流转成RTMP推流输出

以下是一套完整的RTSP流转RTMP推流功能的开发源码,就简简单单几行代码,就可以完成原来ffmpeg很复杂的调用流程,而且还可以集成在自己的应用程序中调用,不需要再单独一个ffmpeg的进程来调用,方法很简单: #i…...

【【C语言康复训练-4】】

C语言康复训练-4 head.h #pragma once #define ROWS 11 #define COLS 11 #define ROW 9//为什么会在头文件中定义两个 因为1到9是我们想要实现的标准单元 #define COL 9 //但是对于我们幕后调控者,对边角上并不能和其他一样方便操作,所以我们向外拓展了…...

[DM8] DM-DM DBLINK DPI方式

前言 对于DM与DM之间的DBLINK,三种方式中,使用DPI方式配置上最为方便,ODBC方式需要安装ODBC包并配置ODBC数据源,dmmal方式需要设置MAL_INI数据库参数、配置dmmal.ini文件并需要重启数据库服务。 dpi类型的dblink,达梦…...

创建了一个名为nums_list的vector容器,其中存储了一系列的pair<int, int>

vector<pair<int, int>> nums_list;for (int i 0; i < nums.size(); i) {nums_list.emplace_back(i, nums[i]);}这段代码创建了一个名为nums_list的vector容器&#xff0c;其中存储了一系列的pair<int, int>。代码的逻辑如下&#xff1a;1. 创建一个空的…...

SpringMVC文件上传、文件下载多文件上传及jrebel的使用与配置

一.文件上传 1.导入依赖 <dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.3.3</version> </dependency> 2.配置文件上传解析器 在spring-mvc.xml文件中添加文件…...

3PEAK思瑞浦 TPA1811-S5TR SOT23-5 精密运放

特性 供电电压:4伏至30伏 低功耗:在25C时为55A(典型值) 低偏置电压:8V在25C(最大值) 零漂:0.01V/C 轨到轨输出 增益带宽积:500kHz 斜率:0.3V/us...

在嵌入式c项目中集成大模型能力taotoken的稳定api调用方案

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 在嵌入式C项目中集成大模型能力&#xff1a;基于Taotoken的稳定API调用方案 应用场景类&#xff0c;针对嵌入式或资源受限的C语言开…...

从动画原理到嵌入式实现:赋予机器人生命感的设计与工程实践

1. 项目概述&#xff1a;当技术遇见灵魂在数字世界和物理世界的交汇处&#xff0c;我们总在尝试创造一些能与我们对话、甚至能触动我们内心的存在。无论是屏幕里那个让你牵挂的动画角色&#xff0c;还是面前这个试图与你眼神交流的服务机器人&#xff0c;一个核心的挑战始终横亘…...

LZ4并行压缩:线程池设计与性能瓶颈突破的终极指南

LZ4并行压缩&#xff1a;线程池设计与性能瓶颈突破的终极指南 【免费下载链接】lz4 Extremely Fast Compression algorithm 项目地址: https://gitcode.com/GitHub_Trending/lz/lz4 LZ4作为一款Extremely Fast Compression algorithm&#xff0c;其并行压缩能力是提升处…...

手把手教你移植μGUI到STM32F103:一个文件搞定单片机图形界面

从零构建STM32图形界面&#xff1a;μGUI移植实战指南 在嵌入式开发中&#xff0c;图形用户界面(GUI)的实现往往令人望而生畏。市面上虽然有诸多成熟的GUI解决方案&#xff0c;但对于资源有限的STM32F103系列单片机来说&#xff0c;轻量级的μGUI无疑是一个理想选择。本文将带…...

AI幻灯片生成插件:架构设计与Prompt工程实战

1. 项目概述与核心价值最近在折腾一个基于AI的幻灯片生成工具&#xff0c;项目名叫“proyecto26/slides-ai-plugin”。这名字听起来有点技术范儿&#xff0c;但说白了&#xff0c;它就是一个能帮你用自然语言描述&#xff0c;自动生成PPT幻灯片内容的插件。想象一下&#xff0c…...

如何5分钟掌握ncmppGui:解锁音乐格式限制的终极免费工具

如何5分钟掌握ncmppGui&#xff1a;解锁音乐格式限制的终极免费工具 【免费下载链接】ncmppGui 一个使用C编写的极速ncm转换GUI工具 项目地址: https://gitcode.com/gh_mirrors/nc/ncmppGui 你是否曾经遇到过这样的情况&#xff1a;从音乐平台下载的歌曲只能在特定应用中…...

观察Taotoken按Token计费模式下的月度成本变化

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 观察Taotoken按Token计费模式下的月度成本变化 在项目开发中&#xff0c;尤其是涉及大模型API调用的场景&#xff0c;成本控制是一…...

Vivado仿真避坑指南:从Testbench编写到波形调试的完整实战(以流水灯为例)

Vivado仿真避坑指南&#xff1a;从Testbench编写到波形调试的完整实战&#xff08;以流水灯为例&#xff09; 在FPGA开发中&#xff0c;仿真环节往往是新手工程师最容易"踩坑"的重灾区。明明RTL代码逻辑清晰&#xff0c;下载到板卡却出现异常行为&#xff1b;仿真波…...

阿里健康年营收342亿:净利19亿 CFO屠燕武辞职

雷递网 雷建平 5月14日阿里健康&#xff08;股份代号&#xff1a;00241&#xff09;今日发布截至2026年3月31日的财报。财报显示&#xff0c;截至2026年3月31日的年度&#xff0c;阿里健康营收为342.55亿元&#xff0c;较上年同期的306亿元增长12%。截至2026年3月31日的年度&am…...