思路 开启打印GC日志的参数;-XX:+PrintGCDetails-XX:+PrintGCTimeStamps-XX:+PrintGCDate...
Parallel GC日志文件示例 server模式下模式的GC; 相关参数:-XX:+PrintGCDetails-XX:+PrintGCTi...
尽量重用对象,不要循环创建对象,比如在for循环中进行字符串拼接,或者用原型模式提升性能; 容器类初始化的时候指定长度,比如List coll...
类、方法、变量尽量指定fina修饰; 字符串拼接背后不一定是StringBuilder,还可能发生了编译时替换; 用final修饰的字符串在拼接...
程序输出 hello 程序运行分析 通过字节码可以看到,程序在执行return之前,执行了finally块中的代码; finally块中的代码对...
答案 如果在循环体中用 “+” 拼接字符串,每次循环都会new一个StringBuilder;而在循环体外面先把StringBuilder创建出...
结论 效率一样! 原因 2个for循环中的代码,编译成字节码完全一样,故for循环中的i++和++i效率一样;
栈上分配 将线程独有的对象打散分配在Java栈上,而不是堆上;栈上的对象随着方法调用的结束而销毁,继而不需要GC便可回收内存空间; 逃逸分析:分...
常量入栈(操作数栈)指令 bipush[1] sipush[2] aconst_null iconst_m1[3] iconst_x[4] lc...
文集作者