简而言之,作用于 ldc 一致,但是参数与 ldc_w 不一致, ldc 参数是一个无符号byte, 最大值是 255 , 但常量池的大小可能大于 255 , 为了加载 255 之后的常量, ldc_w 出现了。

可以通过下方代码验证

public class Test {

public static void main(String[] args) {

System.out.println(65535);

System.out.println(65536);

System.out.println(65537);

System.out.println(65538);

System.out.println(65539);

System.out.println(65540);

System.out.println(65541);

System.out.println(65542);

System.out.println(65543);

System.out.println(65544);

System.out.println(65545);

System.out.println(65546);

System.out.println(65547);

System.out.println(65548);

System.out.println(65549);

System.out.println(65550);

System.out.println(65551);

System.out.println(65552);

System.out.println(65553);

System.out.println(65554);

System.out.println(65555);

System.out.println(65556);

System.out.println(65557);

System.out.println(65558);

System.out.println(65559);

System.out.println(65560);

System.out.println(65561);

System.out.println(65562);

System.out.println(65563);

System.out.println(65564);

System.out.println(65565);

System.out.println(65566);

System.out.println(65567);

System.out.println(65568);

System.out.println(65569);

System.out.println(65570);

System.out.println(65571);

System.out.println(65572);

System.out.println(65573);

System.out.println(65574);

System.out.println(65575);

System.out.println(65576);

System.out.println(65577);

System.out.println(65578);

System.out.println(65579);

System.out.println(65580);

System.out.println(65581);

System.out.println(65582);

System.out.println(65583);

System.out.println(65584);

System.out.println(65585);

System.out.println(65586);

System.out.println(65587);

System.out.println(65588);

System.out.println(65589);

System.out.println(65590);

System.out.println(65591);

System.out.println(65592);

System.out.println(65593);

System.out.println(65594);

System.out.println(65595);

System.out.println(65596);

System.out.println(65597);

System.out.println(65598);

System.out.println(65599);

System.out.println(65600);

System.out.println(65601);

System.out.println(65602);

System.out.println(65603);

System.out.println(65604);

System.out.println(65605);

System.out.println(65606);

System.out.println(65607);

System.out.println(65608);

System.out.println(65609);

System.out.println(65610);

System.out.println(65611);

System.out.println(65612);

System.out.println(65613);

System.out.println(65614);

System.out.println(65615);

System.out.println(65616);

System.out.println(65617);

System.out.println(65618);

System.out.println(65619);

System.out.println(65620);

System.out.println(65621);

System.out.println(65622);

System.out.println(65623);

System.out.println(65624);

System.out.println(65625);

System.out.println(65626);

System.out.println(65627);

System.out.println(65628);

System.out.println(65629);

System.out.println(65630);

System.out.println(65631);

System.out.println(65632);

System.out.println(65633);

System.out.println(65634);

System.out.println(65635);

System.out.println(65636);

System.out.println(65637);

System.out.println(65638);

System.out.println(65639);

System.out.println(65640);

System.out.println(65641);

System.out.println(65642);

System.out.println(65643);

System.out.println(65644);

System.out.println(65645);

System.out.println(65646);

System.out.println(65647);

System.out.println(65648);

System.out.println(65649);

System.out.println(65650);

System.out.println(65651);

System.out.println(65652);

System.out.println(65653);

System.out.println(65654);

System.out.println(65655);

System.out.println(65656);

System.out.println(65657);

System.out.println(65658);

System.out.println(65659);

System.out.println(65660);

System.out.println(65661);

System.out.println(65662);

System.out.println(65663);

System.out.println(65664);

System.out.println(65665);

System.out.println(65666);

System.out.println(65667);

System.out.println(65668);

System.out.println(65669);

System.out.println(65670);

System.out.println(65671);

System.out.println(65672);

System.out.println(65673);

System.out.println(65674);

System.out.println(65675);

System.out.println(65676);

System.out.println(65677);

System.out.println(65678);

System.out.println(65679);

System.out.println(65680);

System.out.println(65681);

System.out.println(65682);

System.out.println(65683);

System.out.println(65684);

System.out.println(65685);

System.out.println(65686);

System.out.println(65687);

System.out.println(65688);

System.out.println(65689);

System.out.println(65690);

System.out.println(65691);

System.out.println(65692);

System.out.println(65693);

System.out.println(65694);

System.out.println(65695);

System.out.println(65696);

System.out.println(65697);

System.out.println(65698);

System.out.println(65699);

System.out.println(65700);

System.out.println(65701);

System.out.println(65702);

System.out.println(65703);

System.out.println(65704);

System.out.println(65705);

System.out.println(65706);

System.out.println(65707);

System.out.println(65708);

System.out.println(65709);

System.out.println(65710);

System.out.println(65711);

System.out.println(65712);

System.out.println(65713);

System.out.println(65714);

System.out.println(65715);

System.out.println(65716);

System.out.println(65717);

System.out.println(65718);

System.out.println(65719);

System.out.println(65720);

System.out.println(65721);

System.out.println(65722);

System.out.println(65723);

System.out.println(65724);

System.out.println(65725);

System.out.println(65726);

System.out.println(65727);

System.out.println(65728);

System.out.println(65729);

System.out.println(65730);

System.out.println(65731);

System.out.println(65732);

System.out.println(65733);

System.out.println(65734);

System.out.println(65735);

System.out.println(65736);

System.out.println(65737);

System.out.println(65738);

System.out.println(65739);

System.out.println(65740);

System.out.println(65741);

System.out.println(65742);

System.out.println(65743);

System.out.println(65744);

System.out.println(65745);

System.out.println(65746);

System.out.println(65747);

System.out.println(65748);

System.out.println(65749);

System.out.println(65750);

System.out.println(65751);

System.out.println(65752);

System.out.println(65753);

System.out.println(65754);

System.out.println(65755);

System.out.println(65756);

System.out.println(65757);

System.out.println(65758);

System.out.println(65759);

System.out.println(65760);

System.out.println(65761);

System.out.println(65762);

System.out.println(65763);

System.out.println(65764);

System.out.println(65765);

System.out.println(65766);

System.out.println(65767);

System.out.println(65768);

System.out.println(65769);

System.out.println(65770);

System.out.println(65771);

System.out.println(65772);

System.out.println(65773);

System.out.println(65774);

System.out.println(65775);

System.out.println(65776);

System.out.println(65777);

System.out.println(65778);

System.out.println(65779);

System.out.println(65780);

System.out.println(65781);

System.out.println(65782);

System.out.println(65783);

System.out.println(65784);

System.out.println(65785);

System.out.println(65786);

System.out.println(65787);

System.out.println(65788);

System.out.println(65789);

System.out.println(65790);

System.out.println(65791);

System.out.println(65792);

System.out.println(65793);

System.out.println(65794);

System.out.println(65795);

System.out.println(65796);

System.out.println(65797);

System.out.println(65798);

System.out.println(65799);

System.out.println(65800);

System.out.println(65801);

System.out.println(65802);

System.out.println(65803);

System.out.println(65804);

System.out.println(65805);

System.out.println(65806);

System.out.println(65807);

System.out.println(65808);

System.out.println(65809);

System.out.println(65810);

System.out.println(65811);

System.out.println(65812);

System.out.println(65813);

System.out.println(65814);

System.out.println(65815);

System.out.println(65816);

System.out.println(65817);

System.out.println(65818);

System.out.println(65819);

System.out.println(65820);

System.out.println(65821);

System.out.println(65822);

System.out.println(65823);

System.out.println(65824);

System.out.println(65825);

System.out.println(65826);

System.out.println(65827);

System.out.println(65828);

System.out.println(65829);

System.out.println(65830);

System.out.println(65831);

System.out.println(65832);

System.out.println(65833);

System.out.println(65834);

System.out.println(65835);

System.out.println(65836);

}

}

