并发编程[27]
【面试题50】你说你熟悉并发编程,那么你说说Java锁有哪些种类,以及区别
在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类。 注:本文以总结为主,主要用作面试中的简单回答,深入研究可以逐个查询文档研究。 介绍的内容如下: 公平锁/非公平锁 可重入锁
ThreadLocal真的会造成内存泄漏吗?
ThreadLoca在并发场景中,应用非常多。那ThreadLocal是不是真的会造成内存泄漏?今天给大家做一个分享,个人见解,仅供参考。 1、ThreadLocal的基本原理 简单介绍一下ThreadLocal,在多线程并发访问同一个共享变量的情况下,如果不做同步控制的话,就可能会导致数据不一致的
Java并发常见面试题总结
什么是线程和进程? 何为进程? 进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程序即是一个进程从创建,运行到消亡的过程。 在 Java 中,当我们启动 main 函数时其实就是启动了一个 JVM 的进程,而 main 函数所在的线程就是这个进程中的一个线程,也称主
ArrayBlockingQueue 源码分析
本文转载来自JavaGuide ,如有侵权及时联系。 阻塞队列简介 阻塞队列的历史 Java 阻塞队列的历史可以追溯到 JDK1.5 版本,当时 Java 平台增加了 java.util.concurrent,即我们常说的 JUC 包,其中包含了各种并发流程控制工具、并发容器、原子类等。这其中自然也
CopyOnWriteArrayList源码分析
本文转载来自JavaGuide ,如有侵权及时联系。 CopyOnWriteArrayList 简介 在 JDK1.5 之前,如果想要使用并发安全的 List 只能选择 Vector。而 Vector 是一种老旧的集合,已经被淘汰。Vector 对于增删改查等方法基本都加了 synchronized
并发编程面试
1.前言 为了更好地掌握Java并发编程技术,建议从以下几个方面入手: 深入理解Java内存模型(JMM):JMM是Java并发编程的基础,它定义了线程间共享变量的可见性、原子性和有序性等规则。 熟练掌握多线程编程:了解线程的创建、启动、同步、通信等基本操作,以及如何使用锁来保证线程安全。 学习并发
LockSupport与线程中断
1、线程中断机制 阿里蚂蚁金服面试题interrupt、interrupted、isinterrupted 三个方法了解过吗?用在哪? 如何停止一个运行中的线程? 如何中断一个运行中的线程??
AQS原理
1、是什么 AQS全称为AbstractQueuedSynchronizer抽象队列同步器,是重量级基础框架及整个JUC重要的基石,主要解决锁分配给谁的问题。 整体就是一个抽象的FIFO队列来完成资源获取线程的排队问题,并一个int类变量,表示持有锁的状态 我们常见的CountDownLatch、R
深入学习ThreadLocal
前言:大厂面试题 1.Java中的引用类型有哪几种? 2.每种引用类型的特点是什么? 3.每种引用类型的应用场景是什么? 4.ThreadLocal你了解吗 5.ThreadLocal应用在什么地方? Spring事务方面应用到了 6.ThreadLocal会产生内存泄漏你了解吗?/dmk Java
深入学习Synchronized关键字
第一章 并发编程中的三个问题 1.1 可见性 1.1.1 目标 学习什么是可见性问题 1.1.2 可见性概念 可见性(Visibility):是指当一个线程对共享变量进行修改,另一个线程要立即得到修改后的最新值。