使用javap分析Java的字符串操作

2018-10-22
阅读 2 分钟
1.5k
我们看这样一行简单的字符串赋值操作的Java代码。 String a = "i042416"; 使用命令行将包含了这行代码的Java类反编译查看其字节码: javap -v constant.ConstantFolding 我们看到字符串 "i042416" 被Java编译器加到了常量池里。 Java代码 String a = "i042416"被翻译成了下面两句字节码: ldc #16: 首先JVM底层的原生方...

使用javap深入理解Java整型常量和整型变量的区别

2018-10-22
阅读 3 分钟
2.2k
我下图代码第五行和第九行分别定义了一个整型变量和一个整型常量: static final int number1 = 512; static int number3 = 545; Java程序员都知道两者的区别。 下面我们就用javap将.class文件反编译出来然后深入研究Java里整型变量和整型常量的区别。 使用命令行javap -c constant.ConstantFolding查看.class文件反编译...

Java动态代理之InvocationHandler最简单的入门教程

2018-10-22
阅读 4 分钟
2.3k
网上关于Java的动态代理,Proxy和InvocationHandler这些概念有讲解得非常高深的文章。其实这些概念没有那么复杂。现在咱们通过一个最简单的例子认识什么是InvocationHandler。值得一提的是,InvocationHandler在Spring框架实现中被广泛使用,这意味着我们吃透了InvocationHandler,就为将来的Spring源码学习打下一个坚实...

使用JDK自带的jmap和jhat监控处于运行状态的Java进程

2018-10-22
阅读 3 分钟
3.9k
对于处于运行状态中的Java进程,JDK自带了很多工具,允许Java开发人员监控运行进程中的各种状态,比如该进程内部创建了多少个对象实例,消耗了多少内存,等等。

使用JDK自带的VisualVM进行Java程序的性能分析

2018-10-18
阅读 3 分钟
6.7k
VisualVM是JDK自带的一个用于Java程序性能分析的工具,JDK安装完毕后就有啦,在JDK安装目录的bin文件夹下能找到名称为jvisualvm.exe。