`
SilenceGG
  • 浏览: 109200 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

代码注意

    博客分类:
  • JAVA
 
阅读更多

下面都是从PMD规则中总结的一部分代码优化建议:

1.局部变量只被赋值一次可以声明为final

说明: 使用final标识后,Java在编译的时候会自动把变化替换成常量,这样程序的运行效率就会提升

2.如果传入长度为1的字面意义参数,这调用String.startsWith 可以使用 String.charAt(0) 方法节省运行时间

说明:关于这点比较好理解,String对象本身就是char数组,String.startsWith方法在内部处理比较复杂,又有循环比较操作,所以效率远不及charAt操作。

“Abc”.startsWith(“A”) //bad

“Abc”.charAt(0) == ‘A’ //good

3.字符串拼接,使用StringBuffer,而不是直接使用”+”操作符进行拼接

说明: 关于这一点,大家都有认识。因为直接的String对象拼接,会产生新的String的对象进行存储。StringBuffer则会申请一个较大的内存空间(char数组), 针对拼接,如果没有超过char数组大小就直接追加到该数组尾部. 注意StringBuffer默认大小是16个字符,所以建议大家使用时指定创建的数组大小。

4.String 的indexOf方法,如果参数单个字母,则使用char

Abc”.indexOf (“A”) //bad

Abc”.indexOf(‘A’) //good

说明:String indexOf 方法,针对String和char的查找是使用了两个方法,有兴趣的同学可以看一下String的原代码,查找String的方法要比查找char方法复杂,相对耗时

5.建议不要使用无参的StringBuffer构造函数(该初始长度为16个字符)

说明: 大家可能对StringBuffer有一些误解,认为StringBuffer初始的空间比较大,但实际上其默认创建的大小只是16个字符的数组,一旦超过后,需要新申请的数组空间,这个就会有额外的开销。

分享到:
评论

相关推荐

    ACM+比赛经验分享+组队原则+读选题注意项+代码注意项+多讨论

    组队原则 读题注意项 选题注意项 写代码注意项 交代码注意项 多讨论 细心

    二分类任务 python代码 注意力机制

    使用注意力机制完成二分类任务,数据格式是csv文件,最后一列是target,列名为特征名称。 使用的是keras库,文件格式是ipynb,可在jupyter上运行。

    Attention(注意力机制代码)

    `Keras框架-Attention代码1.txt`和`Keras框架-Attention代码2.txt`可能包含实现不同类型的注意力层的示例,例如简单加权注意力(Simple Weighted Attention)和自注意力(Self-Attention),也称为Transformer注意力。...

    特征码搜索基址 c/c++源代码

    4. **源代码注意事项**: - 许可和来源:你提到代码来源于互联网,使用他人代码时要注意版权问题,确保遵循开源许可证规定,或在合适的情况下给予原作者署名。 - 安全与效率:内存扫描可能会消耗大量资源,需要...

    eladmin自动代码生成步骤以及注意事项.docx

    eladmin自动代码生成步骤以及注意事项 eladmin是一款基于SpringBoot的自动代码生成工具,旨在帮助开发者快速生成前端和后端代码,从而提高开发效率。下面将详细介绍eladmin自动代码生成的步骤和注意事项。 步骤一...

    注释代码的13条注意事项

    代码注释的13条注意事项 作为一名IT专业人士,我将对代码注释的13条注意事项进行详细的解释和分析。 1. Comment each level(每个级别的注释有统一的风格) 在编写代码时,注释是非常重要的一部分。对于不同的...

    CBAM注意力机制(MatLab代码实现)

    CBAM注意力机制(MatLab代码实现)

    注意力机制代码 python

    注意力机制代码 在这个示例中,我们使用PyTorch实现了一个基于Luong注意力机制的Attention模型类。代码中包括__init__方法用于初始化可学习参数W_a和v_a,以及forward方法用于计算注意力权重和上下文向量。需要注意...

    Attention(注意力机制代码).zip

    在`Keras框架-Attention代码1.txt`和`Keras框架-Attention代码2.txt`中,我们可以看到如何在Keras中实现注意力机制。Keras是基于Python的深度学习库,易于使用且支持多种后端,包括TensorFlow。注意力机制在Keras中...

    Java代码走查注意点

    Java代码走查注意点 Java 代码走查是软件开发中的一项重要任务,它可以帮助开发者发现和修复代码中的错误和不良实践。以下是 Java 代码走查过程中的注意点: 1. 尽量避免使用 import* 导致的问题 在 Java 代码中...

    Capsule-master_恶意代码_双向LSTM+胶囊网络+注意力机制_文本分类_恶意代码API序列分类_

    标题中的“Capsule-master_恶意代码_双向LSTM+胶囊网络+注意力机制_文本分类_恶意代码API序列分类”揭示了这是一个使用高级机器学习技术,特别是深度学习模型,来识别和分类恶意代码API序列的项目。这个项目的核心是...

    基于相位谱视觉注意机制matlab代码

    这个压缩包提供的是一套基于Matlab实现的相位谱视觉注意机制的源代码,对于理解该机制以及进行相关研究具有重要价值。 相位谱视觉注意机制借鉴了人类视觉系统的工作原理,特别是在处理复杂视觉环境时的注意力选择性...

    G代码一览表

    G代码和M代码的使用注意事项 在使用G代码和M代码时,需要注意以下几点: * G代码和M代码不能同时使用在同一程序段中。 * M代码不能单独使用,需要与G代码结合使用。 * 在使用M代码时,需要注意机床的实际情况,...

    一文读懂——全局注意力机制(global attention)详解与代码实现

    Gobal Attention的目的:是为了在生成上下文向量(也可以认为是句向量)时将所有的hidden state都考虑进去。Attention机制认为每个单词在一句话中的重要程度是不...本代码采样keras2.2.4\tensorflow1.12进行实现的。

    微信幸运大转盘 及 刮刮卡 代码

    微信幸运大转盘 及 刮刮乐 代码 注意 没有后台管理,只有前端效果代码

    备份数据库-备份网站-打开网站脚本代码以及注意事项

    备份数据库-备份网站-打开网站脚本代码以及注意事项 备份数据库-备份网站-打开网站脚本代码以及注意事项 备份数据库-备份网站-打开网站脚本代码以及注意事项 备份数据库-备份网站-打开网站脚本代码以及注意事项

    2023-04-06-项目笔记 - 第一百六十三阶段 - 4.4.2.161全局变量的作用域-161 -2024.06.13

    写代码注意代码风格 4.3.1变量的使用 4.4变量的作用域与生命周期 4.4.1局部变量的作用域 4.4.2全局变量的作用域 4.4.2.1全局变量的作用域_1 4.4.2.161全局变量的作用域_161- 2024-06-13三阶段-课前小分享_小分享1....

    使用pytorch框架实现的各种注意力机制代码.zip

    标题"使用PyTorch框架实现的各种注意力机制代码"表明,这个压缩包中包含了一系列用PyTorch编写的注意力机制的实现,这些代码可能涵盖了从基础的自注意力到更复杂的结构,如Transformer模型中的多头注意力(Multi-...

    Compressed-sensing压缩感知

    压缩感知相关参数、重构的方法等代码,具体说明如下 Measurement matrixs :存有多种测量矩阵的实现代码 Reconstruction ...注意:此中代码多为 .m 文件,且每个路径中都有相关的txt文件说明各自所实现的内容!

    PYTHON做贪吃蛇代码

    PYTHON做贪吃蛇代码 PYTHON做贪PYTHONPYTHON做贪吃蛇代码做贪吃蛇代码 吃蛇代码 PYTHON做贪吃蛇代码PYTHON做贪吃蛇代码PYPYTHON做贪吃蛇代码THON做贪吃蛇代码PYTHON做贪吃蛇代码PYTHON做PYTHON做贪吃蛇代码贪吃蛇...

Global site tag (gtag.js) - Google Analytics