启动一个 JVM 进程至少创建多少个线程呢?让我们来做一个实验吧!测试使用的 JDK 版本为 RedHat Open JDK 1.8.0.275。 示例代码如下:
public static void main(String[] args) {
Thread.currentThread().getThreadGroup().getParent().list();
}
2023/5/29小于 1 分钟
启动一个 JVM 进程至少创建多少个线程呢?让我们来做一个实验吧!测试使用的 JDK 版本为 RedHat Open JDK 1.8.0.275。 示例代码如下:
public static void main(String[] args) {
Thread.currentThread().getThreadGroup().getParent().list();
}
**基本特点:**基于数组,便于使用 index 随机访问,超过数组容量时需要扩容,扩容成本较高。 **用途:**大部分情况下操作一组数据都可以用 ArrayList。 **原理:**使用数组模拟列表,默认大小10,扩容x1.5,newCapacity = oldCapacity + (oldCapacity >> 1)。
本质原因是摩尔定律失效,CPU 的单核性能没有办法快速提高,从而导致多核+分布式的时代的来临。
多 CPU 核心意味着操作系统有了更多的并行计算资源可以使用。操作系统以线程作为基本的调度单元。单线程是最好处理的。线程越多,管理复杂度越高,跟我们程序员都喜欢自己单干是一个道理。《人月神话》里说加人可能干得更慢,可见多核时代的编程更有挑战。