自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 任务调度之Quartz(二)

Quartz集成到SpringSpring-quartz 工程Spring 在 spring-context-support.jar 中直接提供了对 Quartz 的支持。可以在配置文件中把 JobDetail、Trigger、Scheduler 定义成 Bean。定义Job<bean name="myJob1" class="org.springframework.scheduling.quartz.JobDetailFactoryBean"><property name=

2021-03-15 16:58:31 399 1

原创 任务调度之Quartz(一)

目标了解任务调度的应用场景和 Quartz 的基本特性掌握 Quartz Java 编程和 Spring 集成的使用掌握 Quartz 动态调度和集群部署的实现理解 Quartz 原理与线程模型内容定位适合没有用过 Quartz 或者只会 Quartz 基本配置的同学说明:基于最新稳定版本 2.3.0漫谈任务调度什么时候需要任务调度?账单日或者还款日上午 10 点,给每个信用卡客户发送账单通知,还款通知。如何判断客户的账单日、还款日,完成通知的发送?银行业务系统,夜间要完成跑批

2021-03-15 15:57:56 1105

原创 synchronized锁的升级1-偏向锁

在分析这几种锁的区别时,我们先来思考一个问题:使用锁能够实现数据的安全性,但是会带来性能的下降。不使用锁能够基于线程并行提升程序性能,但是却不能保证线程的安全性。这两者之间似乎是没有办法达到既能满足性能也能满足安全性的要求。hotspot虚拟机作者发现,大部分情况下,加锁的代码不仅不存在多线程竞争,而且总是由同一个线程多次获得。所以基于这样一个概率,synchronized在JDK1.6之后做了一些优化,为了减少获得锁和释放锁带来的性能开销,引入了偏向锁、轻量级锁的概念。因此,在synchro

2021-01-06 11:44:17 98

原创 MySQL架构与执行流程

MySQL架构与执行流程一. 连接器完成经典的 TCP 握手后,连接器就要开始认证你的身份,这个时候用的就是你输入的用户名和密码。如果用户名密码认证通过,连接器会到权限表里面查出你拥有的权限。之后,这个连接里面的权限判断逻辑,都将依赖于此时读到的权限。(这就意味着,一个用户成功建立连接后,即使你用管理员账号对这个用户的权限做了修改,也不会影响已经存在连接的权限。修改完成后,只有再新建的连接才会使用新的权限设置。)二. 缓存MySQL 拿到一个查询请求后,会先到查询缓存看看,之前是不是执行过这条语句

2020-07-24 16:53:01 73

原创 设计模式基本原则之依赖倒置原则(DIP)

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-06-17 11:18:32 158

原创 ReentrantLock的源码分析

J.U.C简介Java.util.concurrent 是在并发编程中比较常用的工具类,里面包含很多用来在并发 场景中使用的组件。比如线程池、阻塞队列、计时器、同步器、并发集合等等。并发包的作者是大名鼎鼎的 Doug Lea。我们在接下来的课程中,会去剖析一些经典的比较常用的组件的设计思想。LOCKLock 在 J.U.C 中是最核心的组件,前面我们讲synchronized的时候说过,锁最重要的特性就是解决并发安全问题。为什么要以 Lock 作为切入点呢?如果有同学看过 J.U.C 包中的所有组件,

2021-03-16 16:06:09 130

原创 synchronized锁的升级3-重量级锁及回顾线程的竞争机制

系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例

2021-03-16 11:15:57 196

原创 synchronized锁的升级2-轻量级锁

二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport warningswarnings.filterwarnings('ignore')import sslssl._create_default_https_context = ssl._create_unverified_context2.读入数据代码如

2021-03-16 11:10:18 98

原创 线程安全性的原理分析

初步认识Volatile一段代码引发的思考下面这段代码,演示了一个使用volatile以及没有volatile这个关键字,对于变量更新的影响public class VolatileDemo { public /*volatile*/ static boolean stop=false; public static void main(String[] args) throws InterruptedException { Thread thread=new Thread(()->{

2021-03-15 21:11:44 147

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除