![](https://img-blog.csdnimg.cn/8d6627f4d8f342d098f1860a747776ef.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java学习屋
文章平均质量分 84
Java学习相关。JDK编码,Spring等文章博客。
杭州水果捞编程
Java后端 | 专注分享、用心雕琢
展开
-
xxl-job调度原来是这样实现的
日常都在使用,但是对于xxl-job是怎么实现调度的,了解的又有多少呢?本文通过对xxl-job源码进行分享,帮助大家了解下这一广泛使用的调度任务,到底是怎么实现的。负责管理调度信息,按照调度配置发出调度请求,自身不承担业务代码。调度系统与任务解耦,提高了系统可用性和稳定性,同时调度系统性能不再受限于任务模块;支持可视化、简单且动态的管理调度信息,包括任务新建,更新,删除,GLUE开发和任务报警等,所有上述操作都会实时生效,同时支持监控调度结果以及执行日志,支持执行器Failover。原创 2023-05-30 22:13:42 · 555 阅读 · 0 评论 -
synchronized前生今世「与volatile区别 原理」
Java语言的关键字,可用来给对象和方法或者代码块加锁,当它锁定一个方法或者一个代码块的时候,同一时刻最多只有一个线程执行这段代码。当两个并发线程访问同一个对象Object中的这个加锁同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。然而,当一个线程访问object的一个加锁代码块时,另一个线程仍可以访问该object中的非加锁代码块。原创 2023-05-27 20:08:33 · 63 阅读 · 1 评论 -
AQS看这一篇就够了「AbstractQueuedSynchronizer 从源码角度剖析」
/该抽象定义state各种获取方法,抽象资源的获取方法 //最核心的方法 就是 acquire() ,acquireShared(int) public abstract class AbstractQueuedSynchronizer extends AbstractOwnableSynchronizer implements java . io . Serializable {原创 2023-05-27 20:08:53 · 105 阅读 · 1 评论 -
可见性和原子性到底什么区别?「剖析volatile原理」
volatile定义的变量,每次获取时候都从cpu主存获取,禁止从cpu缓存获取。原创 2023-05-27 20:11:28 · 53 阅读 · 1 评论 -
一文读懂ThreadLocal「线程变量原理 源码剖析」
叫做线程变量,意思是中填充的变量属于当前线程,该变量对其他线程而言是隔离的,也就是说该变量是当前线程独有的变量。为变量在每个线程中都创建了一个副本,那么每个线程可以访问自己内部的副本变量。ThreadLoal变量,线程局部变量,同一个所包含的对象,在不同的Thread中有不同的副本。因为每个Thread内有自己的实例副本,且该副本只能由当前Thread使用。这是也是命名的由来。既然每个Thread有自己的实例副本,且其它Thread不可访问,那就不存在多线程间共享的问题。提供了线程本地的实例。原创 2023-05-27 16:00:00 · 305 阅读 · 0 评论 -
Java线程池攻略<二>:四种常用线程池剖析
基于共有四种类型线程池。原创 2023-05-27 15:56:08 · 361 阅读 · 1 评论 -
Java线程池攻略<一>:初识ThreadPoolExecutor
是一个 ExecutorService,它使用可能的几个池线程之一执行每个提交的任务,通常使用 Executors 工厂方法配置。原创 2023-05-27 15:55:09 · 70 阅读 · 1 评论 -
Java设计模式,看这一篇就够了!
设计模式的目标:提升代码重用性、可读性、可扩展性、可靠性,还能降低系统中类与类之间的耦合度,使程序呈现高内聚低耦合的特性。程序员在开始工作和学习的初期,要优先学习一下设计模式,逐渐应用到工作当中。写出高质量代码。设计模式的作用,主要有以下4点:1.代码重用性相同功能的代码不用多次编写。2.可读性设计模式使程序易读,编程规范性,方便其他程序员的阅读和理解。3.可扩展性设计模式能使编写的程序具有良好的可扩展性,满足系统设计的开闭原则。原创 2023-05-26 21:10:37 · 638 阅读 · 2 评论