JVM发展历程
Java发展过程中的重大事件,JVM发展历程。
Java发展过程中的重大事件,JVM发展历程。
点对点(简单模式)、一对多(工作队列模式)、发布订阅、路由、Topic通配符。
粗览Java程序的运行流程、代码的执行流程,了解JVM的整体结构、架构模型、生命周期。
主要提供一些用于执行低级别、不安全操作的方法,如直接访问系统内存资源、自主管理内存资源等。Java 无法直接操作内存,Unsafe类相当于Java的后门,可以通过C++来操作内存。
为了提高程序运行的性能,现代CPU在很多方面对程序进行了优化。例如:CPU高速缓存。尽可能的避免处理器访问主存的时间开销,处理器大多会利用缓存来提高性能。
ForkJoinPool 是ExecutorService 接口的实现,它专为可以递归分解成小块的工作而设计。Java 7开始引入了一种新的Fork/Join线程池,它可以执行一种特殊的任务(Runnable):把一个大任务拆成多个小任务并行处理,最后将子任务结果合并成最后的计算结果。充分利用多线程处理器的优势,提高程序性能。
CAS全称Compare and swap(比较并替换),CAS虽然能很高效的解决原子操作,但CAS存在三大弊端:ABA问题、自旋时间长时浪费CPU、只能保证一个共享变量的原子操作。
其实在学Spring5源码的时候,就已经罗列了各种单例模式。在此,学习过 java.util.concurrent 包后,站在多线程的角度上分析比较经典的懒汉模式的双重锁校验(又称为DCL懒汉式(Double Check Lock))。