记者:大爷您有什么特长呀?这个略显马丽苏的标题,各位看官将就着看吧。主要是怕被喷。FastJson 真的很好,我用不用我喜不喜欢的,太不重要了,我只是觉得不适合我而已。
FastJson:我很快。
记者:23423 乘以 4534 等于多少?
FastJson:等于 2343.
记者:??
FastJson:你就说快不快吧!
https://github.com/javastacks/spring-boot-best-practicedateformat 优先级
这不能完全模拟 linux 系统,只针对通过System.getproperty("os.name")来判断当前系统做某些操作的时候有用。通过这种方式没复现,我又想到了远程调试。
1.对于开源项目来说,解决了 BUG,通常会把问题编号放到注释里面去。前提是注释有必要。通过问题编号可以看到问题的前因后果。所以拿着这个编号到issue区,不管有没有issue区,也都可以直接到pullrequest区直接搜索,就算 PR 标题里没有问题编号,PR 描述肯定也是有的,只要是有严格 PR 流程的开源项目。
2.通常来说,对于 github 开源项目都有 issue 区,拿着这个到编号直接到 issue 一搜就能搜到。
3.但也有一些项级项目,如 spark,flink 是没有 issue 区的,它们的类型问题发现描述追踪都使用 jira 平台。如:
https://issues.apache.org/jira/browse/SPARK-38349
在提交 PR 的时候标题也严格按照[jira 编号][spark 子模块(如core/sql) title]的规则来。
https://github.com/alibaba/fastjson/issues/1868相应的 PR 在这里:
https://github.com/alibaba/fastjson/pull/2706通过 ISSUES 描述的已知信息,可以看出他遇到的问题跟我是一样的,而这个问题早在 2018 年就提出了。但问题描述不太专业,没有涉及到环境以及最重要的 FastJson 的版本问题。
复盘,遇到 FastJson 的问题,一开始就应该奔着 github 的 issues 区,它大概率已经被前人踩坑了。$ref 循环引用问题
https://github.com/alibaba/fastjson/issues/3643我现在知道这是由于循环引用检测引起的。通过设置SerializerFeature.DisableCircularReferenceDetect可以避免这个问题。
注 :经提醒,这里应使用完整报文解析,经测试,确实可以。感谢提醒!更可怕的问题是,刚好在测试环节有两个子对象引用了同一个对象,被我提前发现了。如果测试环境没有这样的情况,在生产环境刚好遇到了呢?那就是生产事故了呀。
祝愿 fastjson2 越来越好,不要步 struts2 的后尘。
- review,testcase 覆盖不是很到位
- contributor 看起来很多,但严重依赖主力人员。而主力精力有限,某些优先级不那么高的 BUG 只能放任。
- 这个项目的荣誉感并没有那么高,或者叫并没有那么吸引高手)。
- 有些功能点应该把控制主动权交给用户,如 DisableCircularReferenceDetect,WriteMapNullValue 等。默认开启非常容易导致线上暴雷。
- 作者已经全面转向 fastjosn2,而且哪怕在这之前,对于 fastjson 没有一个稳定维护的版本,不断升级,不断引入新问题。
欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |