202305-29 【小实验】启动一个 JVM 至少创建几个线程? 启动一个 JVM 进程至少创建多少个线程呢?让我们来做一个实验吧!测试使用的 JDK 版本为 RedHat Open JDK 1.8.0.275。 示例代码如下: public static void main(String[] args) { Thread.currentThr.... Read More >
202305-16 多线程与并发编程 (3/3) 1 常用线程安全类型* 1.1 JDK 基础数据类型与集合类 1.2 ArrayList 基本特点:基于数组,便于使用 index 随机访问,超过数组容量时需要扩容,扩容成本较高。 用途:大部分情况下操作一组数据都可以用 ArrayList。 原理:使用数组模拟列表,默认大小10,扩容x1.... Read More >
202305-15 多线程与并发编程 (2/3) 1 Java并发包(JUC) 1.1 JDK 核心库的包 其中,Java 的并发工具类定义在 java.util.concurrency 包中。 1.2 java.util.concurrency JUC 包中主要包括一下几种类: **锁机制类Locks : **Lock, Con.... Read More >
202305-09 多线程与并发编程 (1/3) 1 多线程基础 1.1 为什么会有多线程 本质原因是摩尔定律失效,CPU 的单核性能没有办法快速提高,从而导致多核+分布式的时代的来临。 多 CPU 核心意味着操作系统有了更多的并行计算资源可以使用。操作系统以线程作为基本的调度单元。单线程是最好处理的。线程越多,管理复杂度越高,跟我们程序员都.... Read More >