天天看点

Java面试知识点(二十七)Java中容器的概念

容器(Container)

Spring 提供容器功能,容器可以管理对象的生命周期、对象与对象之间的依赖关系,您可以使用一个配置文件(通常是 XML),在上面定义好对象的名称、如何产生(Prototype 方式或 Singleton 方式)、哪个对象产生之后必须设定成为某个对象的属性等,在启动容器之后,所有的对象都可以直接取用,不用编写任何一行程序代码来产生对象,或是建立对象与对象之间的依赖关系。

换个更直白点的说明方式:容器是一个 Java 所编写的程序,原先必须自行编写程序以管理对象关系,现在容器都会自动帮您作好。

常用容器:WebSphere,WebLogic,Resin,Tomcat

容器类

容器类 其实就是一种用来存储数据的数据结构,在 JAVA 中容器可分为即 “集合”(Set)、“列表”(List)、“映射”(Map)。至于,为什么需要容器,总的来说,主要是在以数组作为数据的存储结构中,其长度难以扩充,同时数组中元素类型必须相同。而容器可以弥补数组的这两个缺陷。

Java 容器类包含 List、ArrayList、Vector 及 map、HashTable、HashMap

ArrayList 和 HashMap 是异步的,Vector 和 HashTable 是同步的,所以 Vector 和 HashTable 是线程安全的,而 ArrayList 和 HashMap 并不是线程安全的。因为同步需要花费机器时间,所以 Vector 和 HashTable 的执行效率要低于 ArrayList 和 HashMap。

Collection

├List 接口

│├LinkedList 链表

│├ArrayList 顺序结构动态数组类

│└Vector 向量

│ └Stack 栈

└Set

Map

├Hashtable

├HashMap

└WeakHashMap List 接口