常见的GC算法有哪些?
Java的内存回收机制基于自动内存管理,开发人员无需手动释放内存。 垃圾回收器会自动识别不再使用的对象,并回收它们所占用的内存空间。 垃圾回收算法主要有 : 标记-清除算法:标记-清除算法分...
JVM的内存区域和作用
根据 JVM8 规范,JVM 运行时内存共分为虚拟机栈、堆、元空间、程序计数器、本地方法栈五个部分。 还有一部分内存叫直接内存,属于操作系统的本地内存,也是可以直接操作的。 JVM的内存结构主要...
面试题-JS模块化以及模块打包器
如今的前端已经是一套非常复杂的体系了,甚至延伸出来了所谓“微前端”的概念。而支撑这些复杂逻辑的前提就是模块化的概念。 但是,我在和很多的同学沟通(做技术摸底)的过程中,却发现:很多...
Java为什么要有Integer
Integer对应是int类型的包装类,就是把int类型包装成Object对象,对象封装有很多好处,可以把属性也就是数据跟处理这些数据的方法结合在一起,比如Integer就有parseInt()等方法来专门处理int型...
Spring事务的传播行为有哪些?
在Spring中对于事务的传播行为定义了七种类型分别是:REQUIRED、SUPPORTS、MANDATORY、REQUIRES_NEW、NOT_SUPPORTED、NEVER、NESTED。 支持当前事务的:REQUIRED、SUPPORTS、MANDATORY; 不支持...
并发编程的根源–有序性问题
有序性 我们知道,程序在执行前,需经过编译器或解释器,翻译成机器语言,一条程序代码,会被翻译为多条机器指令。编译器或解释器为了优化程序的执行性能,有时会改变这些指令的执行顺序。而编...
快速排序最坏复杂度,最坏是什么情况
快速排序是一种不稳定排序,它的时间复杂度为O(n·lgn),最坏情况为O(n2);空间复杂度为O(n·lgn) 快速排序最坏的情况还得看枢轴(pivot)的选择策略。在快速排序的早期版本中呢,最左面或者是...