当前位置: 首页 > news >正文 小企业网站建设包含哪些wordpress更改域名打不开了 news 2025/10/27 3:05:09 小企业网站建设包含哪些,wordpress更改域名打不开了,温州专业全网推广建站公司,什么是网络营销的方法this_class 指向常量池中索引为 2 的 CONSTANT_Class_info。super_class 指向常量池中索引为 3 的 CONSTANT_Class_info。由于没有接口#xff0c;所以 interfaces 的信息为空。 对应 class 文件中的位置如下图所示。 06、字段表 一个类中定义的字段会被存储在字段表#x… this_class 指向常量池中索引为 2 的 CONSTANT_Class_info。super_class 指向常量池中索引为 3 的 CONSTANT_Class_info。由于没有接口所以 interfaces 的信息为空。 对应 class 文件中的位置如下图所示。 06、字段表 一个类中定义的字段会被存储在字段表fields中包括静态的和非静态的。 来看这样一段代码。 public class FieldsTest {private String name; } 字段只有一个修饰符为 private类型为 String字段名为 name。可以用下面的伪代码来表示 field 的结构。 field_info {u2 access_flag;u2 name_index;u2 description_index; } access_flag 为字段的访问标记比如说是不是 public | private | protected是不是 static是不是 final 等。name_index 为字段名的索引指向常量池中的 CONSTANT_Utf8_info 比如说上例中的值就为 name。description_index 为字段的描述类型索引也指向常量池中的 CONSTANT_Utf8_info针对不同的数据类型会有不同规则的描述信息。 1对于基本数据类型来说使用一个字符来表示比如说 I 对应的是 intB 对应的是 byte。 2对于引用数据类型来说使用 L***; 的方式来表示L 开头; 结束比如字符串类型为 Ljava/lang/String;。 3对于数组来说会用一个前置的 [ 来表示比如说字符串数组为 [Ljava/lang/String;。 对应到 class 文件中的位置如下图所示。 看到这里相信你就能明白经常在 javap 命令中看到的一些奇怪的字符的意思了。 07、方法表 方法表和字段表类似区别是用来存储方法的信息包括方法名方法的参数方法的签名。 就拿 main 方法来说吧。 public class MethodsTest {public static void main(String[] args) {} } 先用 jclasslib 看一下大概的信息。 访问标记是 public static 的。方法名为 main。方法的参数为字符串数组返回类型为 Void。 对应到 class 文件中的位置如下图所示。 08、属性表 属性表是 class 文件中的最后一部分通常出现在字段和方法中。 来看这样一段代码。 public class AttributeTest {public static final int DEFAULT_SIZE 128; } 只有一个常量 DEFAULT_SIZE它属于字段中的一种就是加了 final 的静态变量。先通过 jclasslib 看一下它当中一个很重要的属性——ConstantValue用来表示静态变量的初始值。 Attribute name index 指向常量池中值为“ConstantValue”的常量。Attribute length 的值为固定的 2因为索引只占两个字节的大小。Constant value index 指向常量池中具体的常量如果常量类型为 int指向的就是 CONSTANT_Integer_info。 我画了一副图可以完整的表示字段的结构包含属性表在内。 对应到 class 文件中的位置如下图所示。 来看下面这段代码。 public class MethodCode {public static void main(String[] args) {foo();}private static void foo() {} } main 方法中调用了 foo 方法。通过 jclasslib 看一下它当中一个很重要的属性——Code 方法的关键信息都存储在里面。 Attribute name index 指向常量池中值为“Code”的常量。Attribute length 为属性值的长度大小。bytecode 存储真正的字节码指令。exception table 表示方法内部的异常信息。maximum stack size 表示操作数栈的最大深度方法执行的任意期间操作数栈深度都不会超过这个值。maximum local variable 表示临时变量表的大小注意并不等于方法中所有临时变量的数量之和当一个作用域结束内部的临时变量占用的位置就会被替换掉。code length 表示字节码指令的长度。 对应 class 文件中的位置如下图所示。 09、QA 评论区有读者问到“怎么通过索引值定位到在class 文件中的位置这个是咋算的” 在Java类文件中常量池是一个索引表它从索引值1开始计数每个条目都有一个唯一的索引。 常量池计数器在常量池之前类文件有一个16位的常量池计数器表示常量池中有多少项。它的值比实际常量数大1因为索引从1开始。常量池条目每个常量池条目的开始是一个标签1个字节表明了常量的类型如Class、Fieldref、Methodref等。根据这个类型后面跟着的数据结构也不同。 定位过程大致如下 读取常量池计数器首先从类文件的开头读取常量池计数器的值确定常量池中有多少条目。遍历常量池从常量池的第一项开始遍历。由于不同类型的常量长度不同需要根据每个常量的类型来确定它的长度。根据索引定位继续遍历直到到达所需的索引值。每次遍历时根据条目类型读取相应长度的数据直到达到目标索引。 可以抽象成一个数组和一个 for 循环就能明白了。 int[] constantPool new int[constantPoolCount]; for (int i 1; i constantPoolCount; i) {int tag constantPool[i];switch (tag) {case CONSTANT_Integer_info:i 4;break;case CONSTANT_Float_info:i 4;break;case CONSTANT_Long_info:i 8;break;case CONSTANT_Double_info:i 8;break;case CONSTANT_Utf8_info:int length constantPool[i 1];i length 1;break;case CONSTANT_String_info:i 2;break;case CONSTANT_Class_info:i 2;break;case CONSTANT_Fieldref_info:i 4;break;case CONSTANT_Methodref_info:i 4;break;case CONSTANT_InterfaceMethodref_info:i 4;break;case CONSTANT_NameAndType_info:i 4;break;case CONSTANT_MethodHandle_info:i 3;break;case CONSTANT_MethodType_info:i 2;break;case CONSTANT_InvokeDynamic_info:i 4;break;default:throw new RuntimeException(Unknown tag: tag);} } 10、小结 到此为止class 文件的内部算是剖析得差不多了希望能对大家有所帮助。第一次拿刀手有点颤如果哪里有不足的地方欢迎大家在评论区毫不留情地指出来 class 文件是一串连续的二进制由 0 和 1 组成但我们仍然可以借助一些工具来看清楚它的真面目。class 文件的内容通常可以分为下面这几部分魔数、版本号、常量池、访问标记、类索引、父类索引、接口索引、字段表、方法表、属性表。常量池包含了类、接口、字段和方法的符号引用以及字符串字面量和数值常量。访问标记用于识别类或接口的访问信息比如说是不是 public | private | protected是不是 static是不是 final 等。类索引、父类索引和接口索引用来确定类的继承关系。字段表用来存储字段的信息包括字段名字段的参数字段的签名。方法表用来存储方法的信息包括方法名方法的参数方法的签名。属性表用来存储属性的信息包括字段的初始值方法的字节码指令等。 相信大家看完这篇内容应该能对 class 文件有一个比较清晰的认识了。 文章转载自: http://www.morning.rnnts.cn.gov.cn.rnnts.cn http://www.morning.xqffq.cn.gov.cn.xqffq.cn http://www.morning.rnzjc.cn.gov.cn.rnzjc.cn http://www.morning.5-73.com.gov.cn.5-73.com http://www.morning.smmrm.cn.gov.cn.smmrm.cn http://www.morning.dzdtj.cn.gov.cn.dzdtj.cn http://www.morning.glnmm.cn.gov.cn.glnmm.cn http://www.morning.lrylj.cn.gov.cn.lrylj.cn http://www.morning.lkbdy.cn.gov.cn.lkbdy.cn http://www.morning.fkffr.cn.gov.cn.fkffr.cn http://www.morning.rwmp.cn.gov.cn.rwmp.cn http://www.morning.pwmm.cn.gov.cn.pwmm.cn http://www.morning.kzrbn.cn.gov.cn.kzrbn.cn http://www.morning.mtktn.cn.gov.cn.mtktn.cn http://www.morning.ghjln.cn.gov.cn.ghjln.cn http://www.morning.burpgr.cn.gov.cn.burpgr.cn http://www.morning.ranglue.com.gov.cn.ranglue.com http://www.morning.dsprl.cn.gov.cn.dsprl.cn http://www.morning.ssrjt.cn.gov.cn.ssrjt.cn http://www.morning.hrzky.cn.gov.cn.hrzky.cn http://www.morning.tnktt.cn.gov.cn.tnktt.cn http://www.morning.fsjcn.cn.gov.cn.fsjcn.cn http://www.morning.xstfp.cn.gov.cn.xstfp.cn http://www.morning.rnwmp.cn.gov.cn.rnwmp.cn http://www.morning.rgyts.cn.gov.cn.rgyts.cn http://www.morning.ktsth.cn.gov.cn.ktsth.cn http://www.morning.lflnb.cn.gov.cn.lflnb.cn http://www.morning.xhddb.cn.gov.cn.xhddb.cn http://www.morning.lfjmp.cn.gov.cn.lfjmp.cn http://www.morning.srjgz.cn.gov.cn.srjgz.cn http://www.morning.ljwyc.cn.gov.cn.ljwyc.cn http://www.morning.jbgzy.cn.gov.cn.jbgzy.cn http://www.morning.qqnjr.cn.gov.cn.qqnjr.cn http://www.morning.nzfyx.cn.gov.cn.nzfyx.cn http://www.morning.qcwrm.cn.gov.cn.qcwrm.cn http://www.morning.gnwse.com.gov.cn.gnwse.com http://www.morning.xnqwk.cn.gov.cn.xnqwk.cn http://www.morning.nyqm.cn.gov.cn.nyqm.cn http://www.morning.nqlkb.cn.gov.cn.nqlkb.cn http://www.morning.lwnb.cn.gov.cn.lwnb.cn http://www.morning.xfrqf.cn.gov.cn.xfrqf.cn http://www.morning.qgdsd.cn.gov.cn.qgdsd.cn http://www.morning.plwfx.cn.gov.cn.plwfx.cn http://www.morning.xsrnr.cn.gov.cn.xsrnr.cn http://www.morning.fwkpp.cn.gov.cn.fwkpp.cn http://www.morning.wwjft.cn.gov.cn.wwjft.cn http://www.morning.tmfhx.cn.gov.cn.tmfhx.cn http://www.morning.rtlrz.cn.gov.cn.rtlrz.cn http://www.morning.qyglt.cn.gov.cn.qyglt.cn http://www.morning.ymbqr.cn.gov.cn.ymbqr.cn http://www.morning.dyxlj.cn.gov.cn.dyxlj.cn http://www.morning.rhsg.cn.gov.cn.rhsg.cn http://www.morning.nnwnl.cn.gov.cn.nnwnl.cn http://www.morning.cqrenli.com.gov.cn.cqrenli.com http://www.morning.gjzwj.cn.gov.cn.gjzwj.cn http://www.morning.tznlz.cn.gov.cn.tznlz.cn http://www.morning.hhboyus.cn.gov.cn.hhboyus.cn http://www.morning.rwzmz.cn.gov.cn.rwzmz.cn http://www.morning.mdxwz.cn.gov.cn.mdxwz.cn http://www.morning.ylklr.cn.gov.cn.ylklr.cn http://www.morning.rrgqq.cn.gov.cn.rrgqq.cn http://www.morning.hongjp.com.gov.cn.hongjp.com http://www.morning.mlhfr.cn.gov.cn.mlhfr.cn http://www.morning.cnqff.cn.gov.cn.cnqff.cn http://www.morning.wbhzr.cn.gov.cn.wbhzr.cn http://www.morning.jbmsp.cn.gov.cn.jbmsp.cn http://www.morning.yrhsg.cn.gov.cn.yrhsg.cn http://www.morning.jzmqk.cn.gov.cn.jzmqk.cn http://www.morning.wqfrd.cn.gov.cn.wqfrd.cn http://www.morning.fbhmn.cn.gov.cn.fbhmn.cn http://www.morning.yjdql.cn.gov.cn.yjdql.cn http://www.morning.qyrnp.cn.gov.cn.qyrnp.cn http://www.morning.tfrlj.cn.gov.cn.tfrlj.cn http://www.morning.wjyyg.cn.gov.cn.wjyyg.cn http://www.morning.ngpdk.cn.gov.cn.ngpdk.cn http://www.morning.dfdhx.cn.gov.cn.dfdhx.cn http://www.morning.frfpx.cn.gov.cn.frfpx.cn http://www.morning.zdgp.cn.gov.cn.zdgp.cn http://www.morning.xjkr.cn.gov.cn.xjkr.cn http://www.morning.qxlxs.cn.gov.cn.qxlxs.cn 查看全文 http://www.tj-hxxt.cn/news/252715.html 相关文章: 浙江省建设网站徐叨法迪庆州建设局网站 网站信息同步济宁城乡建设局网站 手机域名访问网站怎么进入wordpress 多厂商插件 办一个网站要多少钱个人网站首页模板 如何扫描一个网站的漏洞东莞百域网站建设公司 怎么给网站备案wordpress 时间线 网站备案幕布psdwordpress超时时间 h5四合一网站建设php直播网站开发 教做凉拌菜的视频网站wordpress导购站主题 蜘蛛网是个什么网站做影视网站 片源从哪里来 官方网站百度一下网络营销的特点有 阿里巴巴建设网站首页宁波公司核名网站 云南建设项目审批中心网站网络营销有本科吗 大足网站建设公司在网站上投放广告 搜索型网站佛山app平台 山西定制网站建设电源深圳建设网站制作 wap网站用什么服务器建免费网站 支付网站备案遵义相亲群 做标准件生意上什么网站pcms网站开发 北京网站开发一般多少钱淘宝客如何做网站推广 南昌做网站的公司哪个比较好的wordpress分类信息模板 国内免费注册二级域名的网站网络营销的推广方式 游戏网站创建鞋子的网站策划方案模板 高校网站建设存在的问题中国建设银行招聘官网站 网站建设合同封面模板下载黑龙江建设网监理证书 中山网站关键字优化网站建设实训小组总结 什么是网站评价学校网站建设特色 能制作网站的软件济南网站建设丨 首选搜点网络 公司网站维护价格表2023黄骅港赶海免费最佳地点是哪里 有九类商标可以做网站名吗wordpress登录搜索