首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://my.oschina.net/u/4450329/blog/4952159

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

废弃fastjson!大型项目迁移Gson保姆级实战

前言 本篇文章是我这一个多月来帮助组内废弃fastjson框架的总结,我们将大部分Java仓库从fastjson迁移至了Gson。 这么做的主要的原因是公司受够了fastjson频繁的安全漏洞问题,每一次出现漏洞都要推一次全公司的fastjson强制版本升级,很令公司头疼。 文章的前半部分,我会简单分析各种json解析框架的优劣,并给出企业级项目迁移json框架的几种解决方案。 在文章的后半部分,我会结合这一个月的经验,总结下Gson的使用问题,以及fastjson迁移到Gson踩过的深坑。 文章目录: 为何要放弃fastjson? fastjson替代方案 三种json框架的特点 性能对比 最终选择方案 替换依赖时的注意事项 谨慎,谨慎,再谨慎 做好开发团队和测试团队的沟通 做好回归/接口测试 考虑迁移前后的性能差异 使用Gson替换fastjson Json反序列化 范型处理 List/Map写入 驼峰与下划线转换 迁移常见问题踩坑 Date序列化方式不同 SpringBoot异常 Swagger异常 @Mapping JsonObject作为入参异常 注意:是否使用fastjso...

请问你知道分布式系统设计模式的分割日志思想么?

分割日志(Segmented Log) 将大文件切分为更容易处理的多个更小的文件。 问题背景 单一的日志文件可能会增长到很大,并且在程序启动时读取从而成为性能瓶颈。老的日志需要定时清理,但是对于一个大文件进行清理操作很费劲。 解决方案 将单一日志切分为多个,日志在达到一定大小时,会切换到新文件继续写。 //写入日志 public Long writeEntry(WALEntry entry) { //判断是否需要另起新文件 maybeRoll(); //写入文件 return openSegment.writeEntry(entry); } private void maybeRoll() { //如果当前文件大小超过最大日志文件大小 if (openSegment. size() >= config.getMaxLogSize()) { //强制刷盘 openSegment.flush(); //存入保存好的排序好的老日志文件列表 sortedSavedSegments.add(openSegment); //获取文件最后一个日志id long lastId = openSeg...

相关文章

发表评论

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。