排序
CPU密集型和IO密集型 N+1和2N具体是如何计算的?
N代表的是CPU核数 CPU密集型:corePoolSize = CPU核数 + 1 IO密集型:corePoolSize = CPU核数 * 2 在《Java并发编程实践》中,是这样来计算线程池的线程数目的: 这种计算方式,我们需要知道上...
垃圾回收器CMS和G1的区别
区别一:使用的范围不一样 CMS收集器是老年代的收集器,可以配合新生代的Serial和ParNew收集器一起使用 G1收集器收集范围是老年代和新生代。不需要结合其他收集器使用 区别二:STW的时间 CMS收...
怎么排查死锁?
产生死锁需要满足以下 4 个条件: 互斥条件:指运算单元(进程、线程或协程)对所分配到的资源具有排它性,也就是说在一段时间内某个锁资源只能被一个运算单元所占用。 请求和保持条件:指运算...
java是解释型语言还是编译型语言
首先在Java经过编译之后生成字节码文件,接下来进入JVM中,就有两个步骤编译和解释。 如下图: 编译性: Java源代码首先被编译成字节码,JIT 会把编译过的机器码保存起来,以备下次使用。 解释性...
常见的GC算法有哪些?
Java的内存回收机制基于自动内存管理,开发人员无需手动释放内存。 垃圾回收器会自动识别不再使用的对象,并回收它们所占用的内存空间。 垃圾回收算法主要有 : 标记-清除算法:标记-清除算法分...
JVM的内存区域和作用
根据 JVM8 规范,JVM 运行时内存共分为虚拟机栈、堆、元空间、程序计数器、本地方法栈五个部分。 还有一部分内存叫直接内存,属于操作系统的本地内存,也是可以直接操作的。 JVM的内存结构主要...
面试题-JS模块化以及模块打包器
如今的前端已经是一套非常复杂的体系了,甚至延伸出来了所谓“微前端”的概念。而支撑这些复杂逻辑的前提就是模块化的概念。 但是,我在和很多的同学沟通(做技术摸底)的过程中,却发现:很多...













