排序
JVM的内存区域和作用
根据 JVM8 规范,JVM 运行时内存共分为虚拟机栈、堆、元空间、程序计数器、本地方法栈五个部分。 还有一部分内存叫直接内存,属于操作系统的本地内存,也是可以直接操作的。 JVM的内存结构主要...
常见的GC算法有哪些?
Java的内存回收机制基于自动内存管理,开发人员无需手动释放内存。 垃圾回收器会自动识别不再使用的对象,并回收它们所占用的内存空间。 垃圾回收算法主要有 : 标记-清除算法:标记-清除算法分...
Spring事务的传播行为有哪些?
在Spring中对于事务的传播行为定义了七种类型分别是:REQUIRED、SUPPORTS、MANDATORY、REQUIRES_NEW、NOT_SUPPORTED、NEVER、NESTED。 支持当前事务的:REQUIRED、SUPPORTS、MANDATORY; 不支持...
Java并发Map的get方法要加锁吗
不需要加锁。 保证 put 的时候线程安全之后,get 的时候只需要保证可见性即可,而可见性不需要加锁。 具体是通过Unsafe#getXXXVolatile 和用 volatile 来修饰节点的 val 和 next 指针来实...
什么是Java内存模型(JMM)?
JMM即Java Memory Model,Java内存模型。 它的基本目标是: 确保基本的读写操作的原子性:多个线程对一个变量的读写操作是不可分割的 确保线程的可见性:一个线程对共享变量的修改,能够被其他...
并发编程的根源–有序性问题
有序性 我们知道,程序在执行前,需经过编译器或解释器,翻译成机器语言,一条程序代码,会被翻译为多条机器指令。编译器或解释器为了优化程序的执行性能,有时会改变这些指令的执行顺序。而编...
Java为什么要有Integer
Integer对应是int类型的包装类,就是把int类型包装成Object对象,对象封装有很多好处,可以把属性也就是数据跟处理这些数据的方法结合在一起,比如Integer就有parseInt()等方法来专门处理int型...













