1 存储:HashMap 运行 key 和 value 为 null,而 Hashtable 不允许。 2 线程安全:Hashtable 是线程安全的,而 HashMap 是非线程安全的。 3 推荐使用:在 Hashtable 的类注释可以看到,Hashtable 是保留类不建议使用, 推荐在单线程 ...
分类:
其他好文 时间:
2020-06-02 20:33:42
阅读次数:
82
单例模式:在程序运行过程中采用该模式的类只有一个对象实例, 要实现该结果要保证私有化构造器,使其只能在类的内部生成实例对象;同时还要提供给外部获取该实例的方法,该实例只能是同一个,所以需要加static关键字;方法返回该实例对象,所以该方法也需要是静态方法。 实现一:饿汉式 优点:线程安全 缺点:实 ...
分类:
其他好文 时间:
2020-06-01 22:17:02
阅读次数:
67
1.大纲 Lock接口 锁的分类 乐观锁和悲观锁 可重入锁与非可重入锁 公平锁与非公平锁 共享锁与排它锁 自旋锁与阻塞锁 可中断锁 锁优化 一:Lock接口 1.锁 是一种工具,用于控制对共享资源的访问 Lock和synchronized,是常见的锁,都可以达到线程安全的目的 Lock最常见的实现类 ...
分类:
其他好文 时间:
2020-06-01 00:37:47
阅读次数:
79
1. 容器架构介绍 容器 数组就是一种容器,可以在其中放置对象或基本数据类型。 Set没有顺序不可重复,list有顺序可以重复。 数组的优劣势 优势:是一种简单的线性序列,可以快速的访问数组元素,效率高。从效率和类型检查的角度讲,数组是最好的。 劣势:不灵活。容量事先定义好,不能随着需求的变化而扩容 ...
分类:
编程语言 时间:
2020-05-31 22:04:11
阅读次数:
79
1.说说你对Spring的IOC机制的理解可以吗? Spring IOC框架,控制反转,依赖注入 以前是xml文件来进行一个配置,后面进化到了基于注解来进行自动依赖注入 Spring ioc,spring 容器,根据xml配置,或者是你的注解,去实例化你的一些bean对象,然后根据xml配置或者注解 ...
分类:
编程语言 时间:
2020-05-31 21:27:24
阅读次数:
75
1类加载过程 2、概述 a类加载必须按加载、验证、准备、初始化、卸载顺序按部就班的开始,但有可能会在一个阶段执行的过程中调用、激活另一个阶段 b解析在一些情况下可以在 初始化 阶段以后开始 c加载阶段和连接阶段部分工作交叉进行 d创建好类以后,随时可以进入准备阶段,但必须在初始化阶段开始之前完成(P... ...
分类:
其他好文 时间:
2020-05-31 20:01:56
阅读次数:
58
1、前言 HashMap是面试中经常问到的一个知识点,也是判断一个候选人基础是否扎实的标准之一,因为通过HashMap可以引出很多知识点,比如数据结构(数组、链表、红黑树)、equals和hashcode方法,除此之外还可以引出线程安全的问题,HashMap是我在初学阶段学到的设计的最为巧妙的集合, ...
分类:
其他好文 时间:
2020-05-31 19:58:12
阅读次数:
59
线程安全 首先要明白线程的工作原理,jvm有一个main memory,而每个线程有自己的working memory,一个线程对一个variable进行操作时,都要在自己的working memory里面建立一个copy,操作完之后再写入main memory。多个线程同时操作同一个variabl ...
分类:
编程语言 时间:
2020-05-31 18:14:57
阅读次数:
108
线程是否安全: HashMap 是非线程安全的,HashTable 是线程安全的;HashTable 内部的方法基本都经过synchronized 修饰。(如果你要保证线程安全的话就使用 ConcurrentHashMap 吧!); 效率: 因为线程安全的问题,HashMap 要比 HashTabl ...
分类:
其他好文 时间:
2020-05-31 17:59:00
阅读次数:
59
@ 一、基本概念 在多线程环境中,有多个线程竞争同一个公共资源,就很容易引发线程安全的问题。因此就需要引入锁的机制,来保证任意时候只有一个线程在访问公共资源。 互斥量就是个类对象,可以理解为一把锁,多个线程尝试用lock()成员函数来加锁,只有一个线程能锁定成功,如果没有锁成功,那么流程将卡在loc ...
分类:
编程语言 时间:
2020-05-31 12:57:50
阅读次数:
73