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

语言网站开发企业艺术学院网站建设管理办法

语言网站开发企业,艺术学院网站建设管理办法,wordpress分页工具栏,北京pc端网站开发类文件结构 文章目录 类文件结构一、概述二、无关性基石三、Class类文件的结构 一、概述 计算机是只认由0、1组成的二进制码的#xff0c;不过随着发展#xff0c;我们编写的程序可以被编译成与指令集无关、平台中立的一种格式。 二、无关性基石 对于不同平台和不同平台的…类文件结构 文章目录 类文件结构一、概述二、无关性基石三、Class类文件的结构 一、概述 计算机是只认由0、1组成的二进制码的不过随着发展我们编写的程序可以被编译成与指令集无关、平台中立的一种格式。 二、无关性基石 对于不同平台和不同平台的Java虚拟机都支持一种程序存储格式—字节码。Java虚拟机并不与Java这个语言绑定它只与class文件绑定。任何语言编译后生成的class文件都可以在Java虚拟机上运行。 三、Class类文件的结构 Java语言一直保持着良好的向后兼容性Class文件结构的稳定功不可没。在Java语言经历了许多的改进和更新Class文件的结构和功能几乎没有变化只有一些新增和补充内容。 任何一个class文件都对应着唯一的一个类或者接口的定义信息但并不一定每个类或者接口都有着对应的class文件(可以动态生成直接进入类加载器中)。 Class文件是一组以8个字节为基础单位的二进制流中间没有任何的分隔符。当遇到大于8个字节的空间存储时会按照高位在前把变量分割成若干个8个字节进行存储。Class文件存储数据只通过两种结构无符号数和表。u1、u2、u8代表1、2、8个字节的无符号数。表是由多个无符号数或者其它表构成的结构表的命名都习惯性地以”_info”结尾。整个class文件也可以看成一张表表的组成结构如下图。 1、魔数与Class文件的版本 每个class文件的头四个字节是魔数这是用来辨别该class文件是否可以被虚拟机接受。许多类型的文件都有魔数例如gif、jpg等。使用魔数比使用后缀名辨别文件格式更加安全因为后缀名是可以更改的。文件格式的魔数由制定者自己定义class文件的魔数是0XCAFEBABE 紧接着魔数后面的四个字节是class文件的版本号定义第五六字节定义的是次版本号(minor version)第七八字节定义的是主版本号(major version)。Java的class文件版本号是从45开始的每个Java的大版本发布主版本号就加一。高版本JDK可以兼容低版本的class文件。 分析此图由5、6位是0x0000可以得出次版本号为0由7、8位是0x0032可以得出主版本号是50,所以该class文件版本号是50.0对应的JDK版本应该是JDK1.6JDK1.6能支持版本号为45.0-50.65535的class文件。 2、常量池 在主次版本号之后的就是常量池它是class文件中的资源仓库占用着大量的数据也是第一个出现的表类型数据项。 常量池的入口需要放置一个u2类型的数据来表示有多少常量。这个容量的计数是从1开始而不是从0开始的 如此图可以看见偏移地址0x00000008处值为0x0016即常量池的容量为22那么就有21个常量索引为1-21。把0空出来是为了表达不引用任何一个常量来设计的。不过除了常量池的其它集合索引还都是从0开始的。 常量池中的每一个常量都是一个表截止JDK13常量表中一共有17种不同类型的常量。这些常量表都有一个相同的特点就是它们的第一位是u1类型的标志位。 下面开始对常量进行分析 第0x00000008偏移位说明了有21个常量。从0x0000000A开始0x07是第一个常量的标志位(tag)根据6-3常量池的项目类型可以得知这是一个类或接口的符号引用 根据表6-4就可以知道接下来两个字节要表示这个常量的name_index即常量池的索引值。它指向一个CONSTANT_Utf8_info类型常量这个常量代表类的全限定名。从偏移位0x0000000B开始可以知道该常量的索引值为0x0002即指向第二个常量。 那么就从0x0000000D开始看第二个常量标志位为0x01由表6-3可知该常量是UTF-8编码的字符串。这里使用的是UTF-8缩略编码区别是从’\u0001’到’\u007f’之间的字符相当于1127的ASCII码的缩略编码使用一个字节表示 从’\u0080’到’\u07ff’之间的所有字符的缩略编码用两个字节表示从’\u0800’开始到’\uffff’之间的所有字符 的缩略编码就按照普通UTF-8编码规则使用三个字节表示。其实就是省略所有前面的0 由表6-5可以从偏移位0x0000000E开始看该字符串的length为0x001D即29。往后29 个字节正好都在1127的ASCII码范围以内内容为“org/fenixsoft/clazz/TestClass 可以使用javap指令输出常量表由输出的常量对比发现分析的两个常量都是正确的。 像常量表中的如“I”“V”“”这些在程序中并没有它们是由编译器自动生成的是用来描述一些不方便用固定字节描述的内容的。 3、访问标志 在常量池结束后后面两个字节是访问标志。访问标志代表着该类或接口的访问信息 比如6-1中的代码TestJava是一个普通的Java类。它被public修饰并且使用了JDK1.2之后的编译器进行编译所以它的access_flag应该是0x0001|0x00200x0021
http://www.hkea.cn/news/14367237/

相关文章:

  • 系部网站建设方案iis 创建网站
  • 电商网站怎么建设小语种企业网站建设
  • 自助建站系统有什么好处网站开发过程的数据交互
  • 大连做网站比较好的公司福州做网站建设服务商
  • 星巴克网站建设ppt深圳做网站比较好
  • 做网站空间商需要办什么手续自己电脑做网站主机
  • 连云港建设局电力网站iis 发布织梦网站
  • 企业推广类网站重庆重庆网站建设
  • 企业网站建设教程pdf网站建设运营案例
  • 搭建什么网站好玩现在淘客做网站还行吗
  • 网站免费模板家用网络建网站
  • 北京西站到八达岭长城最快路线深圳建企业网站
  • 电脑做网站端口映射南通模板建站多少钱
  • 公司做网站的价格江阴英语培训学校网站建设多少钱
  • 山东嘉邦家居用品公司网站 加盟做经销商多少钱 有人做过吗html网页设计作品及其赏析
  • 凡科网做的网站wordpress导航栏编辑
  • 简述企业建设网站的必要性遵义网站制作一般多少钱
  • 阿里云一键建站网站温州高端网页设计
  • 射阳做企业网站多少钱沈阳房产网
  • 北海市建设局官方网站网站建站费用
  • 网站建设规划书实训报告北京顺义有网站建设公司吗
  • 学校校园网站建设官网建站哪个程序最好
  • 湖南株洲最新安卓优化大师2021
  • 在线视频网站开发wordpress 搜索记录表
  • 白山市建设局网站微信打赏wordpress
  • 桃城网站建设黄页名录网站开发
  • 网站搭建培训建设文明网 联盟网站的
  • 各网站网络营销产品价格策略十大货源网站大全
  • 网站搭建设计合同wordpress 题库
  • 驻马店做网站公司WordPress评级主题