容器相关

一.HashMap的实现机制

  1.HashMap是基于哈希表的map接口的非同步实现。HashMap相当于一个数组,数组的每个元素为一个链表。

  2.向HashMap中插入一个Entry时,先计算Key的hashcode,根据hashcode确定Entry在数组中的位置,再根据equals判断是否存在重复元素。查找也类似

  3.HashMap允许Null的K和Null的V。

  4.HashMap初始化时允许指定 数组的初始化大小 和 加载因子。当元素个数>数组*加载因子时,HashMap需要扩容,扩容后需要重新分配元素的位置,性能较差

二.ConcurrentHashMap

  1.HashMap适用于单线程;HashTable适用于多线程,但性能不高,同一时刻能被一个线程使用

  2.ConcurrentHashMap与HashTable类似。区别在于,HashTable锁的是整个table,而ConcurrentHashMap锁的是segment(表的一个位置)

三.ArrayList的内部实现

  1.ArrayList是可扩展的数组

  2.ArrayList不适合频繁插入和删除的操作,LinkedList适合

四.容器的基本分类

  Collection:List,按照顺序存储元素;Set,不插入重复元素;Queue,按照队列的方式确定对象产生顺序

  Map:一组成对的<key,value>对象,可以用key查找value

时间: 2024-10-13 06:36:57

容器相关的相关文章

docker实战之centos6.5上安装、镜像、容器相关操作

学习docker前,理解以下几个概念有助于更好的使用docker.镜像,容器,仓库.镜像,就是一个操作系统环境,里面只有你需要的几个应用程序,如apache,mysql,php之类,只读模板.容器,从镜像创建的运行实例.可视为一个简易环境中和其中运行的应用.仓库,存放镜像的地方.学过git的同学可能更容易理解. 一.安装docker时,增加第三方源epel如果是centos7,下载并安装这个软件包#wget http://mirror.hust.edu.cn/epel/beta/7/x86_64

Spring容器相关扩展点

// 如果容器内的bean实现了该接口,那么在容器中实例化任何其他bean之前都会回调该方法来对bean的配置元数据进行修改 public interface BeanFactoryPostProcessor { void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException; } // 通知接口 public interface Aware { } // 常用: //

Docker(二)——常用命令(镜像相关命令,容器相关命令:启动,拷贝,目录挂载,删除等等)

上一篇文章写的是Docker的安装和启动,启动了Docker我们可以进行镜像的安装了,镜像就是包含各种应用的操作系统. 一.镜像相关命令 1.搜索镜像 命令行的方式: docker search python #搜索关于python的镜像 在网站搜索: https://hub.docker.com/ #一般在网站上搜索方便看,搜索好之后再安装 搜索关于带python的Docker  2.下载镜像 docker pull centos:centos7.7.1908 #指定下载centos7.7.1

Docker容器相关命令

启动一次性运行的容器 入门级例子:从ubuntu:14.04镜像启动一个容器,成功后在容器内部执行/bin/echo 'hello world'命令,如果当前物理机没有该镜像,则执行docker pull从Docker Hub获取镜像,执行成功后,容器立马停止 #sudo docker runubuntu:14.04 /bin/echo 'Hello world' 参数解释 dockerrun:docker中的启动容器命令 Ubuntu:镜像名称 14:04:镜像TAG,如果不指定TAG,doc

Java 容器相关知识全面总结

Java实用类库提供了一套相当完整的容器来帮助我们解决很多具体问题.因为我本身是一名Android开发者,包括我在内很多安卓开发,最拿手的就是ListView(RecycleView)+BaseAdapter+ArrayList三剑客, 平时接触使用的容器也只有ArrayList和HashMap.导致对于整个Java容器体系的掌握和使用还停留在很浅的层面.省不足而思改进,那么跟着我来总结一下Java容器的相关知识吧. 结构 java容器类的继承结构 具体介绍 迭代器 Collection Lis

Docker 容器相关技术

Docker 依赖的Linux内核特性 Namespaces 命名空间 Control groups (cgroups) 控制组 理解这两个特性,能够更好的帮助我们理解docker的资源分配和管理 Namespaces 命名空间 很多编程语言都包含有命名空间的概念,可以认为命名空间是一种封装的概念,编程中的封装目的是实现代码的隔离. 编程语言: 封装 ----->  代码隔离 操作系统: 系统资源的隔离 系统资源包括 进行.网络.文件系统... 实际上Linux系统内核实现命名空间的目的之一就是

Docker学习笔记(三)Docker容器相关技术

轻量级虚拟化技术 命名空间:namespace,隔离系统资源,进程.网络.文件系统等隔离 控制组:cgroups,为容器技术而生,分配资源,用来限制.记录.隔离进程资源使用. 命名空间隔离: 进程pid:进程隔离 网络:管理网络接口 ipc:管理跨进程的访问 文件系统mount:管理挂载点 uts:隔离内核和版本标识. control groups:将cpu和内存资源独立分配给每个资源. 资源限制 优先级设定 资源计量 资源控制

Spring学习篇01-Spring容器相关基本概念

1.基本概念: 1.1.Spring容器 Spring容器它负责创建Bean,提供Bean,注入Bean的功能. 1.1.1 ApplicationContext 容器的上下文也就是容器工厂接口. 实现其接口的类有 ClassPathXmlApplicationContext FileSystemXmlApplicationContext WebApplicationContext:Web专用 1.1.2 BeanFactory:容器工厂面向Spring,很少使用 1.2.IOC Inversi

(一)Spring容器相关操作

一.spring事件 spring的事件有如下两个成员. 1.ApplicationEvent,容器事件,由容器发布 2.ApplicationListener 监听器,可以由容器中的任何监听器Bean担任 (1)先顶一个spring的容器事件: package cn.study.basic; import org.springframework.context.ApplicationEvent; public class EmailEvent extends ApplicationEvent