摘要:
来自《代码大全2》的摘抄 来自众多组织的数据显示,在大型项目中,如果在架构阶段检测到需求错误,那么修复它的成本通常“在需求阶段检测并修复该错误”的成本的3倍。如果在编码阶段检测到需求错误,修复成本是5至10倍:在系统测试阶段,成本是10倍:在发布之后,成本陡增为10至100倍(以在需求分析阶段检测并 阅读全文
摘要:
本文基于MySQL 5.7 行格式 InnoDB包含多张行格式 Compact Redundant Dynamic Compressed Compact行记录格式 Compact行记录是在MySQL 5.0中就引入的,其设计目标是高效地存储数据:一个页中存放的行数据越多,其性能就越高。 格式的首部是 阅读全文
摘要:
从类加载机制到热加载 类是如何加载的 一个类型从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期将会经历加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)和卸载 阅读全文
摘要:
MySQL JSON 数据类型 从 MySQL 5.7.8 开始,MySQL 支持由RFC 7159定义的本机JSON数据类型 在没有JSON格式之前在创建时可能会使用BLOB或者TEXT或者VARCHAR来存储,在项目中使用反序列化的方式转换为对应的对象 在有JSON后该类型可有效访问 JSON文 阅读全文
摘要:
前言 Lombok的出现帮助开发人员在开发工程中消除了大部分冗余代码:繁琐的get、set方法甚至建造者模式。 Lombok的实现方式是什么呢? 新建一个测试类使用Lombok的Getter和Setter注解,通过IDEA进行编译 import lombok.Getter; import lombo 阅读全文
摘要:
前情 原来写过一个canal的脚手架,但是没有使用MQ Canal现在已经支持了直接发送到MQ,所以又写了一个脚手架 过程 我们需要监控的只是数据库的update、delete和insert方法,所以这里抽象出来一个接口 public interface BaseService { void upd 阅读全文
摘要:
流程 原来写过一篇文章,是介绍EasyExcel的,但是现在有些业务需要解决,流程如下 1.需要把导出条件转换成中文并存入数据库 2.需要分页导出 3.需要上传FTP或者以后上传OSS 解决方案 大体的流程采用摸板方法模式,这样简化条件转换以及上传FTP操作 public abstract clas 阅读全文
摘要:
问题 今天使用EasyExcel进行导出时,发现有个属性明明赋值了但是导出文件中没有显示出来,类大致如下 @Data public class WithdrawExportDTO { private String sCloudTrade; private String sCloudTradePlat 阅读全文
摘要:
题目 据说是阿里的题目,多个线程同时启动,循环打印ABC 解法 看了很多解法有使用锁的,同步关键字的,信号量的,自己用volatile关键字写了一个不知道对不对 private static volatile int a = 1 ; public static void main(String[] 阅读全文
摘要:
是什么总加班 熬夜发版的一天,测试:“快来看看所有的商品信息都没法查看了”。“怎么会这样,我来看看”。 问题 “好像是Redis序列化问题,这次迭代把Redis链接工具换成了Jedis,由于原来存的是JSON格式,Jedis配置的JSON序列化好像跟spring-boot-starter-data- 阅读全文