• 首页
        • 更多产品

          客户为中心的产品管理工具

          专业的软件研发项目管理工具

          简单易用的团队知识库管理

          可量化的研发效能度量工具

          测试用例维护与计划执行

          以团队为中心的协作沟通

          研发工作流自动化工具

          账号认证与安全管理工具

          Why PingCode
          为什么选择 PingCode ?

          6000+企业信赖之选,为研发团队降本增效

        • 行业解决方案
          先进制造(即将上线)
        • 解决方案1
        • 解决方案2
  • Jira替代方案
目录

容器类之间的区别是什么

容器类之间的区别是:1. Collection中存储了一组对象,而Map存储关键字/值对;2. Map不能包括两个相同的键,一个键非常多能绑定一个值,null可以作为键,这样的键只有一个。

一、容器类之间的区别

1. Collection中存储了一组对象,而Map存储关键字/值对(在Map对象中,每一个关键字非常多有一个关联的值)。

2.Map不能包括两个相同的键,一个键非常多能绑定一个值。null可以作为键,这样的键只有一个;可以有一个或多个键所对应的 值为null。当get()方法返回null值时,即可以表示Map中没有该键,也可以表示该键所对应的值为null。因此,在Map中不能由get()方法来判断Map中是否存在某个键,而应该用containsKey()方法来判断。

继承Map的类有:HashMap,HashTable

HashMap:Map的实现类,缺省情况下是非同步的,可以通过Map Collections.synchronizedMap(Map m)来达到线程同步

HashTable:Dictionary的子类,确省是线程同步的。不允许关键字或值为null

延伸阅读:

二、什么是容器

容器是软件的可执行单元,它采用通用方式封装了应用程序代码及其库和依赖项,因此可以随时随地运行容器(无论是在桌面、传统 IT 还是云端)。

为此,容器利用操作系统 (OS) 虚拟化形式,这里会利用操作系统的功能(在 Linux 内核中,即名称空间和 cgroups 原语)来隔离进程,并控制这些进程有权访问的 CPU、内存和磁盘的数量。容器小巧轻便、速度快且可移植;与虚拟机不同,容器不需要在每个实例中都包含访客操作系统,只需利用主机操作系统的功能和资源即可。

在传统的虚拟化(无论是在本地还是在云端)中是使用管理程序来虚拟化物理硬件。 每个虚拟机都包含一个访客操作系统、操作系统运行所需硬件的一个虚拟副本以及一个应用及其关联的库和依赖项。

容器不是要虚拟化底层硬件,而是要虚拟化操作系统(通常是 Linux),因此每个单独的容器只包含应用程序及其库和依赖项。 由于缺少访客操作系统,容器才如此轻量,因此速度快且可移植。

以上就是关于容器类之间的区别的内容希望对大家有帮助。

一站式研发项目管理平台 PingCode

一站式研发项目管理平台 PingCode

支持敏捷\瀑布、知识库、迭代计划&跟踪、需求、缺陷、测试管理,同时满足非研发团队的流程规划、项目管理和在线办公需要。

相关文章