上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 26 下一页
摘要: class CSer { private String name; private int age; public CSer() { } public CSer(String name, int age) { this.name = name; this.age = age; } public St 阅读全文
posted @ 2024-07-31 16:48 n1ce2cv 阅读(20) 评论(0) 推荐(0) 编辑
摘要: IO,即in和out,也就是输入和输出,指应用程序和外部设备之间的数据传递,常见的外部设备包括文件、管道、网络连接。 Java 中是通过流处理IO 的,那么什么是流? 流(Stream),是一个抽象的概念,是指一连串的数据(字符或字节),是以先进先出的方式发送信息的通道。 当程序需要读取数据的时候, 阅读全文
posted @ 2024-07-31 15:56 n1ce2cv 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 生产者-消费者,实际上包含了两类线程,一种是生产者线程用于生产数据,另一种是消费者线程用于消费数据,为了解耦生产者和消费者的关系,通常会采用共享的数据区域,生产者生产数据之后直接放置在共享数据区中,并不需要关心消费者的行为;而消费者只需要从共享数据区中获取数据,不需要关心生产者的行为。如果共享数据区 阅读全文
posted @ 2024-07-29 11:34 n1ce2cv 阅读(13) 评论(0) 推荐(0) 编辑
摘要: ArrayList 是一个线程不安全的容器,如果在多线程环境下使用,需要手动加锁,或者使用 Collections.synchronizedList() 方法将其转换为线程安全的容器。否则,将会出现 ConcurrentModificationException 异常。 CopyOnWriteArr 阅读全文
posted @ 2024-07-29 10:30 n1ce2cv 阅读(15) 评论(0) 推荐(0) 编辑
摘要: ConcurrentHashMap 是 Java 并发包 (java.util.concurrent) 中的一种线程安全的哈希表实现。 HashMap 在多线程环境下扩容会出现 CPU 接近 100% 的情况,因为 HashMap 并不是线程安全的,我们可以通过 Collections 的Map<K 阅读全文
posted @ 2024-07-27 19:08 n1ce2cv 阅读(9) 评论(0) 推荐(0) 编辑
摘要: Java 的并发集合容器提供了在多线程环境中高效访问和操作的数据结构。这些容器通过内部的同步机制实现了线程安全,使得开发者无需显式同步代码就能在并发环境下安全使用,比如说:ConcurrentHashMap、阻塞队列和 CopyOnWrite 容器等。 java.util 包下提供了一些容器类(集合 阅读全文
posted @ 2024-07-27 16:34 n1ce2cv 阅读(7) 评论(0) 推荐(0) 编辑
摘要: LockSupprot 用来阻塞和唤醒线程,底层实现依赖于 Unsafe 类(后面会细讲)。 该类包含一组用于阻塞和唤醒线程的静态方法,这些方法主要是围绕 park 和 unpark 展开。 public class Main { public static void main(String[] a 阅读全文
posted @ 2024-07-27 15:10 n1ce2cv 阅读(8) 评论(0) 推荐(0) 编辑
摘要: ThreadLocal 是 Java 中提供的一种用于实现线程局部变量的工具类。它允许每个线程都拥有自己的独立副本,从而实现线程隔离,用于解决多线程中共享对象的线程安全问题。 通常,我们会使用 synchronzed 关键字 或者 lock 来控制线程对临界区资源的同步顺序,但这种加锁的方式会让未获 阅读全文
posted @ 2024-07-27 15:09 n1ce2cv 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 定时任务 ScheduledThreadPoolExecutor 类有两个用途:指定时间延迟后执行任务;周期性重复执行任务。 JDK 1.5 之前,主要使用Timer类来完成定时任务,但是Timer有以下缺陷: Timer 是单线程模式; 如果在执行任务期间某个 TimerTask 耗时较久,就会影 阅读全文
posted @ 2024-07-27 13:02 n1ce2cv 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 并发编程领域的任务可以分为三种:简单并行任务、聚合任务和批量并行任务,见下图。 这些模型之外,还有一种任务模型被称为“分治”。分治是一种解决复杂问题的思维方法和模式;具体而言,它将一个复杂的问题分解成多个相似的子问题,然后再将这些子问题进一步分解成更小的子问题,直到每个子问题变得足够简单从而可以直接 阅读全文
posted @ 2024-07-27 12:28 n1ce2cv 阅读(22) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 26 下一页