java 复习001

时间:2014-05-30 03:00:39   收藏:0   阅读:350

java 复习001

比较随意的记录下我的java复习笔记

ArrayList 内存扩展方法

  1. 分配一片更大的内存空间,复制原有的数据到新的内存中,让引用指向新的内存地址
  2. ArrayList在内存不够时默认是扩展为1.5倍 + 1个

ArrayList,LinkedList,Vector 区别

  1. Vector内存扩展和ArrayList一样,不过Vector是默认扩展为2倍
  2. Vector支持线程的同步,因此牺牲了访问性能
  3. ArrayList,Vector都是使用数组实现,插入删除效率低
  4. LinkedList是链表实现,插入删除效率高,但遍历和随机访问速率低
  5. LinkedList提供操作链头和链尾的方法,可以轻松实现栈和队列

HashMap和HashTable的区别

HashMap实现详见:vblog-HashMap Hashtable 类似于 HashMap,但是不允许 null 键和 null 值。它也比 HashMap 慢,因为它是同步的。

附张简单的java集合类关系图

bubuko.com,布布扣

java泛型和c++的区别

  1. c++叫函数模板(template),在编译期间会转换为模板类的目标代码
  2. java在编译期间不会转换成泛型类的目标代码,而是生成
    t
    前加必要的类型转换代码
  3. java的泛型是伪泛型,因为只是在编译期间添加了类型转换代码,和自己手动添加没有任何区别,只能起更直观的类型控制作用,没有像c++那样提高效率
  4. 而且这种类型转换导致java的泛型不能是基础类型(如:int),而c++就没有这个限制了

java内存溢出问题

  1. 数据库查询条目太多,Hiberate session处理数据时,同个session会缓存所有的条目,导致内存不够溢出了
    • 同一个session进行分页查询,注意
      )
  2. 特别注意资源调用时注意关闭,容易导致内存泄漏

链条编程

filter(过滤器)

动态代理(dynamic proxy)->interaptor(拦截器)

工厂模式(Factory)

单例模式

Hibernate

java 复习001,布布扣,bubuko.com

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!