也许在好多人的眼中JAVA始终是低效的代名词,运用java写出的代码都是浪费内存的运行缓慢的,对java代码性能的优化也没有什么意义,也许
这就是那些常常沉迷于企业级开发,只看重业务逻辑看重什么高端的框架设计或是高度灵活的设计模式的同学们的片面看法吧,那么就让我为大家展示一些高效的变
成细节吧,这些细节也许对于JAVA EE 来说没有什么意义,但对于JAVA ME的开发来说意义也许是重大的。
1.使用速记Boolean条件
代码一:
if(boolean_expresion = true){
return true;
}else{
return false;
}
代码二:
return boolean_expresion;
很显然大家会认为代码二会比代码一效果好,那么为什么呢?因为代码二最终的编译结果会比代码一短
2.使类为final
如果类不会再被扩展那么把类标记为final将使编译器最终的编译结果效率更高。当然如果看过《Thinking in java》的朋友也许会注意到,现在的jdk版本已经做过优化final和非final的类效率已经差不了太多了,所以最终优化效果不会太明显。
3.尽量使用int
对于现阶段的大部分机器来说还都是32位处理器,然而一个long类型的数据类型来说将使用64位内存然而int则只需要32位,相同的数据如果使用int将比long速度快2-4倍
4.避免调用垃圾回收
System。gc()操作将调用很多的内存空间尤其是对于设备内存资源受限的设备来说更是毁灭性的;相信jvm的垃圾回收机制吧~~
5.对字符串使用静态变量
当定义String 类型的静态字段(也成类字段),可以用静态变量(非final)代替常量( final)加快程序速度。
private static final String x="storm";
对于这个静态常量(由final 关键字标识),你使用常量的每个时候都会创建一个临时的String 对象。在字节代码中,编译器去掉”x”,代替它的是字符串“example”,以致每次引用”x”时VM 都会进行一次哈希表查询
6.避免使用String的构造函数
避免使用java.lang.String(String)构造函数,因为它创建了一个没有必要的String对象,这个对象是作为参数提供的一个字符串的拷贝。因为String 对象创建后不可以修改,所以拷贝典型没有必要。
7.编写有效循环
代码一:
for(int count = 0; count < vector.size(); count++){
}
代码二:
int size = vector.size();
for(int count = 0; count <size; count++){
}
代码二为什么比代码一好你应该看得出来吧。
如果对遍历的顺序没有特殊要求向倒序也许更高效
for(int count = vector.size; count > 0; count--){
}
个人认为foreach更好用~~~~
8.优化除法操作
除法操作时缓慢的,如果可以的话尽量转换为右位移运算
9.使用instanceof进行转型
使用instanceof比trycache代码块效率更高
try{
(String)content.someoperation();
}cache(Exception e){
}
vs
if(content instanceof String){
(String)content.someoperation();
}else{
}
使用instanceof 比用try/catch 要快。当转型失败发生异常时才使用try/catch。
10.使用instanceof进行条件判断时不必进行null判断
分享到:
相关推荐
最佳实践: 作者分享了一些在重构过程中的最佳实践和经验,帮助读者更加高效地进行代码转换和优化。 代码质量和性能: 书中还涵盖了如何通过 Kotlin 的特性来提高代码质量和性能,包括空安全性、扩展函数、Lambda ...
以下是对Scala-SDK、向日葵(远程工具)和...阿里Java代码规范旨在提高代码的可读性、可维护性和稳定性,使得团队协作和代码维护更加高效和一致。 这些工具和规范在各自领域和场景中扮演着重要的角色。Scala-SDK提供了
这个实践项目旨在利用Java编程语言实现文件的压缩与解压缩功能,为用户提供一个高效、稳定且易于使用的文件处理工具。 源代码部分包含了完整的Java实现代码,包括压缩和解压缩两个主要功能。在压缩方面,代码使用了...
本项目为Java毕业设计作品,提供完整的源代码及详细论文。内容聚焦于Java文件压缩与解压缩功能的实现,采用高效、便捷的算法,支持多种常见的文件格式。项目结构清晰,注释充分,易于理解和二次开发。 主要功能特点...
本书出自第一线JAVA编程专家之手,为读者展现正确、高效、强固之JAVA代码实践方案。 这本取材广泛的掼,以不同层级的专家经验,帮助程序员更透彻地理解JAVA,使他们的编码效能发挥到极致。此书以准则/条款形式进行...
本书出自第一线JAVA编程专家之手,为读者展现正确、高效、强固之JAVA代码实践方案。\r\n 这本取材广泛的掼,以不同层级的专家经验,帮助程序员更透彻地理解JAVA,使他们的编码效能发挥到极致。此书以准则/条款形式...
本书深入浅出地介绍了Java线程和并发,是一本完美的Java并发参考手册。书中从并发性和线程安全性的基本概念出发,介绍了如何使用类库提供的基本并发构建块,用于避免并发危险、构造线程安全的类及验证线程安全的规则...
赋能医院企业高效办公,构建一站式医院门户管控平台.支持多系统集成,信息发布及数据共享,知识档案在线管理,提高医疗高效办公服务. 技术点:junit、fastjson、spring、springmvc、mybatis、c3p0、pinyin4j、...
通过案例完整呈现Tomcat的实现,系统总结Spring MVC九大组件的处理以及常用的技巧和实践 在大型网站和复杂系统的开发中,Java具有天然的优势,而在Java的Web框架中Spring MVC以其强大的功能以及简单且灵活的用法受到...
解压后大小(57.7M) 国内资深Web开发专家根据Spring MVC全新技术撰写,基于实际生产环境,从基础知识、源代码和实战3个维度对Spring MVC的结构和...学习作者自研的源代码分析方法——器用分析法,高效学习程序源代码。
本书出自第一线Java编程专家之手,为读者展现正确、高效、强国之JAVA代码实践方案。 侯捷翻译,质量有保障。 pdf 高清版本。
这个项目是一个基于Java语言开发的Web应用程序,采用SSM(Spring+SpringMVC+MyBatis)或SSH(Spring+SpringMVC+Hibernate)框架进行开发,使用MySQL作为数据存储,JSP作为页面开发。 项目的目标是构建一个高效、可靠...
代码清单 序 第1章 介绍 1.1 并发的(非常)简短历史 1.2 线程的优点 1.3 线程的风险 1.4 线程无处不在 第1部分 基础 第2章 线程安全 2.1 什么是线程安全性 2.2 原子性 2.3 锁 2.4 用锁来保护状态 2.5 活跃度与性能 ...
代码清单 序 第1章 介绍 1.1 并发的(非常)简短历史 1.2 线程的优点 1.3 线程的风险 1.4 线程无处不在 第1部分 基础 第2章 线程安全 2.1 什么是线程安全性 2.2 原子性 2.3 锁 2.4 用锁来保护状态 2.5 活跃度与性能 ...
本书摒弃了传统的以解读枯燥的Java虚拟机规范文档和分析繁琐的Java虚拟机源代码的方式来讲解Java虚拟机,取而代之的是,以实践的方式,引导读者如何从零开始构建和实现一个Java虚拟机,整个过程不仅能让读者做到对...
通过研究这份源代码,读者将学会如何使用Java多线程机制来构建一个高效的FTP服务器,从而满足大规模数据传输的需求。 "Java高级程序设计实验代码-FTP服务器设计与实现.zip" 是一份珍贵的资源,它代表了深度学习和...
**JAVA医药管理系统设计(论文+源代码)** 本资源为一套完整的基于Java的医药管理系统设计与...本资源适用于Java软件开发人员、医药行业从业人员以及计算机专业毕业生,可作为毕业设计、课程设计或实践项目的参考材料。
作者以易于理解的方式深入揭示了java虚拟机的内部工作原理,深入理解这些内容,将对读者更快速地编写更高效的程序大有裨益! 本书共分20章,第1-4章解释了java虚拟机的体系结构,包括java栈、堆、方法区、执行...
算法与数据结构涵盖了以下主要内容: 数据结构(Data Structures): 逻辑结构:描述数据元素之间...学习算法与数据结构不仅有助于理解程序的内部工作原理,更能帮助开发人员编写出高效、稳定和易于维护的软件系统。