valotile与内存屏障

1. volatile1.1 volatile 的内存语义当写一个 volatile 变量时,JMM 会把该线程对应的本地内存中的共享变量值立即刷新回主内存中当读一个 volatile 变量时,JMM 会把该线程对应的本地内存设置为无效,直接从主内存中读取共享变量所以 volatile 的写内存语义


数据类型隐式转换问题

生产环境出现一个 bug,接口的其中一个结果返回为负数,这个功能主要对店铺的已发货订单做时效分析(发货时间-审核订单时间)/发货订单数量


Java NIO

Java NIO (New IO) 是 Java 的替代 IO API,意思是标准 Java IO 和 Java Networking API 的替代。Java NIO 提供了与传统 IO API 不同的 IO 编程模型。注意:有时 NIO 被称为非阻塞 IO。然而,这并不是最初的意思。因为部分 NIO API 实际上是阻塞的。例如文件 API,所以说“非阻塞”会有点误导


JVM编译优化

1. 字节码是如何运行的?解释:解释执行优势在于没有编译的等待时间,性能相对差一些编译:编译执行运行效率会高很多,一般认为比解释执行快一个数量级,但是带来了额外的开销AOP:Java 9 提供的将所有代码编译成机器码执行1.2 介绍一下 JIT 和分层编译C1 编译器:是一个简单快速的编译器主要关注