V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
CHEATBEATER
V2EX  ›  Java

Java 类内部 Json 处理 效率问题

  •  
  •   CHEATBEATER · 2017-12-25 22:52:22 +08:00 · 3654 次点击
    这是一个创建于 2523 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    对于新手,给你的建议是,不要过早担心性能问题,如果担心也不要猜测,直接用 JProfiler。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1005 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 22:14 · PVG 06:14 · LAX 14:14 · JFK 17:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.