Java常见的线程安全相关的面试题 步骤 1 : HashMap和Hashtable的区别 HashMap和Hashtable都实现了Map接口,都是键值对保存数据的方式 区别1: HashMap可以存放 null Hashtable不能存放null 区别2: HashMap不是线程安全的类 Has ...
分类:
编程语言 时间:
2020-02-28 11:55:20
阅读次数:
56
码农不识Apache,码尽一生也枉然。FastDateFormatFastDateFormat是一个快速且线程安全的时间操作类,它完全可以替代SimpleDateFromat。因为是线程安全的,所以你可以把它作为一个类的静态字段使用。构造方法为protected,不允许直接构造它的对象,可以通过工厂... ...
分类:
Web程序 时间:
2020-02-28 11:47:52
阅读次数:
74
Java synchronized 关键字详解 前置技能点 进程和线程的概念 线程创建方式 线程的状态状态转换 线程安全的概念 synchronized 关键字的几种用法 1. 修饰非静态成员方法 2. 修饰静态成员方法 3. 类锁代码块 4. 对象锁代码块 synchronized 修饰非静态方法 ...
分类:
编程语言 时间:
2020-02-28 01:04:57
阅读次数:
90
ArrayList概述Hello大家好,今天就来介绍一下ArrayList,说到ArrayList,很多人都知道它的底层是使用数组实现的,线程不安全的,说到它的特点,都会说查找快,增删慢,因为面试题大家都是这么背过来的。今天就来说说它的底层源码吧。ArrayList更准确的说是动态数组去实现的,这里使用动态两字,是为了能够充分体现它的特点。再者就是ArrayList不是线程安全的,所以效率比较高,
分类:
其他好文 时间:
2020-02-26 23:16:29
阅读次数:
97
HashMap HashMap是一个用于存储Key-Value键值对的集合,其内部结构为链表数组。每一个键值对也叫做Entry。这些个键值对(Entry)分散存储在一个数组当中,这个数组就是HashMap的主干。put时,思想是通过key的哈希值,模HashMap的初始值,决定插入位置,当出现哈希冲 ...
分类:
其他好文 时间:
2020-02-26 19:17:25
阅读次数:
83
推荐阅读:阿里二面凉经:虚拟机+MySQL+中间件+设计模式+缓存+Spring+并发等难题,全部迎刃而解后端开发中大家肯定遇到过实现一个线程安全的计数器这种需求,根据经验你应该知道我们要在多线程中实现共享变量的原子性和可见性问题,于是锁成为一个不可避免的话题,今天我们讨论的是与之对应的无锁CAS。本文会从怎么来的、是什么、怎么用、原理分析、遇到的问题等不同的角度带你真正搞懂CAS。为什么要无锁我
分类:
其他好文 时间:
2020-02-25 20:28:55
阅读次数:
79
并发编程之J.U.C的第二篇 3.2 StampedLock 4. Semaphore Semaphore原理 5. CountdownLatch 6. CyclicBarrier 7.线程安全集合类概述 8. ConcurrentHashMap 3. JDK7 ConcurrentHashMap ...
分类:
其他好文 时间:
2020-02-25 12:59:58
阅读次数:
86
简介 基于生产者消费者模式,我们可以开发出线程安全的异步消息队列。 知识储备 什么是生产者消费者模式? 为了方便理解,我们暂时将它理解为垃圾的产生到结束的过程。 简单来说,多住户产生垃圾(生产者)将垃圾投递到全小区唯一一个垃圾桶(单队列),环卫将垃圾桶中的垃圾进行处理(消费者)。就是一个生产者消费者 ...
1,饿汉式 类加载和初始化时即创建了实例,不存在线程安全问题。 1 package single; 2 3 /** 4 * 饿汉式,类一加载直接创建好实例对象 5 * 6 * (1) 构造器私有化 7 * (2) 自行创建,并且用静态变量保存 8 * (3) 向外提供这个实例 9 * (4) 强调这 ...
分类:
其他好文 时间:
2020-02-24 15:12:07
阅读次数:
54
1. queue线程安全的FIFO实现 queue模块提供了一个适用于多线程编程的先进先出(FIFO,first-in,first-out)数据结构,可以用来在生产者和消费者线程之间安全地传递消息或其他数据。它会为调用者处理锁定,使多个线程可以安全而容易地处理同一个Queue实例。Queue的大小( ...
分类:
编程语言 时间:
2020-02-24 09:14:46
阅读次数:
108