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

做网站 违法网站 app 公众号先做哪个

做网站 违法,网站 app 公众号先做哪个,东莞网站建设 旅游,医疗营销网站建设目录 1.一个简单的程序分析 2. a#xff0c;a#xff0c;a--在JVM中的执行过程 3. 一个好玩的xx 4.方法调用的字节码分析、多态的实现、对象头 5. try-catch-finally的字节码分析 5.1 try-catch 5.2 try-catch-finally 5.3特殊情况 5.3.1 try和finally块中都出现了re…目录 1.一个简单的程序分析 2. aaa--在JVM中的执行过程  3. 一个好玩的xx 4.方法调用的字节码分析、多态的实现、对象头 5. try-catch-finally的字节码分析  5.1 try-catch 5.2 try-catch-finally  5.3特殊情况  5.3.1 try和finally块中都出现了return 5.3.2出现多个catch块 6.加锁和解锁的字节码分析 7.静态成员变量初始化以及普通成员变量初始化的字节码分析  7.1静态成员变量初始化 7.2普通成员变量初始化  8.可变参数的实现 1.一个简单的程序分析 2. aaa--在JVM中的执行过程  3. 一个好玩的xx 在IDEA中也会提示x的值未被使用  4.方法调用的字节码分析、多态的实现、对象头 构造方法、私有方法、final方法使用的关键字是invokespecial普通的public方法使用的是invokevirtual静态方法使用的是invokestatic。当使用new方法创建对象时会先在堆内存中分配空间分配成功后会将对象的引用放到操作数栈再通过关键字dup来对栈顶元素也就是这个引用进行复制再通过invokespecial执行构造方法构造完成后这个复制的对象引用就会被弹出所以栈中还剩下原来的对象引用最后会将这个引用赋给变量倘若没有dup复制那么在构造完成后就会将仅有的对象引用弹出就无法赋给变量。静态方法不需要对象来调用直接调用即可如果使用对象调用静态方法那么在底层的字节码指令中会先让对象的引用入栈准备进行方法调用时发现是一个静态方法那么就会将这个对象的引用弹出然后直接通过invokestatic调用静态方法这就会多执行一次入栈和弹出操作。 延伸多态的实现 多态是对一个接口中的所有方法进行多种方式的实现比如一个接口Animal有一个say方法而对于不同的动物Dog和Cat要实现Animal的say方法肯定是不一样的。 //Animal接口 public interface Animal{//要实现的方法saypublic void say();}//Dog实现类 public class Dog{public void say(){System.out.println(汪汪);}}//Cat实现类 public class Cat{public void say(){System.out.println(喵喵);}}//在main方法中选择一个实现类来实现say方法Animal amnew Dog();am.say();//输出“汪汪” 那么这种多态是怎么实现的呢 首先要实现的方法必须是public的而public的方法调用使用的JVM指令是invokevirtual所以关键就在于invokevirtual是怎样调用方法的。当使用invokevirtual进行方法调用时会先通过栈帧中的对象引用找到对象也就是先找到new的Dog对象然后从对象头中的类型指针找到它是哪个类的实例即从new的这个Dog对象的对象头中的类型指针了解到这是一个Dog类的对象类型指针指向的其实是这个类的Class对象也叫做类镜像这个类的Class对象中包含一个虚方法表vtable这个vtable在类加载的链接阶段就已经根据方法的重写规则生成好了从这个表中就能获得这个类中每个方法的入口地址也就是Dog类的Class文件中有一个虚方法表这个表里包含了其所有方法的入口地址所以从这个虚方法表中就知道了Dog类的say方法在什么地方根据这个地址就可以知道方法的字节码并去执行查到了Dog类的say方法的地址后invokevirtual指令就会到这个地址找到对应的say方法并调用。虚方法表实际上不在Class对象中这里为了方便理解简化了具体结合另一篇博客JVM学习-类加载的加载部分理解。 所以如果将实现类换成Cat那么所创建的对象的对象头中的类型指针指向的就是Cat的Class对象然后从Cat类的虚方法表中找到Cat的say方法地址进而去调用。 上面涉及到了对象头对象头的一部分是Mark Word包含了对象运行时的数据比如用于快速定位对象在数组或散列表中的位置的Hash Code对象当前的寿命以及锁状态等另一部分是对象的类型指针指向类的Class对象通过这个指针可以确定该对象是哪个类的实例。 5. try-catch-finally的字节码分析  5.1 try-catch 5.2 try-catch-finally  5.3特殊情况  5.3.1 try和finally块中都出现了return 5.3.2出现多个catch块 6.加锁和解锁的字节码分析 7.静态成员变量初始化clinit以及普通成员变量初始化init的字节码分析  7.1静态成员变量初始化clinit Field表示成员变量图中标错了。 7.2普通成员变量初始化init  源代码 局部变量表 字节码分析  注意区分局部变量表中的a、b和运行时常量池中的a、b前面的a和b是有参构造方法中的两个参数后面的a、b则是两个成员变量。普通成员变量和静态成员变量都是在常量池中的所有的成员变量都是类的一部分而常量池中存放着类的相关信息。  8.可变参数的实现
http://www.zqtcl.cn/news/995816/

相关文章:

  • 成都网站建设的公司做高大上分析的网站
  • 专业企业网站建设公司成都的网站
  • 广东省建设教育协会官方网站首页怎么设置wordpress头像
  • 图书网站建设论文页游中心
  • 建网站的流程及注意事项任务网站建设
  • 河北邯郸做网站的公司哪家好辽源市住房和城乡建设局网站
  • 网站系统建设技术服务费安康市网站建设
  • 网络运行管理系统seo关键词优化方法
  • 西安学校网站建设价格徐州网页关键词优化
  • 上海哪个网站能应聘做家教的营销网站中最重要的部分是
  • 一个设计网站多少钱WordPress的简约博客主题
  • 普通的宣传网站用什么做济南市工程建设技术监督局网站
  • 合肥网站建设公司还有不dw如何制作表格网页
  • 讯美智能网站建设自己域名做网站
  • 自己做网站优化韩国外贸平台
  • 齐河建设局网站长沙市住房和建设局官方网站
  • 萧山区住房和城乡建设局网站wordpress网站合并
  • 做背景网站网站建设与维护制作网页
  • 网站建设公司知名营销型企业网站项目策划表
  • 写作网站哪个最好企业培训机构有哪些
  • 江苏省水利工程建设局网站域名不备案可以正常使用吗
  • 对网站开发语言的统计网站内容建设包括什么
  • 西安高端网站建设怎样开公司
  • 华为做网站免费签名设计在线生成
  • 网站产品整合推广爱网聊的男人是什么心理
  • 武威市建设厅网站汕头seo外包公司
  • 酒泉网站怎么做seo东莞高明网站设计
  • 沧州网站建设联系电话杭州设计公司logo
  • 网站子站点是什么意思亚马逊国际站官网
  • 影视cms哪个好苏州关键词优化搜索排名