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

广东东莞房价2022最新价格怎样进行seo推广

广东东莞房价2022最新价格,怎样进行seo推广,腾讯云主机能给几个网站备案,vs做网站开发吗如果一个类有内部类#xff0c;编译将生成几个字节码文件#xff0c;规则是怎样呢#xff1f; 写在前#xff0c;自己动手丰衣足食#xff0c;结论只有个人实验支持#xff0c;没有官方数据支持#xff0c;欢迎自行查阅文档然后来指正#xff0c;轻喷#xff0c;谢谢…如果一个类有内部类编译将生成几个字节码文件规则是怎样呢 写在前自己动手丰衣足食结论只有个人实验支持没有官方数据支持欢迎自行查阅文档然后来指正轻喷谢谢。 1.普通类包含内部类的样例 public class Test319 {private static class StaticInner{ }//静态内部类private class Inner{}//成员内部类public void outerFunction1(){class PartInner3{}//局部内部类3}public void outerFunction2(){class PartInner1{}//局部内部类1class PartInner2{}//局部内部类2}public Thread thread1 new Thread(new Runnable() {//匿名内部类1Overridepublic void run() {}}, thread1);public Thread thread2 new Thread(new Runnable() {//匿名内部类2Overridepublic void run() {}}, thread2);public Thread thread3 new Thread(()-{//匿名内部类使用lambda表达式},thread3); }2.编译后生成的文件目录 3.小总结 首先包括外部类在内一共有9个类而目录中只有8个class文件可以看出一套规律全部内部类编译后都会生成字节码文件但是匿名内部类有个特点 1.成员内部类外部类名后加一个dollar接内部类名 2.静态内部类和成员内部类一样毕竟都是外部类的成员静态非静态而已 3.局部内部类在dollar后比成员内部类多了个数字 4.匿名内部类dollar后只有一个数字如果使用lambda表达式创建匿名内部类将不生成class文件否则会生成。 其次局部内部类和不使用lambda表达式创建的匿名内部类他们的class文件名都包含数字数字究竟是什么含义在没有查资料的情况下首先猜测数字顺序就是内部类声明的顺序先用两个匿名内部类来进行测试后面再说局部内部类的问题。 4.关于文件名中数字的测试匿名内部类 第一步为了观察方便给代码做些调整加入简单的方法体。 public Thread thread1 new Thread(new Runnable() {//匿名内部类1Overridepublic void run() {System.out.println(Hello World);}}, thread1);public Thread thread2 new Thread(new Runnable() {//匿名内部类2Overridepublic void run() {int i 10;i 1;}}, thread2);先声明的进行print操作后声明的进行int加法计算。通过javap命令对两个字节码进行解释结果如下 由上述过程可看出小数字的进行了print大数字的进行了int1而定义的顺序也就是print操作的在前int1操作的在后。 第二步使用相同手法在.java文件中调换两个操作的声明顺序即先声明的进行int1操作后声明的进行print操作得到了相同的结论具体不再赘述。 通过反复实验结果一致。但因为没有查阅官方文档先提出一个我自己的想法数字顺序是内部类的声明顺序同时作为区分匿名内部类的依据。 5.关于局部内部类 再回过头说局部内部类的问题。匿名内部类没有名字自然需要数字区分那么如果其他有名字的内部类名称重复怎么办此情况只能发生于局部内部类同样可以先得出一个结论数字是区分重名局部内部类的依据。 但是我发现数字顺序并不是声明顺序……不再赘述实验过程简单来说在外部类的两个方法里定义名称相同的局部内部类调换两个方法的声明位置。编译后文件目录如下 这里看出数字不再是声明顺序定义了两个局部内部类的方法我是后声明的数字反而变成了1而不是2。有种被逗了的感觉。秉持着“死也不去查资料先作作看结果”的精神实验继续……*其实是我不知道该去看官方的哪个文档也懒得去找* 新定义和新编译生成的文件目录如下 public class Test319 {public void outerFunction1(){class PartInner1{}}public void outerFunction2(){class PartInner1{}class PartInner2{}}public void outerFunction3(){class PartInner1{}class PartInner2{}class PartInner3{}} }差一点我就以为数字顺序是内部类所在方法定义的逆序了。还好所做了几组实验毕竟自己归纳就已经很不科学了更不能仅从一组实验就得出结论。中间步骤不说了直接来看最后一组实验 public class Test319 {public void outerFunction1(){class PartInner1{}}public void outerFunction3(){class PartInner1{}class PartInner2{}class PartInner3{}}public void outerFunction2(){class PartInner1{}class PartInner2{}class PartInner3{}class PartInner4{}class PartInner5{}}public void outerFunction0(){class PartInner1{}class PartInner2{}class PartInner3{}class PartInner4{}} }具体的自行细品吧直接说我的结论定义内部类个数最多的方法它里面的内部类生成的class文件名称里的数字就是最小的。 6.最终总结 大致总结在上面的【3】再总结一下关于数字的事情。 首先关于为什么会有数字因为匿名内部类没名字废话。。。局部内部类名称可能相同所以数字用来做不同内部类之间的区分这也是为什么只有他们两个编译出来的字节码文件名称中带有数字。 其次关于数字顺序匿名内部类数字顺序是声明顺序局部内部类定义内部类个数最多的方法它里面的内部类生成的class文件名称里的数字就是最小的。 以上是个人实验的结果未查阅文档有一定的不可靠性。但是懒得去找和读文档了欢迎指正。
http://www.zqtcl.cn/news/846955/

相关文章:

  • 自助建站免费建站免费建站工具有哪些
  • 海外网站导航前端静态网站开发
  • 德庆网站建设价格网站的月度流量统计报告怎么做
  • 网站哪里买外链品牌网站设计步骤
  • 网站推广 优帮云淄博网站制作公司
  • 二手书哪个网站做的好wordpress 直排主题
  • 网站开发风险分析做情诗网站
  • 怎样可以快速增加网站的反链网络广告平台有哪些
  • 学校网站源码小游戏网站审核怎么做
  • 西乡网站建设政务网站开发协议
  • 美食网站开发环境北京app网站建设
  • 郑州网站建设推广渠道重庆网站建设公司下载
  • 宜宾营销型网站建设网站建设需要什么资质
  • 重庆建网站有哪些学跨境电商要多少钱
  • 上海建设钢结构工程网站深圳电器公司排名
  • 淄博网站建设找淄深网江苏省建设斤网站
  • 免费行情软件app网站红色西安做网站印象网络
  • 宁波网站建设小程序开发聊城wap网站建设
  • 陇南网站网站建设泰安网站的建设
  • 哪个网站有介绍拿到家做的手工活建设银行网站怎么修改手机号码吗
  • 网站地图怎么用淘宝客推广网站建设
  • 外贸零售网站建设购物网站支付功能怎么做
  • 淘宝客如何做自己的网站西宁工程建设招聘信息网站
  • 天津都有哪些制作网站郑州官网首页
  • 个人网站开发模式海南省建设公司官网
  • edu网站开发做爰视频在线观看免费网站
  • 安防公司网站模板网站建设模板下载
  • 贵阳网站建设方案维护一 建设茶叶网站前的市场分析
  • 山东东营建设网官方网站百度电脑版
  • 做网站前途如何海尔网站建设推广