- 博客(11)
- 收藏
- 关注
原创 apache-commons
apache-commonschain的使用背景详细使用教程参考文献 chain的使用 chain是apache提供的通用方法中的责任链,通过chain可以很优雅的将代码中大量的if else替换;并且可以简化代码,业务实现中,可以更专注的编写业务代码,不需要过多的进行逻辑判断。 背景 最近在开发的项目中,不同的处理类型,需要调用不同的第三方接口;部分类型需要调用十几个第三方接口,并且调用第三方的接口是需要按照一定的顺序进行调用的。 如果在代码中通过if else进行判断,会有很多if else的语句,对于
2020-06-09 18:46:36 501
原创 postman请求没问题,使用java请求,出现证书找不到问题
postman请求没问题,使用java请求,出现证书找不到问题报错信息处理流程参考文档 报错信息 处理流程 1、将URL地址放到浏览器中 点击“锁” 点击证书,选择“详细信息” 选择"复制到文件",点击下一步,选择Base64编码,下一步导出 。 导出为example.cer文件。放到任意文件夹中xxx\example.cer 2、将下载的证书放到jre中 假设jdk安装目录:C:\Program Files\Java\jdk1.7.0_80\jre\lib\security cmd命令行跳到这个目录
2020-05-26 17:54:07 1401
原创 高并发处理
高并发处理方案背景应用场景处理高并发的技术优化方案非关系型数据库处理高并发 背景 虽然以前做订单系统的时候,不论是在设计还是在开发的时候都需要考虑高并发,但是,实际上,我是没有系统的去学习过高并发的学习资料,以前学的都是一些处理高并发的一些手段以及片面的工具。最近在极客时间上学习了一套高并发处理40讲,学完后,深有感触,所以,特意将以前的一些经验以及学后感记录下来。 现在这高速发展的社会,如果...
2019-12-29 17:31:59 180
原创 各种疑难杂症记录
分布式数据库问题处理 背景 线上环境因为数据库压力比较大,所以使用了分布式数据库进行减轻压力,实现方式是使用主从mysql数据库 问题 更新和插入的数据,在接下来的业务处理查询不到 原因 更新,插入,查询 在分布式数据库中不是顺序执行,在主数据库中操作后,需要同步到从数据库,从数据库的数据没有强一直性. 解决 总结了三个解决方案: 1.使用事务管理:在需要保证数据一致性的地方,加上事务 2.线程睡...
2019-10-18 19:49:41 415
原创 mysql特殊用法
mysql特殊用法批量更新 批量更新 优势:可以大大减少数据连接次数,提升程序处理速度; 劣势:sql语句较复杂,在修改字段过多时,还可能出现字符串超处理长度问题 UPDATE oa_role_staff SET role_id = CASE staff_base_info_id WHEN 1958 THEN 1 WHEN 2138 THEN 1 WHEN 2148 THEN 1 ...
2019-08-20 15:25:08 1119
原创 spring cloud + rabbitmq
spring cloud + rabbitmq使用经验背景消息分组生产者application.yml配置消费者application.yml配置exchange-msg 交换器exchange-msg.group-A 消息队列 背景 最近新公司使用spring cloud的方式使用rabbitmq,因为之前没有使用过spring cloud,并且没用到rabbitmq的stream的使用方式,所...
2019-06-19 15:30:09 682
原创 IDEA使用经验
IDEA使用记录跳出当前编辑的括号 跳出当前编辑的括号 使用快捷键shift+ctrl+enter可以直接跳出到括号外,并且不全分号; 跳出所在符号:shift+符号 ;shift+)跳到括号外; shift+]跳出中括号; ...
2019-06-12 17:07:18 287
原创 JDK1.8新特性
JDK1.8新特性lambda表达式创建匿名内部类lambda和stream结合:过滤lambda和stream结合:过滤+统计lambda双冒号的使用 lambda表达式 创建匿名内部类 // 1.8前创建匿名内部类 Converter<String ,Integer> converter = new Converter<String, Integer>() { ...
2019-06-12 12:09:41 843
原创 1.2. java多线程学习总结
java线程学习总结线程定义线程的创建线程的生命周期线程的方法线程组和线程池线程组线程池 线程定义 程序执行代码的一条路径,一个进程可以有多个线程。 线程的创建 1、继承Thread类,重写run方法,启动线程 2、实现Runable接口,实现run方法,创建线程,将实现类放入线程中,启动线程 线程的生命周期 创建-就绪-启动-阻塞-死亡 线程的方法 睡眠(sleep):当前线程睡眠,需要传入参数...
2019-05-13 01:23:10 112
原创 1.1. Socket学习记录
netty学习总结发展历程使用场景bionioaio 发展历程 在JDK1.5之前,使用的都是netty编程都是基于bio的,使用方式非常的简单,但是在性能上不是很好,在实际的使用过程中,一般都是使用伪异步的方式去编码。 在JDK1.5时,出现了nio,nio很好的解决了bio的线程链接数过多时,造成的系统崩溃或者无法链接问题。现在应用比较广的netty就是基于nio实现的,但是,这个时候的Soc...
2019-05-11 23:46:39 219
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人