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

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

作者: 尤力 | 来源:发表于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代码质量与性能

    一、概述 程序开发,就像写一篇文章一样,不单单是给功能实现出来,重要的是要追求代码量少,并且性能还好。提高代码质量...

  • Android 进阶路线 知识体系

    设计思想与代码质量优化六大原则、设计模式、数据结构、算法 Java Kotlin基础 Android 性能优化与稳...

  • idea插件

    Java代码规范与质量检测插件SonarLint

  • 提高java代码性能

    以下文章来源于阿里巴巴中间件,作者王超 需要 Map 的主键和取值 反例: 正例: 使用Collection.is...

  • 断桥铝门窗新名词,要是不知道你就OUT了!

    关键词一:系统门窗 随着现在生活质量的不断提高,人们对住宅质量与性能有了明确要求,建筑门窗的节能性能、安全性能、隔...

  • 与爱俱进

    她说:“你当初的誓言像极了一个巴掌,每当我记起一句就挨一个耳光。” 她是我十年前的一个读友。从十七岁开始在网络上写...

  • 与“史”俱进

    昔我往矣,杨柳依依,今我来思,雨雪霏霏。”这样的诗句,掩卷而思,是一幅极其凄美的画面。他所能代表的,是我们...

  • 性能优化之稳定性优化

    提高代码质量 代码审查 android lint 代码检测 Crash监控 java层Crash监控 虚拟机为每个...

  • 虚拟机性能监控与故障处理工具

    一、监控Java应用程序性能和跟踪Java中的代码 1、jconsole: java监视与管理控制台 ,jdk提供...

  • 限时!字节Java程序性能优化宝典开源,原来这才叫性能优化

    让你的Java程序更快、更稳定 程序的性能受代码质量的直接影响。那么该如何让代码在级别上提升系统性能呢? 其实性能...

网友评论

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

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