D是我们团队的服务端应用,其代码库历史悠久,最早可以追溯到淘宝APP无线端迁移,应用中许多代码已无线上流量,但代码并未随业务的下线被清理。越来越多的代码“沉淀”下来,既增加了团队新人学习门槛,也增加日常开发维护成本。但实际做代码下线并非容易,仅凭业务逻辑决策代码清理费时费力,还容易误删在使用的业务代码, ...
刚学Java那会儿,看到final关键字,我心想:"这不就是个防止被修改的标签吗?" 后来被现实啪啪打脸——这玩意儿简直像你家小区最严的门卫大爷,管得那叫一个宽!今天咱们就掰开揉碎聊聊final的三副面孔,保准让你直呼:"原来还能这么玩?" 一、final修改变量 ...
本篇将主要介绍json序列化的详细流程。本文阅读的FastJSON源码版本为2.0.31。 一、引言 在日常开发中,我们常用FastJSON进行序列化和反序列化。虽然它给我们带来了便捷,但其背后的原理往往被忽视,于是一个不小心就引发了很多血案,例如: FastJSON 序列化踩坑 ...
今天我们主要来说一说List操作在实际使用中有哪些坑,以及面对这些坑的时候我们要怎么解决。 Arrays.asList转换基本类型数组的坑 在实际的业务开发中,我们通常会进行数组转List的操作,通常我们会使用Arrays.asList来进行转换 但是在转换基本类型的数组的时候 ...
struct XLogConfig{ TAppenderMode mode_ = kAppednerAsync; std::string logdir_; std::string nameprefix_; std::string pub_key_; TCompressMode compress_mode_ = kZlib; int compress_level_ = 0; std::string ...
使用该插件可以很方便的生成实体类、Mapper接口以及对应的XML文件。 本篇文档就是讲述如何在 MBG 中使用该插件。 通用 Mapper 专用代码生成器生成的 Model 会在原有基础上增加 @Table,@Id,@Column 等注解,方便自动会数据库字段进行映射。 运行MBG有多种方法,这里只 ...