java性能优化总结(2):集合
2017-01-03 21:00
148 查看
补充:性能优化总结(1):基础
前面对java性能优化基础篇谈了一些,但不全,这里再给大家再补充一下。个人认为,如果想要对java进行性能优化必须对java中jvm内存模型、jvm中类加载机制以及jvm中对象创建过程了如指掌。如果对这一块不了解的小伙伴可以查看我之前写的博客:
java类加载机制
谈谈Java中的对象
jvm内存模型(此处推荐的一个博文,感觉可以。)
集合
集合,是我们平时使用最多的数据结构,比如List、 Array、Map等。这块内容也是面试时绕不开的话题,比如让你比较HashTable与HashMap的异同。本人整理了一下,看下图:
这张图相对来说比较全面点,但是缺少对集合遍历的方式。一般集合遍历方式一般有2种:随机访问方式与迭代器访问方式。对于实现了RandomAccess接口采用随机访问的方式。一般普通的for循环就是随机访问方式。如果继承了SequenceList 则使用迭代器模式访问。
总结
java中如果对并发没有要求的,建议使用ArrayList替换Vector,使用HashMap替换HashTable。另外作为Map中key的类型必须重写hashCode与equals方法。
前面对java性能优化基础篇谈了一些,但不全,这里再给大家再补充一下。个人认为,如果想要对java进行性能优化必须对java中jvm内存模型、jvm中类加载机制以及jvm中对象创建过程了如指掌。如果对这一块不了解的小伙伴可以查看我之前写的博客:
java类加载机制
谈谈Java中的对象
jvm内存模型(此处推荐的一个博文,感觉可以。)
集合
集合,是我们平时使用最多的数据结构,比如List、 Array、Map等。这块内容也是面试时绕不开的话题,比如让你比较HashTable与HashMap的异同。本人整理了一下,看下图:
这张图相对来说比较全面点,但是缺少对集合遍历的方式。一般集合遍历方式一般有2种:随机访问方式与迭代器访问方式。对于实现了RandomAccess接口采用随机访问的方式。一般普通的for循环就是随机访问方式。如果继承了SequenceList 则使用迭代器模式访问。
总结
java中如果对并发没有要求的,建议使用ArrayList替换Vector,使用HashMap替换HashTable。另外作为Map中key的类型必须重写hashCode与equals方法。
相关文章推荐
- Java程序性能优化总结--------数组/集合篇
- Java程序性能优化总结--------变量和函数调用篇
- Java程序性能优化总结--------数据类型篇
- 心得总结:Java性能优化技巧集锦6
- Java学习总结16——Java Web应用性能优化总结
- Java程序性能优化总结--------操作符篇
- java性能优化设计之--消除静态集合
- 心得总结:Java性能优化技巧集锦5
- 性能优化总结(JAVA平台)
- Java 集合系列 07 List总结(LinkedList, ArrayList等使用场景和性能分析)
- Java程序性能优化总结--------流程控制篇
- 系统性能优化总结—java代码优化
- Java程序性能优化总结--------线程、I/O及系统篇
- 心得总结:Java性能优化技巧集锦4
- [java]性能优化总结:
- Java程序性能优化总结--------对象篇
- 心得总结:Java性能优化技巧集锦
- java代码性能优化总结
- 心得总结:Java性能优化技巧集锦1
- Java 集合系列08之 List总结(LinkedList, ArrayList等使用场景和性能分析)