跳到主要内容

性能优化技巧

返回文档导航


JSONMap 底层基于 HashMap,单次读写性能与原生 Map 相当。以下技巧可帮助避免常见性能陷阱。

复用对象

// 避免在循环中频繁创建 JSONMap
JSONMap map = new JSONMap();
for (String item : items) {
map.clear();
map.putAll(parseJson(item));
process(map);
}

子对象缓存

多次读取同一子路径下的不同字段时,先获取子对象再取值:

// 不推荐:每次重新解析路径
String name = data.getStr("user.profile.name");
String email = data.getStr("user.profile.email");
String phone = data.getStr("user.profile.phone");

// 推荐:先获取子对象
JSONMap profile = data.getMap("user.profile");
String name = profile.getStr("name");
String email = profile.getStr("email");
String phone = profile.getStr("phone");

注意引用而非副本

getMap() 返回内部 Map 的引用,修改会反映到原对象:

JSONMap user = data.getMap("user");
user.put("age", 30); // 修改原对象 data

路径缓存

路径解析结果会被缓存,重复访问同一路径性能开销很小。

预估初始容量

如果已知数据量,可在构造时指定初始容量:

JSONMap map = new JSONMap(100); // 初始容量 100

上一节:有界宽容原则 | 返回文档导航 | 下一章:实战场景 →