摘要:
问题是我在完成LeetCode第23题时遇到的,我采用的是最小堆加上递归的解决方式。递归中,我对参数数组lists做了foreach,并且赋值,发现lists的值不会改变,结果是栈溢出。 当改成直接修改数组元素时AC。 for (int i = 0; i < lists.length; i++) { 阅读全文
摘要:
彻底搞清楚class常量池、运行时常量池、字符串常量池 常量池-静态常量池 也叫 class文件常量池,主要存放编译期生成的各种字面量(Literal)和符号引用(Symbolic References)。 字面量:例如文本字符串、fina修饰的常量。 int b = 2; int c = "abc 阅读全文
摘要:
本文仍然基于JDK8版本,从JDK9模块化器,类加载器有一些变动。 0 javac编译 java代码 public class Math { public static final int initData = 666; public static User user = new User(); p 阅读全文
摘要:
逃逸分析:分析变量是否逃出它的作用域 全局变量赋值逃逸 方法返回值逃逸 实例引用逃逸 线程逃逸:赋值给类变量或者可以在其他线程中访问的实例变量 public class EscapeTest { public static SomeClass someClass; // 1 public void 阅读全文
摘要:
方法内联的思想是,把目标方法的代码复制代发起调用的方法之中,避免发生真实的方法调用。 public class InlineTest { private static int add1(int x1, int x2, int x3, int x4) { return add2(x1, x2) + a 阅读全文