自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 资源 (2)
  • 收藏
  • 关注

原创 HashMap之keyset() 方法底层原理

HashMap之keyset() 方法底层原理获取HashMap所有的键,通常调用方法keyset()即可返回所有的key集合。那么keyset()的工作原理是什么?它真的会维护一个Set吗,当Map的键值对发生变化,就来更新这个Set?如果真的是这样,那么HashMap的性能将会大打折扣,并且存储空间的消耗也会翻倍。其实,HashMap采用了一种比较巧妙的方式实现keyset。源码如下: public Set<K> keySet() { Set<.

2021-03-31 18:09:08 1700 1

原创 redis键空间通知

键空间每个redis服务器默认有16个db,编号为0~15,db以字典的形式保存所有的键值对,这个字典就叫做键空间。redis操作set、get、del、flushdb、randomkey等,都是对键空间的操作,都会产生键空间通知。键空间通知是通过redis的发布订阅机制实现的,通过订阅键空间通知,可以对感兴趣的redis操作或者数据的变化进行监听。当有操作时,redis会固定向两个channel: __keyspace@<db>__:<key>(键空间通知)和__keyeve

2021-01-13 18:34:58 545

原创 redis发布订阅

一般来说,消息队列有两种场景,一种是发布者订阅者模式,一种是生产者消费者模式。利用redis这两种场景的消息队列都能够实现。生产者消费者模式(PUSH/ BRPOP):生产者lpush将消息数据添加到list结构中,消费者通过rpop或者brpop消费消息,brpop是阻塞的方式,可以设置等待时长。如果有多个消费者同时监听该列表,只有一个能取到消息。发布者订阅者模式(PUB/SUB):发布者和订阅者通过channel频道解偶, 订阅者监听某个channel的消息,当发布者向该channel推送消息时

2021-01-13 18:34:12 144

原创 分布式定时任务调度平台TBSchedule技术介绍

1. 概述        TBSchedule是阿里开发的一款分布式任务调度平台,旨在将调度作业从业务系统中分离出来,降低或者是消除和业务系统的耦合度,进行高效异步任务处理,目前被广泛应用在阿里巴巴、淘宝、支付宝、京东、聚美、汽车之家、国美等很多互联网企业的流程调度系统中。TBSchedule调度平台关键字        TBSchedule有很多特性,包括批量任务,多主机,多线程,动态扩展,实时...

2018-05-30 16:49:06 5806

原创 分布式定时任务框架Uncode-Schedule技术介绍

1. 概述        Uncode-Schedule是一款分布式定时任务调度框架,是由个人开源的,目前还在更新中。Uncode-Schedule 是基于 zookeeper+quartz/springtask 的分布式任务调度组件,非常小巧,它的理念是uncode(无码),无需任何修改就可以使quartz/spring task具备分布式特性,确保所有任务在集群中不重复,不遗漏的执行。它的主要...

2018-05-30 16:28:01 1863

原创 分布式调度平台Elastic-Job失效转移功能的bug

试了各种办法模拟失效转移都不成功,仔细研究了源码,发现源码中有两个小bug。class JobCrashedJobListener extends AbstractJobListener { @Override protected void dataChanged(final String path, final Type eventType, final String data...

2018-05-29 17:02:35 1649 6

原创 分布式定时任务调度平台Elastic-Job技术详解

        在我们的项目当中,使用定时任务是避免不了的,我们在部署定时任务时,通常只部署一台机器。部署多台机器时,同一个任务会执行多次。比如给用户发送邮件定时任务,每天定时的给用户下发邮件。如果部署了多台,同一个用户将发送多份邮件。只部署一台机器,可用性又无法保证。Elastic-Job框架可以帮助解决定时任务在集群部署情况下的协调调度问题,保证任务不重复不遗漏的执行。        Elas...

2018-05-29 16:53:04 18989 2

文档资料检索python源码,对Gensim做了封装

文档资料检索python源码,对Gensim做了封装,通过测定待匹配文本与数据集的相似度,检索出最匹配的文档资料

2018-08-30

mysql-font

mysql-font是一款非常简洁、实用的MYSQL客户端,非常灵活,易于使用。

2017-03-26

空空如也

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

TA关注的人

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