码迷,mamicode.com
首页 >  
搜索关键字:javap    ( 217个结果
匿名类
在实际的项目中看到一个很奇怪的现象,Java可以直接new一个接口,然后在new里面粗暴的加入实现代码。就像下面这样。那么问题来了,new出来的对象没有实际的类作为载体,这不是很奇怪吗? 思考以下代码的输出是什么? Runnable x = new Runnable() { @Override pu ...
分类:其他好文   时间:2018-09-03 13:38:43    阅读次数:150
06. Java基础之String
通过学习string源码,可以知道String类其实是通过char数组来保存字符串的。String类是final类,也即意味着String类不能被继承,并且它的成员方法都默认为final方法。 一. toString Object中有个方法叫toString,所有的子类都可以重写这个方法。Syste ...
分类:编程语言   时间:2018-09-02 21:47:27    阅读次数:155
IntelliJ 结合 javap 实现class文件分析(反编译)
1. 新增Show byte code 2. 3. 在类上右键 external tools ...
分类:编程语言   时间:2018-08-31 10:51:23    阅读次数:625
反编译看java for-each循环
java 1.5发行版引入的for-each循环。(引自《Effective Java》中文版第二版 第46条) 如以下对数组列表的for-each循环示例: 在JDK1.8.0_151的环境下,利用javac工具编译上面的代码,得到ForEach.class字节码文件,然后利用javap反编译这份 ...
分类:编程语言   时间:2018-08-24 20:40:19    阅读次数:156
Java字节码常量池深度剖析与字节码整体结构分解
常量池深度剖析: 在上一次【https://www.cnblogs.com/webor2006/p/9416831.html】中已经将常量池分析到了2/3了,接着把剩下的分析完,先回顾一下我们编译的源文件为: 然后用javap -verbose查看一下编译字节码的信息,其中字符串相关的如下: 而对应 ...
分类:编程语言   时间:2018-08-11 01:23:30    阅读次数:484
字符串
1、String对象是不可变的,JDK源码的类的定义如下: 不可变的特性会带来一定的效率问题。比如“+”或“+=”操作字符串带来的性能。 示例1: 使用jdk的命令javap -c反编译,从以下结果可以看到,程序创建了一个StringBuilder对象,并使用append方法拼接,最后将对象转换成最 ...
分类:其他好文   时间:2018-08-09 01:18:17    阅读次数:129
trait
上面是带范型的,下面是正常常规的 //上面同name的trait解析 看编译后的文件 那就是被编译成了三个class Pet.class源码,Pet是一个接口,有俩个方法,由下可见trait里面并没有name这个字段. Dog.class源码 那么可以知道.下面这个语法是一个糖衣. ...
分类:其他好文   时间:2018-07-30 01:09:06    阅读次数:179
JVM字节码与Java代码层调优
jvm字节码指令我们都知道,Java源代码不会像C/C++那样直接被编译为机器码,而是被编译成字节码,这造就了Java可以跨平台的特性。JVM实际执行的也是编译后的字节码,所以想要在Java代码层进行调优,就得对字节码有一定的了解。.class文件是无法直接使用文本编辑器查看的,至于字节码的查看,我们可以使用javap这个jdk自带的工具。javap是Javaclass文件分解器,可以反编译(即对
分类:编程语言   时间:2018-07-27 21:01:47    阅读次数:149
在Java中String类为什么要设计成final?String真的不可变吗?其他基本类型的包装类也是不可变的吗?
String的不可变,String类为什么要被设计为是final的,Java String的可变性,Byte,Short,Integer,Long,Double,Float,Character,Boolean 八种基本数据的包装类,enum枚举类型 不变性分析 ...
分类:编程语言   时间:2018-07-26 10:48:45    阅读次数:175
Java并发编程原理与实战八:产生线程安全性问题原因(javap字节码分析)
前面我们说到多线程带来的风险,其中一个很重要的就是安全性,因为其重要性因此,放到本章来进行讲解,那么线程安全性问题产生的原因,我们这节将从底层字节码来进行分析。 一、问题引出 先看一段代码 运行结果:仔细发现,出现了两个84,但代码想要的结果是,每个线程每次执行,就在原来的基础上加一。因此,这里就是 ...
分类:编程语言   时间:2018-07-25 00:54:36    阅读次数:260
217条   上一页 1 ... 8 9 10 11 12 ... 22 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!