通过反编译查看字节码

$ javap -c Test | grep -Eo '[0-9]+:.*' | sed -n '4,$p' | tail -n 10

2439: getstatic #2 // Field java/lang/System.out:Ljava/io/PrintStream;

2442: ldc_w #303 // int 65834

2445: invokevirtual #4 // Method java/io/PrintStream.println:(I)V

2448: getstatic #2 // Field java/lang/System.out:Ljava/io/PrintStream;

2451: ldc_w #304 // int 65835

2454: invokevirtual #4 // Method java/io/PrintStream.println:(I)V

2457: getstatic #2 // Field java/lang/System.out:Ljava/io/PrintStream;

2460: ldc_w #305 // int 65836

2463: invokevirtual #4 // Method java/io/PrintStream.println:(I)V

2466: return

ldc java_Jvm规范中的LDC_W指令问题?相关推荐

  1. 版本为2.5的OpenMP规范中的编译制导指令汇总

    OpenMP的所有编译制导指令是以#pragma omp开始 #pragmaomp指令 [子句[,子句]„] 版本为2.5的OpenMP规范中的指令有以下这些: parallel:用在一个结构块之前, ...

  2. 【Java 并发编程】线程指令重排序问题 ( 指令重排序规范 | volatile 关键字禁止指令重排序 )

    文章目录 总结 一.指令重排序规范 二.指令重排序示例 总结 Java 并发的 333 特性 : 原子性 : 每个操作都是 不可拆分的原子操作 ; 在线程中进行 a++ 就不是原子操作 , 该操作分为 ...

  3. FPGA之道(36)Verilog中的编译指令

    文章目录 前言 Verilog中的编译指令 define指令 timescale指令 inlcude指令 前言 本文摘自<FPGA之道>,一起来了解下Verilog中的编译指令. Veri ...

  4. 【译】 WebSocket 协议第十二章——使用其他规范中的WebSocket协议

    概述 本文为 WebSocket 协议的第十二章,本文翻译的主要内容为如何使用其他规范中的 WebSocket 协议. 使用其他规范中的WebSocket协议(协议正文) WebSocket协议旨在由 ...

  5. 【Android FFMPEG 开发】Android 中执行 FFMPEG 指令 ( 集成 FFmpegAndroid 框架 )

    文章目录 一.推荐开源项目 二.Android 中执行 FFMPEG 指令 1.导入依赖 2.Java 代码编写 3.使用时的代码示例 三.博客资源 一.推荐开源项目 最近需要在 Android 中进 ...

  6. HLSL中的MUL指令深层剖析

    HLSL中的MUL指令深层剖析 原作者邮箱 BoYueGame#Gmail#com 欢迎交流. 此贴可以随意转载而不用注名出处.但也别说是你写的就行. 在读此文之前,读者应该知道什么是行主,列主矩阵, ...

  7. java中Freemarker list指令详解

    java Freemarker中list指令主要是进行迭代服务器端传递过来的List集合. 定义 <#list nameList as names> ${names} </#list ...

  8. c语言中预处理指令的作用,C语言中常用预处理指令

    转载自 https://blog.csdn.net/farsight2009/article/details/58602886 姓名:张艳博 学号:17021223249 [嵌牛导读]: C语言中常用 ...

  9. C#中的预处理指令详解

    这篇文章主要介绍了C#中的预处理指令详解,本文讲解了#define 和 #undef.#if.#elif.#else和#endif.#warning和#error.#region和#endregion ...

  10. 转移地址在内存中的jmp指令 检测点9.1

    转移地址在内存中的jmp指令有两种格式: (1)jmp word ptr 内存单元地址(段内转移) 功能:从内存单元地址处开始存放着一个字,是转移的目的偏移地址. mov ax,0123h mov d ...

