自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zxiaofan.com

Life is all about choices!生命不息,学习不止。By : zxiaofan.com

原创 2020双十一AutoJs自动领喵币再次来袭【天猫、淘宝、支付宝】

2020年双11又快到了,再次来凑个热闹。天猫、淘宝、支付宝需要各种签到、逛店铺领喵币,一个店铺15S,领完所有喵币,估摸着半小时就没了,作为一名程序员,再次来为大家解放双手了。 19年的时候我基于AutoJs写了个脚本自动领喵币,NOW,我又来了。 本文关键字:双十一、自动领喵币、A...

2020-10-24 23:48:39 30 0

原创 玩转Redis-删除了两百万key,为什么内存依旧未释放?

删除了两百万key,为什么内存依旧未释放? 如何查看Redis内存数据 内存为何不释放 什么是内存碎片 Redis的内存碎片是如何形成的 如何释放内存 生产环境整理理内存碎片的注意事项

2020-10-08 23:39:19 117 0

原创 玩转Redis-Redis中布隆过滤器的使用及原理

《玩转Redis》系列文章主要讲述Redis的基础及中高级应用。本文是《玩转Redis》系列第【11】篇,本文关键字:玩转Redis、Bloom filter、布隆过滤器、无偏hash函数; - 布隆过滤器的底层原理 - 布隆过滤器的底层结构 - 最佳hash函数数量与错误率的关系 -...

2020-09-21 00:40:25 328 0

原创 玩转Redis-HyperLogLog原理探索

《玩转Redis》系列文章主要讲述Redis的基础及中高级应用。本文是《玩转Redis》系列第【10】篇。本文关键字:玩转Redis、HyperLogLog原理、基数缓存、密集存储结构和稀疏存储结构。

2020-08-16 19:19:53 785 1

原创 玩转Redis-HyperLogLog统计微博日活月活

《玩转Redis》系列文章主要讲述Redis的基础及中高级应用。本文是《玩转Redis》系列第【9】篇。 日活数据统计面临哪些挑战? HyperLogLog必知,HyperLogLog和Sets的区别,HyperLogLog命令对比分析,HyperLogLog命令注意事项。HyperLogLog的...

2020-07-19 19:14:21 222 0

原创 玩转Redis-京东签到领京豆如何实现
原力计划

- 京东签到日历的产品逻辑是怎样的? - 传统关系型数据库该如何实现? - 表设计初级玩法(**80%的人只会这么玩**) - 表设计进阶玩法(**高级程序员才会的玩法**) - 查询签到情况及签到的技术实现 - 基于Redis的Bitmaps实现签到日历(**瞬间提升档次**) ...

2020-07-12 20:15:11 354 0

原创 玩转Redis-老板带你深入理解分布式锁
原力计划

公司交给了萌新小猿一个光荣而艰巨的项目,该项目需要使用分布式锁,这可难道了小猿,只是听说过分布式锁很牛掰,其他就一概不知了,唉不懂就问呗,遂向老板请教。 老板:我们每天不都在经历分布式锁吗,我来给你回忆回忆。 为什么要使用分布式锁, 分布式锁有哪些特点, 分布式锁流行算法及其优缺点, 基本算法,r...

2020-04-05 22:23:23 269 0

原创 玩转Redis-如何高效访问Redis中的海量数据

Redis以高性能著称,但性能再好,在面对海量数据时,若不正确的使用,也终将会有性能瓶颈,甚至造成服务宕机。 在实际项目中你是否会有以下疑问? 如何访问Redis中的海量数据,却不影响其他请求访问Redis? Redis中有百万/千万数据,如何高效访问? Redis中数据量太大,如何既保证快速访问...

2019-11-17 17:09:26 1070 0

原创 基于AutoJs实现淘宝领喵币和蚂蚁森林能量自动化

概要   一年一度双11又到了,一起来凑个热闹。淘宝需要各种签到、逛店铺领喵币,一个店铺15S,领完所有喵币,至少十几二十分钟就没了,作为一名程序员,是时候解放双手了。 【自动收取蚂蚁森林能量】: 界面化操作,日志窗口; 基于控件坐标,适用于所有分辨率手机; 支持自动给好...

