
【进阶】从头开始学Java
文章平均质量分 75
橙来橙去
这个作者很懒,什么都没留下…
展开
-
【Mybatis】由浅入深分析源码
在我们对Mybatis进行按部拆解后,对源码的设计和采用的一些设计模式有了一定程度的掌握。这些思路可以很好的辅佐我们日常进行需求开发。其中装饰器模式、代理模式、工厂模式尤为重要。原创 2023-09-05 10:55:03 · 99 阅读 · 0 评论 -
【并发编程】ReadwriterLock 读写锁
在一些需要对一个资源进行频繁的读写操作且读多写少的情况,那么通常使用的是读写锁。原创 2023-08-23 16:03:55 · 151 阅读 · 0 评论 -
【并发编程】ReetrantLock
AQS是整个并发锁机制的核心,大致的设计结构图如下:这个是一个简易版本设计图,实际上原理的设计图会更加细致与巧妙。具体的分析文章再出一篇。我们先初步了解一下这个AQS是怎么运行以及加锁的处理。当state!=0时, 当前线程被一个Node对象接收,如果存在头部节点下将当前线程添加到队列尾部,其中 prev指向上一个节点。没有头部节点,该线程就是头部节点。当state==0时,当前线程进行CAS操作,尝试将state=1。如果成功当前线程被当做持有锁线程。原创 2023-08-22 10:12:37 · 135 阅读 · 1 评论 -
【并发编程】手写一个简易Lock锁
之前的文章说过,synchronized的关键字存在一些缺陷,那么有没有办法可以解决呢?我们从缺陷下手:无法控制阻塞时长、阻塞不可中断。我们先手写一个lock锁,然后再去看ReentrantLock的实现。原创 2023-08-18 15:13:42 · 211 阅读 · 1 评论 -
【多线程】线程通信、线程协作
线程通信,个人理解是指在java进程中的线程与线程之间的通信,通常需要通信的线程都会维护一个信号标记,用于告知等待消息、发送消息的线程。线程协作,个人理解是指一个任务是由线程与线程的配合而完成任务。原创 2023-08-17 15:31:03 · 189 阅读 · 1 评论 -
【多线程】死锁的发生与解决
死锁是在多线程处理任务中,比较有挑战性的问题。通常死锁的发生会随在服务不响应请求等其他情况。原创 2023-08-16 10:08:18 · 246 阅读 · 1 评论 -
【多线程】线程安全与数据同步
个人理解线程安全是对在多线程访问同一个资源下该资源的最终结果一定是开发者想要的,不会出现错误或者遗漏的情况。所以在开发中多线程可能会存在的问题。原创 2023-08-15 10:25:05 · 224 阅读 · 1 评论 -
CPU核心数,线程数,时间片轮转机制解读
Java的调度机制通过线程调度器实现,采用抢占式调度和时间片轮转的策略,以及支持线程优先级和同步机制,来协调和管理线程的执行顺序,从而实现多线程程序的并发执行。原创 2023-08-11 12:24:48 · 902 阅读 · 1 评论