随笔分类 - java杂记
摘要:@Autowired @Qualifier("writeDataSource") private DataSource writeDataSource; @Bean("txManager") public DataSourceTransactionManager txManager(@Qualifi
阅读全文
摘要:方法预览: insert前先select 加悲观锁 加乐观锁 加唯一索引 建防重表 根据状态机 加分布式锁 获取token 为什么接口要保证幂等性? 可能存在表单重复提交 防止接口重试 消费重复消息 具体方案 insert前判断数据是否存在,如果数据不存在则insert,否则update 加悲观锁
阅读全文
摘要:mysql find_in_set 原因 在项目中,使用mybatis做一对多关联,出现数据条数不匹配的情况,比如要查询10条,由于一对多的关系导致最终得到的数据条数变少。 解决方案(1) <select id="list" parameterType="emro.vo.resource.Resou
阅读全文
摘要:推送地址配置 <distributionManagement> <snapshotRepository> <id>ctsp-snapshots</id> <url>http://aaa.aaa.com/content/repositories/snapshots/</url> </snapshotR
阅读全文
摘要:预备知识 对象头和锁 每个对象 都有一个对象头,叫Mark Word。它在32位系统中就是32位,在64位操作系统就是64位。 作用 可以存储对象的哈希值,对象年龄, 锁的指针信息(2bit) ptr 00 # 轻量级锁 自旋 0 01 # 未锁定 1 01 # 偏向锁 比较线程ID ptr 10
阅读全文
摘要:mysql 日志有两种,一个是redolog 用于事务提交,一个就是我们今天要用到的binlog 了 binlog 作用 数据恢复:通过mysqlbinog工具进行恢复; 数据复制:MySQL Replication在Master端开启binlog,Mster把它的二进制日志传递给slaves来达到
阅读全文
摘要:实现 lock 是一个接口,而synchrized 是一个关键字。 释放锁 lock 锁需要手动释放锁,且出现异常的时候,不能释放锁,所以一般都需要try catch处理释放锁,避免死锁 synchronized 自动释放锁, 响应中断 locl 可以通过标志位响应中断 线程调度 synchroin
阅读全文
摘要:HTTPS介绍 Https解决http中存在的安全问题 数据没有加密,http传递的信息是明文 http应用中,客户端和服务器之间不能确认双方身份 数据易篡改,没有机制确保数据完整性,客户端和服务器无条件信任接收数据 Https实现的功能 身份信任:确保浏览器访问的网站是经过 CA 验证的可信任的网
阅读全文
摘要:@Slf4j @Configuration @EnableAsync public class ExecutorConfig { @Bean public Executor asyncCopyServiceExecutor() { log.info("start async copy from op
阅读全文
摘要:引言 有时候,我们的代码在本地一点问题没有,放到线上就是有问题,反反复复打日志,还不弱远程调试来的直接,直达敌人内部,取之首级。 步骤 -Xdebug -Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=$ debug_port 变量,线
阅读全文
摘要:Java集合 遍历 map // 构建一个Map 初始值为3条数据 Map<String, String> map = new HashMap<String, String>(); map.put("1", "xiaqiu"); map.put("2", "pangzi"); map.put("3"
阅读全文