最新文章

  1. bootstrap 文件上传fileinput
  2. 转赋值表达式解析的流程
  3. To rename a docker image
  4. 前端开发常见的浏览器兼容性问题?
  5. mysql 去除空格
  6. 分段插值/Hermite插值
  7. 用Matlab解MTPA的dq轴电流的方程
  8. 配置flashgot+axel
  9. memcpy和memmove以及memcmp
  10. 次氯酸钠phP,次氯酸钠
  11. JAVA语言对接报警类语音通知接口demo示例
  12. Word如何添加图片水印,看这里就够了!怎样在word加入图像水印
  13. 古人的智慧之回文诗——《两相思》
  14. 树型拓扑计算机网络的缺点是,拓扑结构的优缺点_网状拓扑结构特点_总线的优缺点...
  15. 微博开放领域的事件抽取【持续更新】
  16. \t\t使用INDY的IdMappedPortTCP控件实现动态的HTTP代理服务器
  17. animation初体验
  18. 校园招聘部分公司薪资待遇
  19. SSRS中加入书签功能及数据集窗口
  20. android ifw 启动广告,应用控制器清爽无广告版-应用控制器官方最新版v1.9.5 免费版-腾牛安卓网...

热门文章

  1. 英文学习20180403
  2. OpenHarmony鸿蒙 润和Pegasus套件样例--智能安防
  3. 微信服务器 系统发生错误,微信系统错误请重试怎么解决-解决微信提示“系统错误,请重试”的方案 - 河东软件园...
  4. vue 上传视频到保利威视
  5. 使用console配置线连接真机路由器
  6. URP教务系统自动登录
  7. CSDN产品周报第31期|PC端开放账号注销功能
  8. 阿里云云计算助理工程师认证(ACA)
  9. h标签和p标签和hr标签
  10. vue-pdf插件import引入时报错