java
文章平均质量分 85
Gambler_Tu
这个作者很懒,什么都没留下…
展开
-
Thread线程安全之CAS 与 ABA 问题
CAS比较并交换,是一种『乐观锁』的实现,是用非阻塞算法来代替锁定,其中 java.util.concurrent 包下的就是借助 CAS 来实现的。但 CAS 也不是没有任何副作用,比如著名的 ABA 问题就是 CAS 引起的。原创 2023-06-08 13:34:07 · 103 阅读 · 0 评论 -
Thread之生产者消费者模型
条件变量和上面的锁(monitor)对象一样,都能造成当前线程的阻塞,造成「当前线程阻塞在 xxx 条件变量上」的情况,并且,同样也可以做到「唤醒阻塞在 xxx 条件变量上的线程」。你要通过一个 Lock 对象来获得一个或多个条件变量,并且,你在操作条件变量之前,必须要先获得派生出它的那个 Lock 对象。这里的生产者消费者模型是最简单的模型:一个生产者、一个消费者、仓库容量 1。这里的「锁对象」是广义上的锁对象,并非单指 Lock 对象。在 Java 的世界中,所有的对象都可以做「锁对象」。原创 2023-06-08 13:27:02 · 75 阅读 · 0 评论 -
Thread之ReentrantLock和Condition,Semaphore,Atomic
ReentrantLock(再入锁、可重入锁)是 Java 5 提供的锁实现,它的功能和 synchronized 基本相同。条件变量只能和锁配合使用,来控制并发程序访问竞争资源的安全。信号量通过计数器来控制对共享资源的访问。原子值保证更新操作是以线程安全的方式进行的。原创 2023-06-08 11:27:13 · 107 阅读 · 0 评论 -
Thread基础之J.U.C(FutureTask,CompletableFuture,BlockingQueue )
FutureTask 对象类似于 Thread 对象,它是 Callable 对象的运行的执行者。有两个线程 A、B, A 线程每 200ms 就生成一个 [0, 100] 之间的随机数, B 线程每 2s 中打印出 A 线程所产生的增量随机数。BlockingQueue 是 J.U.C 中提供的一个阻塞队列,用以简化并发编程,特别是简化生产者消费者模型的多线程使用场景。第二种用法和第一种用法本质上并没有太大区别,只不过是将 Callable 对象交过线程池,由线程池中的线程去执行而已。原创 2023-05-17 17:32:22 · 69 阅读 · 0 评论 -
Thread基础之线程池详解+运用
线程池+ThreadPoolExecutor+Executors 详解原创 2023-05-12 14:47:07 · 1088 阅读 · 0 评论 -
Thread基础之多线程和同步与互斥(锁)
现代化操作系统都是采用『多任务』和『分时』设计,从而诞生了『进程』的概念,而后又进一步诞生了『线程』的概念。从历史的时间线来看,先诞生的是『进程』概念,后诞生的『线程』概念。通俗地说,『程序』是死的,『进程』是活的。进程就是活着的程序。程序是在硬盘上,而进程是程序运行起来后的、在操作系统中的所有的相关内存数据和资源。电脑关机后,程序还在,但是进程就没了。』是程序的一次动态执行的过程,它对应了从代码加载、执行至执行完毕的一个完整过程。这个过程也是进程从产生、发展至消亡的过程。原创 2023-04-22 11:31:49 · 263 阅读 · 1 评论 -
JAVA类型(Type),泛型和类型擦除
java的类型,泛型,和类型擦除。原创 2023-03-22 11:55:22 · 476 阅读 · 0 评论 -
Java代理模式
代理模式是最常用的设计模式之一,也是学习的 Spring AOP 的理论基础。原创 2023-03-21 17:26:08 · 80 阅读 · 0 评论 -
Java反射
『反射』和注解、动态代理、类加载器等被称为 Java 的动态特性。原创 2023-03-21 16:20:31 · 54 阅读 · 0 评论 -
Java ClassLoader
类加载指的是将 .class 文件读入内存,并为之创建一个 java.lang.Class 对象,即程序中使用任何类时,也就是任何类在加载进内存时,系统都会为之建立一个 java.lang.Class 对象,这个 Class 对象包含了该类的所有信息,如 Filed,Method 等,系统中所有的类都是 java.lang.Class 的实例。类的加载由类加载器完成,JVM 提供的类加载器叫做系统类加载器 (上述三个) ,此外还可以通过自定义类加载器加载。双亲委派简单理解:向上委派,向下加载。原创 2023-03-20 10:02:37 · 638 阅读 · 0 评论 -
Java 的垃圾回收机制
Java 不是唯一具有垃圾回收机制的语言,甚至都不是最早具有垃圾回收机制的语言。原创 2023-03-20 09:26:30 · 248 阅读 · 0 评论 -
Java 引用的强软弱虚
Java 的引用的类型有四种:强引用、软引用、弱引用和虚引用。原创 2023-03-17 16:34:51 · 106 阅读 · 0 评论 -
JVM 的内存布局
JVM 的内存布局原创 2023-03-14 10:18:05 · 147 阅读 · 0 评论 -
Java NIO
NIO详解原创 2023-03-13 10:55:39 · 104 阅读 · 0 评论 -
Java IO详解
java IO流原创 2023-03-10 15:28:37 · 117 阅读 · 0 评论 -
接口的默认方法和静态方法
接口的默认方法和静态方法原创 2023-03-09 10:46:15 · 245 阅读 · 0 评论 -
Java8 四大函数式接口
Java8 四大函数式接口。原创 2023-03-09 10:44:24 · 75 阅读 · 0 评论 -
LocalDateTime详解
java8新特性之LocalDateTime原创 2023-03-08 14:17:46 · 11005 阅读 · 0 评论 -
Stream 详解,看完就会版。
Stream 是 Java 8 中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作。原创 2023-03-07 10:37:05 · 1697 阅读 · 1 评论 -
Sharding-JDBC教程
Sharding JDBC原创 2023-02-15 18:13:27 · 522 阅读 · 0 评论