排序
垃圾回收器CMS和G1的区别
区别一:使用的范围不一样 CMS收集器是老年代的收集器,可以配合新生代的Serial和ParNew收集器一起使用 G1收集器收集范围是老年代和新生代。不需要结合其他收集器使用 区别二:STW的时间 CMS收...
CPU密集型和IO密集型 N+1和2N具体是如何计算的?
N代表的是CPU核数 CPU密集型:corePoolSize = CPU核数 + 1 IO密集型:corePoolSize = CPU核数 * 2 在《Java并发编程实践》中,是这样来计算线程池的线程数目的: 这种计算方式,我们需要知道上...
什么是Java内存模型(JMM)?
JMM即Java Memory Model,Java内存模型。 它的基本目标是: 确保基本的读写操作的原子性:多个线程对一个变量的读写操作是不可分割的 确保线程的可见性:一个线程对共享变量的修改,能够被其他...
Java为什么是跨平台的?
Java 能支持跨平台,主要依赖于 JVM 关系比较大。 JVM也是一个软件,不同的平台有不同的版本。我们编写的Java源码,编译后会生成一种 .class 文件,称为字节码文件。Java虚拟机就是负责将字节码...
Java为什么是跨平台的?
Java 能支持跨平台,主要依赖于 JVM 关系比较大。 JVM也是一个软件,不同的平台有不同的版本。我们编写的Java源码,编译后会生成一种 .class 文件,称为字节码文件。Java虚拟机就是负责将字节码...
Spring事务的传播行为有哪些?
在Spring中对于事务的传播行为定义了七种类型分别是:REQUIRED、SUPPORTS、MANDATORY、REQUIRES_NEW、NOT_SUPPORTED、NEVER、NESTED。 支持当前事务的:REQUIRED、SUPPORTS、MANDATORY; 不支持...
并发编程的根源–有序性问题
有序性 我们知道,程序在执行前,需经过编译器或解释器,翻译成机器语言,一条程序代码,会被翻译为多条机器指令。编译器或解释器为了优化程序的执行性能,有时会改变这些指令的执行顺序。而编...













