综合

一、String str="abc",一定有创建引用,但不一定有在堆中创建新的对象。

String str=new String("abc"),一定会在堆中创建新的对象。

两者比较发现,前者的在一定程度上提高程序的运行速度,后者会占用虚拟内存,从而加重程序的负担。

二、equals与==的应用。

当比较包装类里面的数值是否相等时,用equals()方法;当测试两个包装类的引用是否指向同一对象时,用==。

三、提交String变量的效率

当String变量需要经常变换其值时,应该考虑使用StringBuffer类。以提高程序效率。

四、堆与栈的比较

堆主要用来存放对象,栈主要是用来执行程序。

程序模块数据区的分配是在程序运行时进行,但是分配的大小与多少是在编译时确定的。

堆是应用程序在运行时请求操作系统分配给自己内存,由于从操作系统管理的内存分配,所以在分配和销毁时都要占用时间,因此用堆的效率非常低。

五、如果涉及到堆栈,队列等操作,应该考虑用List,对于需要快速插入,删除元素,应该使用LinkedList,如果需要快速随机访问元素,应该使用ArrayList。

本站公众号
   欢迎关注本站公众号,获取更多程序园信息
开发小院