
字节码
文章平均质量分 80
没有格子衬衫的程序员
某手机厂商全网搜索引擎开发者
展开
-
字节码层面理解--java中的finally是如何执行的
finally一直是java笔试中出现概率较高的知识点,我之前在面试的时候碰到也是很迷糊,今天就通过字节码来看finally最后究竟是怎样执行的,只要明白了原理,面试自然迎刃而解。阅读本文需要耐心,就算不懂字节码,多看看也就明白了,等哪天有空写一篇字节码入门的教程。废话不多说,进入正题。1.try...catch的机制--异常表java中的finally是不可以单独使用的,只能结合try使...原创 2019-12-24 02:00:37 · 1407 阅读 · 0 评论 -
字节码层面理解java中i++和++i的区别
还是让我们从一道面试题说起吧,代码如下,你知道方法执行最后会输出什么吗?public static void main(String[] args) { int i = 0; for (int j = 0; j < 50; j++) { i = i++; } System.out.println(i);}不卖关子,最后输出结果是0,...原创 2019-12-22 01:39:49 · 7993 阅读 · 30 评论 -
Java子类和父类的初始化执行顺序
有个朋友在优快云评论区问我,java子类和父类初始化时各个代码块的执行顺序,我本来写好了一大段回复,点击发表回复,结果没有回复成功,我写的评论也不见了。。。csdn的评论区编辑体验本来就不好,然后还有这种回复失败的问题,这体验真是一言难尽,干脆再写一篇文章,从字节码层面来看这个顺序问题,希望可以帮到更多朋友。吐槽完毕,回归正题。要明白子类和父类的初始化执行顺序,只需要知晓以下三点,就不会...原创 2019-12-22 00:01:42 · 4049 阅读 · 1 评论 -
从京东面试题看java类和对象的初始化
京东的一道java面试题,类A和类B的代码如下,问题:A a = new B(); 输出结果及正确的顺序?//A.javapublic class A { static { System.out.println("A init"); } public A() { System.out.println("A Instance"); ...原创 2019-12-21 20:41:04 · 1763 阅读 · 3 评论 -
字节码层面理解枚举类Enum在switch中的使用
1.本文从字节码层面来探究,switch的case变量值为java枚举Enum时,编译器究竟做了什么工作。2.源码如下枚举类Colorpublic enum Color { RED,BLUE,YELLOW}switch中使用Colorpublic class MySwitchTest { int chooseColor(Color c){ ...原创 2019-12-16 12:10:16 · 1208 阅读 · 0 评论 -
字节码层面理解Switch
1. 源码如下,test(int)方法使用switch语法,根据参数a的值返回不同字符串。public class MySwitchTest { public String test(int a){ switch (a){ case 1: return "a"; case 2: ...原创 2019-12-16 10:43:48 · 1111 阅读 · 0 评论 -
字节码层面理解java枚举Enum
1.自定义一个枚举类型Color.javapublic enum Color { RED,BLUE,YELLOW}2.javac编译Color.java,生成Color.class。javac的时候记得添加-g选项才会生成局部变量表。javac -g Color.java3.javap反编译Color.class,重定向到Color.txt-v 输出详细信息-...原创 2019-12-13 22:29:24 · 1851 阅读 · 0 评论