Java 类内部 Json 处理 效率问题

2017-12-25 22:52:22 +08:00
 CHEATBEATER

现在好多服务间是以 rest 接口通信的,传入传出的都是 String 形式,再解析成 jsonObject 处理,这样效率会不会很低?有什么好一点的替代方法吗?

Java 小白像大家请教一下;)

3686 次点击
所在节点    Java
14 条回复
seki
2017-12-25 23:11:11 +08:00
可以换成用 protobuf 这样的
nicevar
2017-12-25 23:37:54 +08:00
这种接口的通信数据量不大,一个 json 数据的解析几乎没什么影响,你如果在乎这点效率都不应该考虑 java 了,再说你在其他地方的某些代码比如数据查询之类的随便优化一下可能提高的效率比这里高出几个数量级的,所以没必要纠结这点效率
SoloCompany
2017-12-26 00:00:40 +08:00
jre 又没自带 json 的标准实现, 你担心个毛线
zhx1991
2017-12-26 00:08:48 +08:00
性能优化第一准则: 不要做性能优化.

如果实在想做, 先拿出实际证据再说.
WuwuGin
2017-12-26 00:09:02 +08:00
你太小看计算机和编译语言的性能了,照你这个逻辑,计算机还要把 Java 转换成硬件能读懂的指令是不是效率很低,该不该用汇编?
anmaz
2017-12-26 07:14:08 +08:00
建议自建协议,忘记了,协议也要解析的,拉专线,叫运营商给你个专用频宽
honeycomb
2017-12-26 08:50:33 +08:00
jackson+afterburner 已经很快了
raighne
2017-12-26 09:16:49 +08:00
写一个 string 直接解析 json 的方法
whx20202
2017-12-26 09:49:21 +08:00
2L 4L 说的对
感觉你就说想太多了,如果服务运行接口响应几十毫秒的,那应该是数据库之类的最耗时
json 解析只要不是特别大的基本不用时间,如果你非要问题的话,考虑用阿里巴巴的 fastjson
iyangyuan
2017-12-26 10:12:02 +08:00
自己试试就知道了,比起不合理的架构设计,这点时间完全可以忽略不计
junbaor
2017-12-26 10:15:24 +08:00
多操心
CHEATBEATER
2017-12-26 10:18:41 +08:00
@seki 要和其它微服务交互的,自己改数据传输格式肯定是不行的。又听到了 protobuf,学习了。
CHEATBEATER
2017-12-26 10:23:18 +08:00
@all 看到部门代码里各种 json 转换来转换去才有的这个想法,看来是我多虑了,感谢大家的回复。
xuminzhong
2017-12-26 15:12:12 +08:00
除非代码烂爆,否则 Java 不会是性能的瓶颈。

对于新手,给你的建议是,不要过早担心性能问题,如果担心也不要猜测,直接用 JProfiler。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/417568

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX