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