java之枚举的最佳实践

背景场景是这样的,客户端要发送JSON数据到达服务端解析,由于客户端的不同版本更新,打过来的数据有差异,服务端要兼容这种差异对不同的处理这些数据,因为客户端升级是由用户决定的。思路实现的方式肯定很多种,恰好学到《effective java》中的枚举,枚举可以加一个方法,我们这个场景每一种日志格式就
2021年03月31日 1,015次浏览

firewalld防火墙命令

1、firewalld的基本使用启动: systemctl start firewalld查看状态: systemctl status firewalld禁用,禁止开机启动: systemctl disable firewalld停止运行: systemctl stop firewalld2.配置f
2021年03月08日 897次浏览

Typora快捷键整合

Typora快捷键整合Ctrl+1 一阶标题 Ctrl+B 字体加粗Ctrl+2 二阶标题 Ctrl+I 字体倾斜Ctrl+3 三阶标题 Ctrl+U 下划线Ctrl+4 四阶标题 Ctrl+Home 返回Typora顶部Ctrl+5 五阶标题 Ct
2021年02月27日 895次浏览

分布式事务之2PC

两阶段提交(2PC) 是 Oracle Tuxedo 系统提出的 XA 分布式事务协议的其中一种实现方式。一、关于 XA 分布式事务协议XA 分布式协议主要有两个角色:事务管理器(协调者)事务管理器作为全局事务的协调管理者,与每个资源管理器通信,完成分布式事务的管理。资源管理器 (参与者)资源管理器
2021年02月25日 856次浏览

java之幂等性思考

一、什么是幂等?看一下维基百科怎么说的:幂等性: 多次调用方法或者接口不会改变业务状态,可以保证重复调用的结果和单次调用的结果一致。二、使用幂等的场景1、前端重复提交用户注册,用户创建商品等操作,前端都会提交一些数据给后台服务,后台需要根据用户提交的数据在数据库中创建记录。如果用户不小心多点了几次,
2021年01月27日 796次浏览

dubbo之统一异常处理

难点利用AOP集中处理,将目标包,进行包裹处理,将异常try捕获之后,做统一结果集封装对于,用事务的方法,需单拎出来处理,由于事务只会对RunTimeException生效,Exception不对事务生效,需将异常捕获,转化为RunTimeException来触发事务回滚例子/** * 服务层异常处
2021年01月20日 1,087次浏览

java知识点扫盲

什么是Dubbo的泛化调用是什么?答:一般调用,Dubbo必须依赖服务端提供的api包,如果服务端升级了api包,客户端也必须跟着升级。泛化接口调用方式主要用于客户端没有 API 接口及模型类元的情况,参数及返回值中的所有 POJO 均用 Map 表示。某种原因没有服务接口,而要发起服务的调用,就需
2021年01月20日 861次浏览

java之多线程

java多线程之优雅的并发批量查询大数据量 | wangdaye's blog
2020年12月17日 649次浏览

java之五种分布式事务实现方案

一.两阶段提交方案/XA 方案XA方案2PC的传统方案是在数据库层面实现的,如Oracle、MySQL都支持2PC协议,为了统一标准减少行业内不必要的对接成本,需要制定标准化的处理模型及接口标准,国际开放标准组织Open Group定义分布式事务处理模型DTP(Distributed Transac
2020年12月14日 1,256次浏览

多线程编程之synchronized锁的升级优化

synchronized锁升级优化在JDK1.6以前,使用synchronized就只有一种方式即重量级锁,而在JDK1.6以后,引入了偏向锁,轻量级锁,重量级锁,来减少竞争带来的上下文切换。Java对象头每个对象都拥有对象头,对象头由Mark World ,指向类的指针,以及数组长度三部分组成Ma
2020年12月12日 808次浏览