Java代码中可以优化性能的小细节
避免对boolean类型的判定
反例:
1  | 
if("a".equles("a")==true)`{
 | 
正例:
1  | 
if(Objects.equles("a","a"))`{
 | 
**多用条件判断符 **
反例:
1  | 
if(a<0)`{
 | 
a<0?0:1;
1  | 
  | 
if(!a<0)`{
return 0;
}else{
return 1;
}
1  | 
正例:  | 
if(a>=0)`{
return 0;
}else{
return 1;
}
1  | 
  | 
“abc”+“d”;
1  | 
正例:  | 
“abc”+‘d’;
1  | 
**大量字符串拼接时使用StringBuffer代替+**  | 
for(int i=0i<a.size();;i++){
}
1  | 
正例:  | 
for(int i=0,n=a.size();i<n;i++){
}
1  | 
  | 
int index=-1;
for(int i=0,n=a.size();i<n;i++){
if(a.get(i)==3){
index=i;
}
}
1  | 
正例:  | 
int index=-1;
for(int i=0,n=a.size();i<n;i++){
if(a.get(i)==3){
index=i;
break;
}
}
**不要在循环中改变数组/List的大小**
**使用`System.arrayCopy`进行复制数组**
**使用Buffer进行IO操作**
**释放资源的代码要放在finally代码块中**
**多用java.util.Obects工具类**
<h4
												
											Java代码中可以优化性能的小细节的更多相关文章
	
								- java高级用法之:在JNA中将本地方法映射到JAVA代码中
		
目录 简介 Library Mapping Function Mapping Invocation Mapping 防止VM崩溃 性能考虑 总结 简介 不管是JNI还是JNA,最终调用的都是nativ ...
		 
						- 关于在Java代码中写Sql语句需要注意的问题
		
最近做程序,时不时需要自己去手动将sql语句直接写入到Java代码中,写入sql语句时,需要注意几个小问题. 先看我之前写的几句简单的sql语句,自以为没有问题,但是编译直接报错. String st ...
		 
						- Spring MVC框架下在java代码中访问applicationContext.xml文件中配置的文件(可以用于读取配置文件内容)
		
<bean id="propertyConfigurer" class="com.****.framework.core.SpringPropertiesUtil& ...
		 
						- 使用mongo-java-driver3.0.2.jar和mongodb3.0在java代码中的用户验证4
		
以下是使用mongo-java-driver3.0.2.jar和mongodb3.0.4在java代码中的用户验证: ServerAddress sa = new ServerAddress(host ...
		 
						- Android color(颜色) 在XML文件和java代码中
		
Android color(颜色) 在XML文件和java代码中,有需要的朋友可以参考下. 1.使用Color类的常量,如: int color = Color.BLUE;//创建一个蓝色 是使用An ...
		 
						- java代码中获取进程process id(转)
		
另一方面,线程ID=进程ID+内部线程对象ID并不成立,    参考: blog.csdn.net/heyetina/article/details/6633901     如何在java代码中获取进 ...
		 
						- android中在java代码中设置Button按钮的背景颜色
		
android中在java代码中设置Button按钮的背景颜色 1.设置背景图片,图片来源于drawable: flightInfoPanel.setBackgroundDrawable(getRes ...
		 
						- Java代码中获取Json的key值
		
测试json字符串: {"access_token":"hkbQl5o_l67dZ7_vJRATKBwTLk9Yj5QyMuOJThAr8Baj0xWf4wxW1p4ym ...
		 
						- 在java代码中执行js脚本,实现计算出字符串“(1+2)*(1+3)”的结果
		
        今天在公司项目中,发现一个计算运费的妙招.由于运费规则各种各样,因此写一个公式存到数据库.下次需要计算运费时,直接取出这个公式,把公式的未知变量给替换掉,然后计算出结果就是ok了. 一 ...
		 
		
	
随机推荐
	
									- PHP7.1-soap扩展安装
			
1.下载php7.1.27源码包 cd /root & wget -O php7.1.27.tar.gz http://cn2.php.net/get/php-7.1.27.tar.gz/fr ...
			 
						- python实验脚本
			
day1 1.  任性猜数字 需求 : 猜数字, 猜3次.如果对了 就直接退出. 如果3次都错了 ,就询问 要不要继续. 实现点: 使用 whie 循环. count 进行计数.如果count > ...
			 
						- 201871010135 张玉晶《面向对象程序设计(java)》第十三周学习总结
			
项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/zyja/p/11918 ...
			 
						- 第十二周博客作业 <西北师范大学| 周安伟>
			
第十二周作业 助教博客链接https://home.cnblogs.com/u/zaw-315/ 作业要求链接https://www.cnblogs.com/nwnu-daizh/p/10831971 ...
			 
						- JavaMap常用操作
			
判断key值是否存在 map.containsKey("youkey") 根据key修改value值 map.put("youkey","you ne ...
			 
						- JDOJ 2225 工资计划
			
JDOJ 2225: 工资计划 https://neooj.com/oldoj/problem.php?id=2225 Description 高考结束后,同学们大都找到了一份临时工作,渴望挣得一些零 ...
			 
						- LG2463/BZOJ4698 「SDOI2008」Sandy的卡片  后缀数组
			
问题描述 LG2463 BZOJ4698 题解 看到\(n\)个数串,一开始不太好处理,可以很容易想到把这\(n\)个数串连到一起,形成一个大串,但是每个串之间不容易处理. 经过思考,想到在每个串中间 ...
			 
						- linux下找到JVM占用资源最高的线程
			
linux的top命令不仅可以看线程的资源占用,还可以看进程下线程的资源占用,结合对应的java命令可以定位到具体有问题的Java代码,以找出占用CPU最高的线程为例: 第一步: 通过 top命令查找 ...
			 
						- 【转】用C语言实现FFT算法
			
傅里叶变换 快速傅里叶变换(Fast Fourier Transform,FFT)是一种可在  时间内完成的离散傅里叶变换(Discrete Fourier transform,DFT)算法. 在算法 ...
			 
						- DVWA SQL Injection(Blind) 通关教程
			
SQL Injection(Blind),即SQL盲注,与一般注入的区别在于,一般的注入攻击者可以直接从页面上看到注入语句的执行结果,而盲注时攻击者通常是无法从显示页面上获取执行结果,甚至连注入语句是 ...