2019-11-03 15:43:01 3571 17

原创 玩转Redis-高级程序员必知的Key命令

《玩转Redis》Redis的Key命令,你掌握了多少? - 过期时间支持哪几种; - 如何判断是否存在某些key; - 强大的KEYS命令通配符支持哪些; - key可以重命名吗,需要注意什么; - UNLINK和DEL的区别是什么;

2019-10-31 23:37:15 376 0

原创 玩转Redis-研发也应该知道的Connection命令

《玩转Redis》系列文章主要讲述Redis的基础及中高级应用,文章基于Redis5.0.4 。Redis的连接往往是由程序完成,多数程序员并不关心,但掌握连接命令能提升自己的综合水平,真正了解整个Redis的使用过程。

2019-10-20 17:31:51 962 0

原创 fastjson漏洞导致服务瘫痪,先别忙升级

1、背景   2019年9月5日,fastjson修复了当字符串中包含\x转义字符时可能引发OOM的问题。建议广大用户升级fastjson版本至少到1.2.60。  一个bug这么恐怖,竟然直接OOM,亲身体验下吧。测试代码如下: JSON.parse(&q...

2019-10-13 21:28:39 940 0

原创 玩转Redis-Redis高级数据结构及核心命令-ZSet

  《玩转Redis》系列文章主要讲述Redis的基础及中高级应用,文章基于Redis5.0.4 。本文主要讲述Redis的常见高级数据结构ZSet,《玩转Redis-Redis高级数据结构及核心命令》相关操作命令为方便对比分析,使用脑图展示(若手机端查看图片不方便,可搜索zx...

2019-10-11 23:05:57 409 0

原创 玩转Redis-Redis基础数据结构及核心命令

  《玩转Redis》系列文章主要讲述Redis的基础及中高级应用,文章基于Redis5.0.4 。本文主要讲述Redis的数据结构String,《玩转Redis-Redis基础数据结构及核心命令》相关操作命令为方便对比分析,使用脑图展示(若手机端查看图片不方便,可搜索zxia...

2019-09-16 23:59:34 811 0

原创 基于XXL-JOB和钉钉机器人构建系统监控

概述:线上系统挂了,服务异常了,响应超时了;系统运行结果不符合预期。。。用户被影响,甲方爸爸不开心,后果很严重。从某种意义上讲,“在用户遇到问题之前把问题解决,问题也就不算问题了”。 文章概要:线上环境痛点》解决方案》想象空间。 1、痛点以下痛点是本公司实践中遇到的痛点,或许不具备通用性,但思路却...

2019-08-31 22:37:20 1596 0

原创 使用logstash同步MySQL数据到ES

概述: 在生成业务常有将MySQL数据同步到ES的需求,如果需要很高的定制化,往往需要开发同步程序用于处理数据。但没有特殊业务需求,官方提供的logstash就很有优势了。 在使用logstash我们赢先了解其特性,再决定是否使用: 无需开发,仅需安装配置logstash即可; 凡是SQL...

2019-01-30 21:14:00 9828 6

原创 搭建RabbitMQ集群之Windows单机版

Note:单机版集群仅作为学习使用,生产环境务必使用多服务器集群。 1、配置Host节点、环境变量 127.0.0.1 node1 127.0.0.1 node2 127.0.0.1 node3 在E:\study\rabbitmq下解压2个RabbitMQ文件夹,路径分别为E:\study\r...

2017-10-28 17:34:12 6068 0

原创 IK动态词库及禁用内置主词库

ik-analyzer新增词库后,需要重启solr,而线上环境肯定是需要支持热更新的,需要修改词库后“实时”更新词库。个人将先前修改后的IK(支持solr6.6+版本),再做修改,使之能实现以下功能: 支持IK词库热更新,服务定期扫描词库,发现词库变化则重新导入相应词库;记录详细更新日志...

2017-10-13 20:13:35 5987 8

原创 solrCloud6.6集群搭建

搭建伪集群为例,服务器IP为192.168.1.113,集群所有文件放置在目录/tomcat/solr/solrCloud(取个别名“主目录”)。 1、搭建Zookeeper集群;2、搭建solr集群;3、上传配置文件并启动;4、新建Collection

2017-09-28 21:43:17 6344 1

原创 solr6.6配置IK中文分词、IK扩展词、同义词、pinyin4j拼音分词

solr6.6 配置 IK中文分词、 IK扩展词、 同义词、 pinyin4j 拼音分词。

2017-08-24 18:21:07 7491 3

原创 Java正则环视和反向引用

java正则环视,java正则反向引用 1、环视概念 环视,又称为零宽断言,简称断言。 环视强调位置(前面或后面),必须匹配环视表达式,才能匹配成功。 环视可认为是虚拟加入到它所在位置的附加判断条件,并不消耗正则的匹配字符。 2、环视基础表达式 (?=Expression) 顺序肯定环视,表示所在...

2017-06-27 20:20:54 6529 0

原创 启用Windows10自带的Linux系统

新版win10已自带linux系统,默认是关闭状态,本文讲述详细开启流程、开启过程遇到的坑及解决方案。     设置--更新和安全--针对开发人员--选中“开发人员模式”;启用“适用于Linux的Windows子系统(Beta)”;win10更新可能报错:0x80070057,这是由于你的Wind...

2017-06-14 23:48:13 75897 2

原创 LinkedBlockingQueue源码分析(JDK8)

本文分析LinkedBlockingQueue的源码,学习其底层实现。LinkedBlockingQueue特性及使用场景:1、基于链表实现,线程安全的阻塞队列。2、“two lock queue”算法变体,双锁(ReentrantLock):takeLock、putLock,允许读写并行,rem...

2017-06-10 23:41:03 9987 3

原创 GitHub合并2个项目并保留commit记录

GitHub有两个项目Pro1和Pro2,现打算将Pro2整个项目移动到Pro1,并保留2个项目的commit记录。 移动前Pro1目录结构为:文件Pro1.txt、文件Pro123、文件README.md、文件夹pro1dir/,项目 Pro2类似。 移动后目录结构为Pro/Pro1/*;p...

2017-06-03 19:19:27 5953 2

原创 阻塞队列BlockingQueue(JDK8)

BlockingQueue(阻塞队列)是JDK5新增的线程安全的高效队列类,基于生产者-消费者模式。队列为空时,获取元素的操作等待队列变为非空;队列已满时插入操作等待队列空间可用。 BlockingQueue不接受null元素,会throw NullPointerException,null用于...

2017-04-16 14:06:36 7431 0

原创 SpringJDBC之RowMapper通用类

SpringJDBC无疑极大的方便了我们访问数据库,但是有一个小问题,每次查询操作返回的实体对象不一样,难道我们每次都要重新实现RowMapper吗?利用泛型,可以方便处理这样的操作。 1、自我实现RowMapper /* * 文件名:LocalRowMapper.java * 版权:Copy...

2017-03-21 00:03:42 13727 0

原创 dubbo使用教程(可直接应用于企业开发)

本dubbo使用教程基于zookeeper-3.4.9搭建,包含服务提供者DubboProvider、和消费者DubboConsumer,可直接在Tomcat上运行。DubboProvider对外开放2个接口,DubboConsumer调用DubboProvider,并对外暴露HTTP服务。Dub...

2017-03-20 23:19:41 29336 15

原创 java反射必知必会

java反射在学习工作中时常使用,自己也利用反射做了一些工具(比如《利用反射打造自定义注解,自动校验或处理数据》),但一直对反射缺乏较为系统的了解。以下内容是慕课网教程《反射——Java高级开发必须懂的》的学习笔记,相关代码见github工程github.com/zxiaofan/JDK-Stud...

2017-02-26 19:36:36 4796 0

原创 玩转Redis-Redis安装、后台启动、卸载

【PS】微信订阅号(zxiaofan)已开通,欢迎关注。 Redis官网:https://redis.io/ Redis中文官方网站:http://www.redis.cn/ Redis_GitHub:https://github.com/antirez/redis Redis互动教程:h...

2017-02-11 19:03:28 13961 0

原创 linux下安装jdk及JDk环境变量失效的解决方案

linux下两种方式安装jdk,直接解压安装、yum安装。如果linux重启后JDk环境变量配置失效,先前安装JDK后发现java命令总是失效,每次使用java命令前都需要source /etc/profile,今天终于解决了。方法1:解压安装 1、下载jdk到/usr/java ① 如果是阿里云...

2017-02-05 15:30:02 14463 6

原创 java学习资料免费下载(持续更新ing)

1、资源来源于网络,如有侵权,请联系我删除; 2、个别pdf较大,将在不影响阅读的情况下,优化PDF大小,方便传输及下载阅读; 3、若单个文件较大,将使用分卷压缩将文件压缩成多个压缩包,使用时下载所有文件直接解压即可,或前往CSDN下载(资源说明:https://blog.csdn.net/u01...

2017-01-25 19:41:41 17619 8

原创 ThreadLocal源码分析(JDK8)

ThreadLocal特性及使用场景: 1、方便同一个线程使用某一对象,避免不必要的参数传递; 2、线程间数据隔离(每个线程在自己线程里使用自己的局部变量,各线程间的ThreadLocal对象互不影响); 3、获取数据库连接、Session、关联ID(比如日志的uniqueID,方便串起多个日志)...

2017-01-25 18:13:54 16229 5

原创 2016双11电子书《不一样的双11,不一样的技术创新》pdf全版下载

【pdf 全版 带目录 下载】2016双11电子书《不一样的双11,不一样的技术创新》的pdf版,遂将自己保存的电子书打包分享(压缩包包含阿里巴巴2016双11电子书全套)。     下载地址:http://download.csdn.net/detail/u010887744/9740523 ...

2017-01-18 14:37:45 7554 1

原创 nssm注册windows服务

1、下载nssm.exe 官网:http://nssm.cc/download 2、解压至本地目录 根据操作系统选择32位或64位nssm,在该目录启动命令行窗口,或cd /d path 3、服务注册(以注册ngrok为例) 命令行输入: nssm.exe install ngrok 接下来会弹出...

2016-12-31 19:08:48 14335 2

原创 Centos7搭建Ngrok

搭建ngrok服务,内网穿透。 搭建环境:阿里云Centos7 1、更新Git(高于1.7即可) 查看当前git版本:git --version 详见另一篇笔记《Linux安装最新版git》 2、安装go CentOS7用户: yum install -y mercurial git bzr ...

2016-12-31 19:04:45 12479 2

原创 CentOS 7将linux服务加入系统启动 systemd service

在CentOS 7上利用systemctl添加自定义系统服务。 使linux服务开机自启动,注意下列指令中的配置文件需要写绝对路径。 [Unit] Description=Share local port(s) with ngrok After=syslog.target network.tar...

2016-12-31 18:55:01 4722 0

原创 Linux安装最新版git

本文旨在讲述如何在linux上安装最新版的git。 1、查看当前git版本:git --version 查看最新版git:访问https://www.kernel.org/pub/software/scm/git/ 或者https://github.com/git/git/releases 2、...

2016-12-31 18:49:16 9027 5

原创 利用反射打造自定义注解,自动校验或处理数据

开发过程中,难免会对数据进行校验或处理,难道每次都对不同的实体类的属性挨个判断是否符合规范或者对其进行特殊处理,程序员不应该这么做。在这个时候,自定义注解就派上大用场了。比如自定义一个 @Email 注解,将其标注在只能存放email格式的属性(private String guestEmail)...

2016-10-29 17:46:46 10812 0

原创 Boolean.getBoolean()那些坑

今天使用自定义注解时,用到了Boolean.getBoolean(),原以为Boolean.getBoolean("true"),会返回true,结果是false。   细看源码发现: /** * Returns {@code true} if and only if t...

2016-09-02 08:45:37 8081 0

原创 Gson将json转Map的那些坑

        利用Gson将一串json数据转为Map格式,再get数据,相比很多人都做过。今天遇到一个“坑”,mark一下。首先明确一点:Gson是可以将json转为Map的,并且Map的key是允许为Integer的。 public void test() { <span...

2016-07-22 18:46:18 36595 3

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