容器类之间的区别是什么?
一、容器类之间的区别
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),因此每个单独的容器只包含应用程序及其库和依赖项。 由于缺少访客操作系统,容器才如此轻量,因此速度快且可移植。
以上就是关于容器类之间的区别的内容希望对大家有帮助。

相关推荐HOT
更多>>
C#编程语言里.sln文件是做什么用的?
一、C#编程语言里.sln文件的作用在C#编程语言中,.sln文件是指Visual Studio Solution文件,它用于保存Visual Studio项目和解决方案的相关信息...详情>>
2023-10-18 22:17:14
C语言整型常量十进制形式的类型与八进制、十六进制有什么不同?
一、C语言整型常量十进制形式的类型与八进制、十六进制的不同C语言中整型常量可以用十进制、八进制和十六进制表示,但是它们在表达时所使用的类...详情>>
2023-10-18 21:08:59
随机优化、鲁棒优化和分布鲁棒优化有什么联系和区别?
一、随机优化、鲁棒优化和分布鲁棒优化的联系和区别三个都是考虑了数据的不确定性,即存在扰动y,但是假设不一样。假设现实情况下的y属于某个概...详情>>
2023-10-18 19:08:43
javase和javaee区别?
一、javase和javaee区别Java SEJava SE(Java Platform,Standard Edition)。Java SE 以前称为 J2SE。它允许开发和部署在桌面、服务器、嵌入详情>>
2023-10-18 14:24:13热门推荐
为什么 C 语言被设计成函数需要先声明才能被使用?
沸编程语言的底层原理是什么?
热人工智能AI和机器人开发需要学习什么编程语言和技术?
热C#编程语言里.sln文件是做什么用的?
新基地创建项目进度怎么写?
C语言整型常量十进制形式的类型与八进制、十六进制有什么不同?
为什么函数式语言里有递归数据类型但没有递归函数类型?
大数据具有哪些特点?
大数据与数据库有什么区别?
随机优化、鲁棒优化和分布鲁棒优化有什么联系和区别?
JAVA和C语言多维数组的实质是什么有什么区别?
大数据分析和数据挖掘有什么区别?
SQL中的exists 与 not exists 有什么区别?
XFS 文件系统中soft limit 和 hard limit 有什么区别?
技术干货






