java 效率编程 的一些小知识点

1.在程序中若出现字符串连接的情况,请使用StringBuffer代替String,这样可以减少多次创建String以及垃圾回收所带来的内存消耗

2.尽量使用局部变量。调用方法时传递的参数以及调用中创建的临时变量都保存在栈中,因为JVM是基于堆栈的虚拟机,所以优化了对堆栈的处理,而且,Static变量和类的实例变量都是在堆上创建的,因此使用局部变量的执行效率比使用Static变量和类的实例变量的执行效率要高

3.for(int i = 0 ; i<list.size() ; i++){

}

尽量使用下面的方式代替上面的方式

int count = list.size();

for(int i = 0 ; i<count ; i++){

}

原谅我可耻的mark行为吧:原文地址http://blog.csdn.net/zhaokaiqiang1992/article/details/26157109

这样可以减少很多运算,例如我们下面的程序

package Test;
import java.util.ArrayList;
import java.util.List;
public class TestForFast {
	public static void main(String[] args) {
		List<String> list = new ArrayList<String>();
		//创建包含大数据的集合
		for (long i = 0; i < 1000000; i++) {
			list.add("xixixi"+i);
		}
		long starttime1 = System.currentTimeMillis();
		for(int i=0;i<list.size();i++) {
			//执行一些操作
		}
		long endtime1 = System.currentTimeMillis();
		System.out.println("第一种浪费的时间是:"+(endtime1-starttime1));

		long starttime2 = System.currentTimeMillis();
		int count = list.size();
		for(long i=0;i<count;i++) {
			//执行一些操作
		}
		long endtime2 = System.currentTimeMillis();
		System.out.println("第二种浪费的时间是:"+(endtime2-starttime2));
	}
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-12-10 00:46:08

java 效率编程 的一些小知识点的相关文章

对日编程的一些小知识点

在GitHub上有个项目,本来是作为自己研究学习.net core的Demo,没想到很多同学在看,还给了很多星,所以觉得应该升成3.0,整理一下,写成博分享给学习.net core的同学们. 项目名称:Asp.NetCoreExperiment 项目地址:https://github.com/axzxs2001/Asp.NetCoreExperiment 今天先分享几个对日编程的小知识点 1.关于BOM(Byte Order Mark)知识点( https://baike.baidu.com/i

Java Socket编程实现聊天小案例

 一.用户需求: 1.实现使用用户名登陆(不能重复) 2.登陆后能获取所有在线用户 3.可以给所用用户群发信息 4.也可以给某个用户单独发送信息 5.用户退出时,一起登陆用户能立刻感知 二.初步分析: 1.需要在服务器端记录当前登陆的用户,便于用户登陆时用户名查重及消息群发 2.用户登陆成功后需要获取所有在线用户信息,并记录,能够单独给该用户发送信息 3.用户退出时,需要通知服务器从服务器数据中删除该用户并通知到所有用户 三.效果图: 图1.服务器启动Socket监听 图2 启动客户端登录

编程中的小知识点

1.Integer.valueOf()    可以将 int 类型 转为为 包装类 Integer 类型    可以将String 类型转换为 int 类型 原文地址:https://www.cnblogs.com/helloqiufei/p/12048940.html

干货:Java并发编程必懂知识点解析

本文大纲 并发编程三要素 原子性 原子,即一个不可再被分割的颗粒.在Java中原子性指的是一个或多个操作要么全部执行成功要么全部执行失败. 有序性 程序执行的顺序按照代码的先后顺序执行.(处理器可能会对指令进行重排序) 可见性 当多个线程访问同一个变量时,如果其中一个线程对其作了修改,其他线程能立即获取到最新的值. 2. 线程的五大状态 创建状态 当用 new 操作符创建一个线程的时候 就绪状态 调用 start 方法,处于就绪状态的线程并不一定马上就会执行 run 方法,还需要等待CPU的调度

干货:Java并发编程必懂知识点解析(内附面试题)

本文大纲 1.并发编程三要素 原子性 原子,即一个不可再被分割的颗粒.在Java中原子性指的是一个或多个操作要么全部执行成功要么全部执行失败. 有序性 程序执行的顺序按照代码的先后顺序执行.(处理器可能会对指令进行重排序) 可见性 当多个线程访问同一个变量时,如果其中一个线程对其作了修改,其他线程能立即获取到最新的值. 2. 线程的五大状态 创建状态 当用 new 操作符创建一个线程的时候 就绪状态 调用 start 方法,处于就绪状态的线程并不一定马上就会执行 run 方法,还需要等待CPU的

JAVA测试编程知识点

JAVA测试编程会涉及的知识点: 1.      testNg框架 2.      http协议和HttpClient. 在依据http头进行不同数据解析: Transfer-Encoding:chunked 在chunked 为ture时接口分段传数据怎么解析处理 chunked 不为ture时接口测试已可以处理. Content-Encoding: gzip 接口数据压缩的怎么解析处理 结合Transfer-Encoding:chunked为ture时接口数据怎么解析处理 不同Content

Java并发指南开篇:Java并发编程学习大纲

Java并发编程一直是Java程序员必须懂但又是很难懂的技术内容. 这里不仅仅是指使用简单的多线程编程,或者使用juc的某个类.当然这些都是并发编程的基本知识,除了使用这些工具以外,Java并发编程中涉及到的技术原理十分丰富.为了更好地把并发知识形成一个体系,也鉴于本人没有能力写出这类文章,于是参考几位并发编程专家的博客和书籍,做一个简单的整理. 一:并发基础和多线程 首先需要学习的就是并发的基础知识,什么是并发,为什么要并发,多线程的概念,线程安全的概念等. 然后学会使用Java中的Threa

Java游戏编程的几个小经验

1.输出图片,最直接的方式是 Image img = Toolkit.getDefaultToolkit().getImage("images/cheer1.jpg"); graphics.drawImage(img, 0, 0, 500, 500, null); 注意:路径是相对于工程根目录的,不是相对于src的 2.深刻理解 repaint()  update()   paint() 三者之间的关系 每一次输出图片,都要先重新获得一次画笔graphics,(通过getGraphic

java面向对象编程知识点总结

一:今天完成 上午详细了解了java面向对象编程的一些细节,记录如下. 1)类 是一种引用类型,包含一个签名和一个主体,主体是放在花括号里面的成员,成员包括字段和方法,还有构造方法.初始化程序和嵌套类型. 常用成员有四种:类字段.类方法.实例字段.实力方法. 其它引用类型还包括数组.接口.枚举和注解. 2)字段和方法 示例:一个简单的类和成员 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 public class Circle{