美文网首页
与实俱进-提高Java代码质量与性能

与实俱进-提高Java代码质量与性能

作者: 善思者_tin | 来源:发表于2019-12-30 14:09 被阅读0次

    一、概述

    程序开发,就像写一篇文章一样,不单单是给功能实现出来,重要的是要追求代码量少,并且性能还好。提高代码质量与性能,有助于提高运行效率。

    二、提高Java代码质量与性能实践

    2.1、代码优化细节

    尽量重用对象:想必我们会对接到第三方公司API,对接的时候通常会有签名参数,该参数是通过对多个参数拼接后进行MD5加密而得到。处理此问题,一般人会想到直接使用String去拼接即可,但是有没有考虑到性能和可拓展下呢?从性能上进行分析,如果使用String的话,会由于Java虚拟机不仅要花时间生成对象,以后可能还需要花时间对这些对象进行垃圾回收和处理,很耗时间;从可拓展下进行分析,如果拼接的时候对方多个或者少个参数,我们还需要修改拼接的这个过程。解决方案是出现字符串连接时应该使用StringBuilder/StringBuffer代替,并且封装一套拼接算法。如下是HttpUtil工具类的toParams方法。

    /**

    * 将Map形式的Form表单数据转换为Url参数形式<br> * paramMap中如果key为空(null和"")会被忽略,如果value为null,会被做为空白符("")<br> * 会自动url编码键和值

    * <pre> * key1=v1&amp;key2=&amp;key3=v3

    * </pre>*

    * @param paramMap 表单数据

    * @param charset 编码

    * @return url参数

    */

    public static String toParams(Map paramMap, Charset charset) {

    if (CollectionUtil.isEmpty(paramMap)) {

    return StrUtil.EMPTY;

    }

    if (null == charset) {// 默认编码为系统编码

          charset = CharsetUtil.CHARSET_UTF_8;

    }

    final StringBuilder sb =new StringBuilder();

    boolean isFirst =true;

    String key;

    Object value;

    String valueStr;

    for (Entry item : paramMap.entrySet()) {

    if (isFirst) {

    isFirst =false;

    }else {

    sb.append("&");

    }

    key = item.getKey();

    value = item.getValue();

    if (valueinstanceof Iterable) {

    value = CollectionUtil.join((Iterable) value,",");

    }else if (valueinstanceof Iterator) {

    value = CollectionUtil.join((Iterator) value,",");

    }

    valueStr = Convert.toStr(value);

    if (StrUtil.isNotEmpty(key)) {

    sb.append(URLUtil.encodeQuery(key, charset)).append("=");

    if (StrUtil.isNotEmpty(valueStr)) {

    sb.append(URLUtil.encodeQuery(valueStr, charset));

    }

    }

    }

    return sb.toString();

    }

    当复制大量数据时,使用System.arraycopy命令:前段时间讲解了socke通信可以改变线程的运行状态,以达到在后端页面手动控制定时任务。

    在从Socket读取到的客户端buffer数据进行处理时,可以使用System.arraycopy方法

    重要词意分析:

    MD5加密:

    String对象拼接字符串:

    相关文章

      网友评论

          本文标题:与实俱进-提高Java代码质量与性能

          本文链接:https://www.haomeiwen.com/subject/nkwpoctx.html