POJO类推荐使用封装类如Integer而不使用基本类型int,使用基本类型不能判空,而且查询为null时会报错。
-
使用fastjson提取json数组时,要对此作null判断,不然容易引起NPE异常。
JSONArray relNodes = data.getJSONArray("rel"); // 可以查看fastjson源码,可能返回null // 先做null判断 if (relNodes == null) { //... return ... } // 然后再循环提取 for (Object node: relNodes) { }
Controller层接口返回尽量不要使用JSONObject(耗时更多),而改用Java VO类。
-
不能信任所有Http接口(不管是自己的还是外部的),能异步处理就异步,不能异步也要做异常处理。不要因为http调用拖垮整个程序。
// 改成异步,不能信任何http请求 pool.submit(new Runnable() { @Override public void run() { try { HttpClient.postForm(Constant.NOTIFY_URL, data.toJSONString()); } catch (Exception e) { log.error("{}", e); } } });
SQL语句Where条件字段频繁使用,可以为其增加表索引,这样极大的提高了程序性能。(可以使用System.currentTimeMillis测试一下耗时)
-
使用 entrySet 遍历 Map 类集合 KV,而不是 keySet 方式进行遍历(具体可参考阿里巴巴JAVA开发手册)。
// 如果是jdk8或以上,直接使用Map.forEach方法。 if (!paramsMap.isEmpty()) { paramsMap.forEach((k, v)->{ String value = parseVarService.parseJsonPath(v.toString()); urlParameters.add(new BasicNameValuePair(k, value)); }); }
Java代码(不限于此) 优化
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 本文是我自己在秋招复习时的读书笔记,整理的知识点,也是为了防止忘记,尊重劳动成果,转载注明出处哦!如果你也喜欢,那...
- 不要怕只要你自己做的对 比如如何管理学生,比如早上管理纪律,发书上课(废话不多)等细节。都做的非常讲究到位!你只要...