java 编程规范

来源:互联网 发布:房地产大数据 走势 编辑:程序博客网 时间:2024/05/22 04:04

List<Record> instanceInfoList = new ArrayList<Record>(); //查询数据库获取符合条件的记录列表 instanceInfoList = selectFromDB(); //产生垃圾ArrayList对象 修改后: //查询数据库获取符合条件的记录列表 List<Record> instanceInfoList = selectFromDB();


:不使用缓冲的I/O操作会频繁的调用操作系统底层函数访问磁盘,使用缓冲机制能带来显著的性能提升。

ArrayList: 1. ArrayList内部是使用Object数组来实现,随机访问速度很快。 2.向ArrayList内添加元素如果遇到内部数组需要扩容,则需要内存拷贝,速度慢。 3.在ArrayList内插入,删除元素涉及内存拷贝,速度很慢。 LinkedList: 1.LinkedList内部使用链表实现,随机访问其中的元素很慢。 2.在LinkedList内插入删除元素速度很快。 总结:如果需要频繁的随机访问容器中的数据,不需要频繁的对容器中的数据进行修改或者移动,那么考虑使用ArrayList;如果你不需要频繁的随机访问容器中的数据,需要频繁的对容器中的数据进行修改或者移动,那么考虑使用LinkedList; HashSet:Set是集合类,该集合不能有“重复”对象存在。HashSet 将持有对象映射到在哈希表中,可快速存取对象。由于使用了Hash算法对对象的hashCode方法强依赖。 HashMap:Map是一组key-value(键值对)集合,其中的key(键)不能重复。HashMap用key对象生成hashcode然后映射到Entry<K,V>[]数组(键值对数组)中,其get(Object key) 最佳时间复杂度为O(1),最坏则为O(n),因此高效的实现key对象的hashCode方法对HashMap的性能至关重要。在存在多线程并发访问HashMap的场景下必须考虑加/解锁。

原创粉丝点击