|
不知道有没有人写过,今天我开个头,大家一起讨论讨论~~
1.这里比较一下ArrayList和LinkedList:
1).ArrayList是基于数组,LinkedList基于链表实现。
2).对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。
3).对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。
4).查找操作indexOf,lastIndexOf,contains等,两者差不多。
这里只是理论上分析,事实上也不一定,比如ArrayList在末尾插入和删除数据就不设计到数据移动,不过还是
有这么个建议:随机访问比较多的话一定要用ArrayList而不是LinkedList,如果需要频繁的插入和删除应该
考虑用LinkedList来提高性能。
2.减少不必要的对象的创建是提高性能的好办法。
不仅对JAVA,所有语言都适用。
3.避免在循环条件中使用复杂表达式 在不做编译优化的情况下,在循环中,循环条件会被反复计算,如果不使用复杂表达式,而使循环条件值不变的话,程序将会运行的更快。
4.在finally块中关闭Stream 程序中使用到的资源应当被释放,以避免资源泄漏。这最好在finally块中去做。不管程序执行的结果如何,finally块总是会执行的,以确保资源的正确关闭。
5.使类和成员的可访问能力最小化,复合优先于继承,接口优先于抽象类.
6.尽量不要将大对象放到HttpSession或其他须序列化的对象中,并注意及时清空Session
7.java中,设计了比较完善的错误处理机制。然而,错误处理机制是很要资源的。所有尽量的不捕获一些没必要捕获的异常
|
|