码迷,mamicode.com
首页 > 其他好文 > 详细

jvm1

时间:2016-11-05 20:21:42      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:http   长度   基础   img   png   alt   常量   src   blog   

字节码常量池:

01开头的说明是一个utf-8编码的常量,那么后面就一定要跟两个字节也就是四位16进制的数,来表示这个常量占几个字节,然后后面再跟与这个字节数对应长度的utf-8编码的字符串。之所以一共有三项,这是由01类型,也就是utf-8编码的这个类型在总共12种数据类型中的性质决定的,其他11中类型,第一项是说明是12项中的哪一项,第二项是指向01类型的第几个常量(这个排序在u2类型的计数器中显示),第三项(如果有的话)也是这样的指向。所以说01是根本,是基础,其他的11项都只要一个标志符,再加上一个指向01的序号就可以了。

技术分享

技术分享

如上二图,第一张图:开始的两个字节是23==》35,35-1=34个常量。再往后,是07开头的,说明是类名,后面的两个字节值是2,就是指向常量池的第二个常量。再往下,第二个常量就是01开头,表明是utf-8编码的字符常量,01后面的两个字节是字符串的长度:36,所以往后的36位就是一串字符串。以后的码同理。

 

jvm1

标签:http   长度   基础   img   png   alt   常量   src   blog   

原文地址:http://www.cnblogs.com/chuliang/p/6033699.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!