现在好多服务间是以 rest 接口通信的,传入传出的都是 String 形式,再解析成 jsonObject 处理,这样效率会不会很低?有什么好一点的替代方法吗?
Java 小白像大家请教一下;)
1
seki 2017-12-25 23:11:11 +08:00 1
可以换成用 protobuf 这样的
|
2
nicevar 2017-12-25 23:37:54 +08:00 1
这种接口的通信数据量不大,一个 json 数据的解析几乎没什么影响,你如果在乎这点效率都不应该考虑 java 了,再说你在其他地方的某些代码比如数据查询之类的随便优化一下可能提高的效率比这里高出几个数量级的,所以没必要纠结这点效率
|
3
SoloCompany 2017-12-26 00:00:40 +08:00
jre 又没自带 json 的标准实现, 你担心个毛线
|
4
zhx1991 2017-12-26 00:08:48 +08:00 2
性能优化第一准则: 不要做性能优化.
如果实在想做, 先拿出实际证据再说. |
5
WuwuGin 2017-12-26 00:09:02 +08:00 via Android
你太小看计算机和编译语言的性能了,照你这个逻辑,计算机还要把 Java 转换成硬件能读懂的指令是不是效率很低,该不该用汇编?
|
6
anmaz 2017-12-26 07:14:08 +08:00 via Android
建议自建协议,忘记了,协议也要解析的,拉专线,叫运营商给你个专用频宽
|
7
honeycomb 2017-12-26 08:50:33 +08:00 via Android 1
jackson+afterburner 已经很快了
|
8
raighne 2017-12-26 09:16:49 +08:00
写一个 string 直接解析 json 的方法
|
9
whx20202 2017-12-26 09:49:21 +08:00 1
2L 4L 说的对
感觉你就说想太多了,如果服务运行接口响应几十毫秒的,那应该是数据库之类的最耗时 json 解析只要不是特别大的基本不用时间,如果你非要问题的话,考虑用阿里巴巴的 fastjson |
10
iyangyuan 2017-12-26 10:12:02 +08:00 via iPhone
自己试试就知道了,比起不合理的架构设计,这点时间完全可以忽略不计
|
11
junbaor 2017-12-26 10:15:24 +08:00
多操心
|
12
CHEATBEATER OP @seki 要和其它微服务交互的,自己改数据传输格式肯定是不行的。又听到了 protobuf,学习了。
|
13
CHEATBEATER OP @all 看到部门代码里各种 json 转换来转换去才有的这个想法,看来是我多虑了,感谢大家的回复。
|
14
xuminzhong 2017-12-26 15:12:12 +08:00 1
除非代码烂爆,否则 Java 不会是性能的瓶颈。
对于新手,给你的建议是,不要过早担心性能问题,如果担心也不要猜测,直接用 JProfiler。 |