container

什么是java容器?

  相似的,docker容器中如果装的是app,java容器中装载的就是组件 ,而容器之外的程序需要和这些组件交互必须通过容器 。

  举个例子,IE发送了一个请求给容器,容器通过调用其中的一个组件进行相关处理之后将结果反馈给IE,这种与客户端软件交互的组件就叫做servlet

那什么是组件呢?

  组件其实就是一个应用程序块 。但是它们不是完整的应用程序,不能单独运行 。就有如一辆汽车,车门是一个组件,车灯也是一个组件 。但是光有车灯车门没有用,它们不能跑上公路 。在java中这些组件就叫做javabean,有点像微软以前的com组件 。

  要特别说明的是,由于任何一个java文件编译以后都是以类的形式存在 。所以javabean肯定也是一个类,这是毫无疑问的。

 常用容器

WebSphere,WebLogic,Resin,Tomcat

 

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

ArrayList和HashMap是异步的,Vector和Hashtable是同步的,所以Vector和Hashtable是线程安全的,而ArrayList和HashMap并不是线程安全的。因为同步需要花费机器时间,

所以Vector和Hashtable的执行效率要低于 ArrayList和HashMap。

为什么要引入数据容器 

        在书写程序的时候,我们常常需要对大量的对象引用进行管理。为了实现有效的归类管理,我们常常将同类的引用放置在同一数据容器中。由于数据容器中存放了我们随时可能需要使用到的对象引用,所以一般的数据容器要都要能能提供方便的查询、遍历、修改等基本接口功能。早期的OOP语言都通过数组的方式来实现对引用集的集中管理和维护。

        但是数组方式下,数组大小需要提前被确定,并不允许修改大小,导致其作为一种灵活的数据容器的能力的功能大为下降。为了方便的利用数据容器进行引用的管理,Java中提供了丰富的数据容器以满足程序员多样化的需求。


经过对容器的理解,个人对未来容器的看法和发展趋势做以下估测:

  容器技术感觉目前来说已经很强大了,可以做很多事情,应该也将会越来越完善,功能也可能会更加智能化

原文地址:https://www.cnblogs.com/oner-xd/p/10507003.html