摘要: 一、前言 Caffeine是一个高性能的 Java 缓存库,底层数据存储采用ConcurrentHashMap 优点:因为Caffeine面向JDK8,在jdk8中ConcurrentHashMap增加了红黑树,在hash冲突严重时也能有良好的读性能。多线程环境中,不同的key可以并发写,相同的ke 阅读全文
posted @ 2022-09-22 09:21 花弄影 阅读(434) 评论(0) 推荐(0) 编辑
摘要: 一、为什么要实现内存管理? Netty 作为底层网络通信框架,网络IO读写必定是非常频繁的操作,考虑到更高效的网络传输性能,堆外内存DirectByteBuffer必然是最合适的选择。堆外内存在 JVM 之外,在有效降低 JVM GC 压力的同时,还能提高传输性能。 堆外内存是非常宝贵的资源,申请和 阅读全文
posted @ 2022-09-17 14:21 花弄影 阅读(355) 评论(0) 推荐(0) 编辑
摘要: 快速开始:四、代码实现 → 6.配置RateLimit注解,使限流生效 一、限流场景 淘宝秒杀活动,限1小时200件商品 一个用户、一个手机号一天只能获取5次验证码 限制某个接口一分钟最多只能访问500次 二、处理方式 抛异常 排队等待 服务降级 三、令牌桶算法流程 四、代码实现 1.频率限制注解类 阅读全文
posted @ 2022-04-08 14:20 花弄影 阅读(486) 评论(0) 推荐(0) 编辑
摘要: 流程(JobLogReportHelper.java的start方法) 阅读全文
posted @ 2021-06-23 17:27 花弄影 阅读(1372) 评论(0) 推荐(0) 编辑
摘要: 一、执行器注册流程 二、具体流程 1.注册监控线程 //类:JobRegistryHelper.java;方法:public void start() registryMonitorThread = new Thread(new Runnable() { @Override public void 阅读全文
posted @ 2021-06-18 18:49 花弄影 阅读(3724) 评论(0) 推荐(0) 编辑
摘要: 一、MySQL可重复读级别下,因为MVCC引起的BUG,下图1为相应的Java代码,其中事务1的生命周期最长,循环开启的事务2、3、4。。。与事务1并行 ,数据的读取只会成功一次,后面的读不到新增数据,从而出现空指针异常,但是当事务隔离级别为读提交时,程序会正常执行 图1 解决方案:将方法userR 阅读全文
posted @ 2019-06-23 00:54 花弄影 阅读(609) 评论(0) 推荐(0) 编辑
摘要: 1.mongodb下载地址https://www.mongodb.com/download-center#community 2.安装 3.在D:\MongoDB目录下创建db和log两个文件夹,并创建环境变量,如下图所 4.不用auth的形式安装MongoDB MongoDB安装完成后,默认是不需 阅读全文
posted @ 2017-12-15 00:57 花弄影 阅读(6862) 评论(0) 推荐(0) 编辑
摘要: 当你每次都要输入相同的命令时,可以把这么多命令存为一个批处理,从此以后,只要运行这个批处理,就相当于打了几行、几十行命令。下面以Nginx服务的停止脚本为例写一个bat批处理文件: 1.新建nginx-stop.bat文件,编辑一下内容 第一行:关闭回显 第二行:切换到D盘根目录 第三行:进入D:\ 阅读全文
posted @ 2017-12-06 20:52 花弄影 阅读(2141) 评论(0) 推荐(0) 编辑
摘要: Phoenix简介及安装部署使用 阅读全文
posted @ 2017-10-14 11:33 花弄影 阅读(381) 评论(0) 推荐(0) 编辑
摘要: 如何使用Spark ALS实现协同过滤 阅读全文
posted @ 2017-10-12 18:12 花弄影 阅读(613) 评论(0) 推荐(0) 编辑