
java
文章平均质量分 62
冬冬冬冬白
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
任务调度之xxl-job
前言因为公司最近系统升级,准备替换掉Quartz使用xxl-job,近期学习了一下xxl-job,记录下笔记我们知道Quartz是由JobDetail(任务)、Trigger(执行器)和Scheduler(调度器)组成,xxl-job其实就是将Quartz单机代码进行解耦,拆分成多个模块运行为什么使用xxl-job放弃Quartz?调度逻辑Scheduler和任务耦合在一个项目中,当任务随着调度任务逐渐增加,调度任务的逻辑逐渐加重,调度系统整体性能会受影响Quartz集群节点见负载结果是随机的原创 2021-11-02 23:11:43 · 987 阅读 · 0 评论 -
java任务调度组件-Quartz
一、什么是Quartz?Quartz 是一个完全由 Java 编写的开源作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制。Quartz 可以与 J2EE 与 J2SE 应用程序相结合也可以单独使用。Quartz 允许程序开发人员根据时间的间隔来调度作业。Quartz 实现了作业和触发器的多对多的关系,还能把多个作业与不同的触发器关联。二、Quartz可以做什么?指定一个特定的时间去执行特定的任务。每秒/每分/每小时/每天/每天几点几分去执行信用卡账单通知,每原创 2021-11-01 22:53:23 · 527 阅读 · 0 评论 -
分布式全局ID生成策略
传统应用中,ID生成策略使用mysql自增序列auto_increment,过度依赖数据库,有一定性能瓶颈;在分库分表的数据库中、之前一张数据庞大想要拆分的表,自增策略就会出现问题。分布式全局ID由此而生Reids:我们知道redis是单线程的,通过Incr可以实现自增。在分布式系统中也可以使用redis来实现自增序列,且每条数据的id均不一样。UUID:UUID是通用唯一识别码(Universally Unique Identifier)的缩写,用它可以产生一个号称全球唯一的ID,来保证每条数据原创 2021-02-01 23:14:38 · 127 阅读 · 0 评论 -
Spring IOC容器提供的扩展接口
前言了解Spring容器的扩展点可以帮助我们完成特定任务,如何精通 Spring 就看你有没有掌握好 Spring 有哪些扩展点。Spring Ioc 容器主要有这么几个拓展点:BeanFactoryPostProcessor和BeanPostProcessor,他们分别是在构建 BeanFactory 和构建 Bean 对象时调用;还有就是 InitializingBean 和 DisposableBean, 他们分别是在 Bean 实例创建和销毁时被调用。用户可以实现这些接口中定义的方法,Sprin原创 2021-01-28 22:56:20 · 298 阅读 · 0 评论 -
Spring注入@Qualifier逻辑分组
创建多个具有相同类型的 bean 时,使用类注入会报错,在这种情况下,你可以使用 @Qualifier(bean名字) 注释和 @Autowired 来注入。如果存在多个bean使用同一个@Qualifier修饰的注解,可以通过注入List来分组,所有添加该注解的类都会注入到List当中实体类Rumenz/SuperRumenzpackage com.rumenz;public class Rumenz{ private Integer id; private Strin.原创 2021-01-28 00:39:40 · 305 阅读 · 0 评论 -
Spring注解编程
@Configuration声明在类上面,表示把这个类作为IoC容器@ComponentScan声明在启动类上,该注解默认会扫描该类所在包及所有子类包中所有配置类,或手动在参数中添加扫描路径@Scope指定bean作用域,应用于方法上,默认是单例:prototype:原型,多例;singleton:单例;request:主要用于web模块,同一次请求只创建一个实例;session:主要应用于web模块,同一个session只创建一个对象@Lazy表示延迟初始化,调用getBean时才创建对象,原创 2021-01-27 23:11:27 · 179 阅读 · 0 评论 -
springboot自动装配
平时经常用springboot,可是对其自动装配功能却不甚了解。为什么application上开启@EnableAutoConfiguration注解就可以将很多类注入bean呢。下面我们来引入实际案例。使用方面的东西还是很有用处的。下面来引入一个场景。我们有两个系统A系统和B系统,其中A系统提供工具类给B系统使用,且包路径不一样,注入spring比较麻烦,那么有什么优雅的办法将需要的类注入spring吗。可以使用注解 + @Import+@Conditional来模拟springboot自动装配首先原创 2021-01-27 22:13:26 · 188 阅读 · 0 评论 -
位运算
前言我们都知道对于有符号数据类型,二进制最左端的数字为符号位,0代表正,1代表负,这里先介绍几个概念逻辑左移=算术左移:高位溢出,低位补0逻辑右移:低位溢出,高位补0算术右移:低位溢出,高位用符号位的值补比如一个有符号位的8位二进制数10101010,[]是添加的数字逻辑左移一位:0101010[0]逻辑左移两位:101010[00]算术左移一位:0101010[0]算术左移两位:101010[00]逻辑右移一位:[0]1010101逻辑右移两位:[00]101010算术右移一位:[转载 2021-01-23 15:44:47 · 190 阅读 · 0 评论 -
二进制与十进制相互转换
十进制转二进制方法为:十进制数除2取余法,即十进制数除2,余数为权位上的数,得到的商值继续除2,依此步骤继续向下运算直到商为0为止。 public static void test2(){ //16转2进制// 16/2 0// 4 0// 2 0// 1 0// 0 1// 结果 10000}二进制转十进制方法原创 2021-01-23 15:28:25 · 102 阅读 · 0 评论 -
JUC之Condition实现原理
Condition是一个多线程协调通信的工具类,Condition是对线程进行控制管理的接口,具体实现是AQS的一个内部类ConditionObject,可以让某些线程一起等待某个条件(condition),只有满足条件时,线程才会被唤醒Condition是一个接口,这些是抽象方法我们本篇文章主要看的就是await()和signal()首先了解一下AQS同步队列与等待队列数据结构等待队列是一个FIFO单向链表同步队列是一个FIFO双向链表下面来看一个生产者消费者对Condition的应原创 2021-01-21 01:08:50 · 367 阅读 · 3 评论 -
RedisTemplate hash操作如何使用string类型
使用template调用方法,返回值都是object类型因为opsForHash的时候,会返回具体的redis默认操作类,可以指定范型类的HashOperations<K, HK, HV>所以在操作hash之前,需要将<K, HK, HV>换成自己需要的String@Component@ConditionalOnBean(RedisTemplate.class)public final class RedisUtil implements ApplicationConte原创 2021-01-19 16:11:12 · 556 阅读 · 0 评论 -
时区参照表
记录下时间,使用时查看&lt;?xml version="1.0" encoding="UTF-8"?&gt; 中国标准时间 (北京) 香港时间 (香港) 台北时间 (台北) 首尔 日本时间 (东京) 美国东部时间 (纽约) 美国山区时间 (丹佛) 美国中部时间 (哥斯达黎加) 美国中部时间 (芝加哥) 美国中部时间 (墨西哥城) 美国中部时间 (里贾纳...转载 2019-01-03 11:39:39 · 846 阅读 · 0 评论