摘要:
1、Java内存模型(JMM) 原子性:synchronized 可见性:synchronized,volatile,final 有序性:synchronized,volatile synchronized加锁都可以保证 volatile可以保证可见性和有序性(禁止指令重排) 8大happens-b 阅读全文
摘要:
1、Java执行过程 Java文件通过javac静态编译为class文件 class文件有2种方式执行:解释执行、JIT即时编译后执行 通常情况下 默认解释器边解释边运行,但对于一些热点代码会首先编译为机器码,缓存起来,后续执行执行缓存的机器码即可,提升执行效率 2、热点代码 Java采用计数器方式 阅读全文
摘要:
1、定义 逃逸分析的是一个对象的动态作用域,2种情况 方法逃逸:对象通过参数传递传给了另一个方法 线程逃逸:对象有另外的线程访问 逃逸分析的目的是确认一个对象是否只可能当前线程能访问 2、应用 如果对象分析后不能发生逃逸,如方法中创建的临时对象,则JVM可进行如下优化 1、栈上分配 在栈上分配对象, 阅读全文