![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
测试__昵称
这个作者很懒,什么都没留下…
展开
-
MAT工具使用笔记
MAT原创 2023-03-20 10:48:47 · 39 阅读 · 0 评论 -
CompletableFuture:如何进行异步多线程编程
在Java 8中, 新增加了一个包含50个方法左右的类: CompletableFuture,结合了Future的优点,提供了非常强大的Future的扩展功能,可以帮助我们简化异步编程的复杂性,提供了函数式编程的能力,可以通过回调的方式处理计算结果,并且提供了转换和组合CompletableFuture的方法。CompletableFuture被设计在Java中进行异步编程。异步编程意味着在主线程之外创建一个独立的线程,与主线程分隔开,并在上面运行一个非阻塞的任务,然后通知主线程进展,成功或者失败。原创 2023-03-09 10:41:36 · 133 阅读 · 0 评论 -
caffeine缓存过期淘汰策略遇到的坑
caffeine缓存过期淘汰策略遇到的坑原创 2022-11-25 15:52:06 · 4339 阅读 · 0 评论 -
椭圆曲线算法
椭圆曲线算法 ECC原创 2022-11-03 11:32:44 · 1004 阅读 · 0 评论 -
kafka分区、group和消费者原理
kafka group原创 2022-08-22 14:42:24 · 1193 阅读 · 0 评论 -
Caffeine 笔记
Caffeine原创 2022-08-19 14:01:10 · 560 阅读 · 0 评论 -
TransactionSynchronizationManager
TransactionSynchronizationManager原创 2022-08-05 09:49:30 · 151 阅读 · 0 评论 -
Spring事务的嵌套
事务嵌套原创 2022-08-04 10:12:08 · 1135 阅读 · 0 评论 -
mac idea清理不用的包
mac快捷键清包control + option + o原创 2022-01-29 17:51:14 · 1290 阅读 · 0 评论 -
spring redis executePipelined
Callback cannot return a non-null value as it gets overwritten by the pipeline.原创 2021-12-15 15:49:53 · 1907 阅读 · 0 评论 -
JAVA操作mongoDB
//检索条件Criteria criteria = null;criteria = Criteria.where("bizId").is(“123”);criteria.and("bizType").is(bizType);//构建查询条件Query query = new Query(criteria);//查询结果CustomConfigVO vo = mongoOperations.findOne(query, CustomConfigVO.class, CUSTO原创 2021-08-30 19:55:16 · 63 阅读 · 0 评论 -
java 8 stream流求交集并集和差集
集合:交集 :set1.retainAll(set2);并集:set1.addAll(set2);差集:set1.removeAll(set2);list交集:list1.retainAll(list2);并集:list1.addAll(list2);差集: list1.removeAll(list2); // 交集 List<String> intersection = list1.stream().filter(list2原创 2021-08-30 19:54:57 · 790 阅读 · 0 评论 -
idea插件开发方法
1. 网上搜一下插件开发需要的环境,自主搭建一下。这里有个坑:如果安装好之后,idea频繁crash,运行速度很慢。那么需要检查一下安装和调试的JDK版本,必要时请更换idea自带的jdk(就在idea安装目录里,无需下载)2.使用plugin Devkit 工具创建action,在此编写插件名称和插件位置。3.在action中编写业务逻辑,实现想要实现的功能。1)如果需要界面交互操作,则需要使用古老的swing来创建页面。2)如果想要对代码进行操作,请研究PSI代码结构读取代码,地址:原创 2021-08-20 11:07:57 · 505 阅读 · 0 评论 -
IDEA插件报错,NoClassDefFoundError: com/intellij/psi/PsiJavaFile
开发idea插件时,psiFile 转 PsiJavaFile 时一直报错 NoClassDefFoundError: com/intellij/psi/PsiJavaFile这是由于新版本idea启动时,不再包含Java language PSI Model模块。需要手动将模块依赖添加到插件的配置文件plugin.xml中,添加进去之后是这样的:<depends>com.intellij.modules.platform</depends><depends转载 2021-08-06 17:15:51 · 2123 阅读 · 0 评论 -
新增APP拖拽排序效果,后台拖拽排序实现方案
方案一:中位数法实现步骤一、环境准备新增数据库字段device_order(double是否足够?),device_order字段中保存排序用数值。查询sql改为order bydevice_orderdesc。批量修改数据库device_order的值, 根据device_sort和最后修改时间排序,顺序写入整型的值。二、app端实际拖拽数据后,向后台发送拖拽后的坐标,接口增加「x,y」字段。假设有任务A,B,C计算规则如下:如果C要移到A的前面,前台传入「null...原创 2021-05-24 20:23:55 · 1048 阅读 · 1 评论 -
使用mybatis的拦截器做加密功能
使用mybatis的拦截器,实现加密功能。拦截器也被应用在分页功能上。实现数据加密,进入数据库的字段不能是真实的数据,但是返回来的数据要真实可用,所以我们需要针对 Parameter 和 ResultSet 两种类型处理,同时为了更灵活的使用,我们需要自定义注解...原创 2021-04-24 15:46:24 · 249 阅读 · 0 评论 -
error-prone插件:Writing a check
Once you know what you want to check for, you can write a BugChecker to do it automatically. In this tutorial we will suppose that we want to ban the use ofreturn null;statements.Avoidingreturn null;statementsIt is well known that misuse ofnullca...转载 2020-09-07 14:57:02 · 461 阅读 · 0 评论 -
从系统架构考虑java学习路线
互联网系统数据全流程:CDN用户在浏览网站的时候,CDN会选择一个离用户最近的CDN边缘节点来响应用户的请求(1)CDN节点解决了跨运营商和跨地域访问的问题,访问延时大大降低;(2)大部分请求在CDN边缘节点完成,CDN起到了分流作用,减轻了源站的负载。通常将前端静态代码放置在CDN服务器,利用CDN缓存减轻后台服务器负担,消除不同运营商带来的访问速度的差异,从而达到...原创 2019-01-18 14:55:00 · 153 阅读 · 0 评论 -
并发框架Disruptor
首先介绍ringbuffer。我对Disruptor的最初印象就是ringbuffer。但是后来我意识到尽管ringbuffer是整个模式(Disruptor)的核心,但是Disruptor对ringbuffer的访问控制策略才是真正的关键点所在。 ringbuffer到底是什么?嗯,正如名字所说的一样,它是一个环(首尾相接的环),你可以把它用做在不同上下文(线程)间传递数据的buff...转载 2019-01-04 15:00:46 · 122 阅读 · 0 评论 -
MyBatis 实现乐观锁
问题描述 我们系统采用springMVC+MyBatis的架构,数据使用的是mysql,数据库的隔离级别是默认的:REPEATABLE-READ。现在发现一个事务并发控制锁定问题。 我们系统有一个业务逻辑,每个人只能执行一次,所以开启事务的时候,我们使用悲观锁进行控制:select * from table where type = 1 and id = XXX for update;如果用户...转载 2018-12-18 09:41:11 · 1291 阅读 · 0 评论 -
分库分表技术演进暨最佳实践
每个优秀的程序员和架构师都应该掌握分库分表,这是我的观点。移动互联网时代,海量的用户每天产生海量的数量,比如: 用户表 订单表 交易流水表 以支付宝用户为例,8亿;微信用户更是10亿。订单表更夸张,比如美团外卖,每天都是几千万的订单。淘宝的历史订单总量应该百亿,甚至千亿级别,这些海量数据远不是一张表能Hold住的。事实上MySQL单表可以存储10亿级数据,只是这时...转载 2018-11-25 14:35:15 · 227 阅读 · 0 评论