🔔🔔🔔好消息!好消息!🔔🔔🔔 有需要的朋友👉:联系凯哥 好消息!好消息! 微信号 kaigejava2022 不可不说的Java“锁”事 前言Java提供了种类丰富的锁,每种锁因其特性的不同,在适当的场景下能够展现出非常高的效率。本文旨在对锁相关源码(本文中的源码来自JDK8和Netty3.10.6)、使用场景进行举例,为读者介绍主流锁的知识点,以及不同的锁的适用场景。Java中往往是按照是否含有某一特性来定义锁,我们通过特性将锁进行分组归类,再使用对比的方式进行介绍,帮助大家更快捷的理解相关知识。下面给出本文内容的总体分类目录:1 凯哥Java 并发 2021-08-16 6104已阅读 0 【BAT面试题系列】面试官:你了解乐观锁和悲观锁吗? 前言乐观锁和悲观锁问题,是出现频率比较高的面试题。本文将由浅入深,逐步介绍它们的基本概念、实现方式(含实例)、适用场景,以及可能遇到的面试官追问,希望能够帮助你打动面试官。目录一、基本概念二、实现方式(含实例) 1、CAS(CompareAndSwap) 2、版本号机制三、优缺点和适用场景四、面试官追问:乐 凯哥Java 并发 2020-10-31 6156已阅读 0 线程池的基本原理,看完就懂了 本文内容是基于研发部门内部的分享整理,记录下来供学习或回顾。1.为什么要用线程池降低资源消耗。通过重复利用已创建的线程降低线程创建、销毁线程造成的消耗。提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配、调优和监控2.ThreadPoolExecutor线程 凯哥Java 并发 2020-10-31 5687已阅读 0 Synchronized实现原理深入解析 Synchronized关键字算是Java的元老级锁了,一开始它撑起了Java的同步任务,其用法简单粗暴容易上手。但是有些与它相关的知识点还是需要我们开发者去深入掌握的。比如,我们都知道通过Synchronized锁来实现互斥功能,可以用在方法或者代码块上,那么不同用法都是怎么实现的,以及都经历了了哪些优化等等问题都需要我们扎实的理解。1.基本用法2.实现原理2.1同步代码块的实现2.2同步方法的 凯哥Java 并发 2020-10-31 6415已阅读 0 一个lock锁就可以分出低中高水平的程序员对问题的处置方式 说到lock锁,我相信在座的各位没有不会用的,而且还知道怎么用不会出错,但让他们聊一聊为什么可以锁住,都说人以群分,大概就有了下面低中高水平的三类人吧。第一类人将lock对象定义成static,这样就能让多个线程看到同一个对象,以此实现线程间互斥和保证同步,如果再深问为什么?就怕遮遮掩掩的说好像每个实例都有一个同步块索引,再展开的话就顶不住了,反正大家都这么写,我也不敢问,我也不会说,如果上代码, 凯哥Java 并发 2020-06-25 6425已阅读 0 高级JAVA知识图及JUC讲解(看懂学半年进大厂无压力) 知识框架梳理核心知识框架图 以前待过一个公司,然后公司领导特别nice,10几年的大厂经验,然后技术也特别扎实全面,我们从他那边学到很多东西,但是他教给我们有价值的干货,还得属于2017年年终review时候的分享的学习方法,我们知道授人予鱼不如授人予渔,无可置疑,get到学习的method比get到属性有价值得多。 其实,他教我们学习jav 凯哥Java 并发 2020-06-16 6117已阅读 0 Java中线程池的理解 Java中线程池的理解通过前面讲解,我们知道了Java中三种获取多线程的方法了。但是,在实际企业中,经常使用到的是第四种—使用线程池获取线程。在讲解这种获取方式之前,我们先来聊聊线程池是什么?为什么要使用线程池,也就是线程池有哪些特点。通过本文学习之后,你会对线程池有所理解。然后我们再来看看跟着凯哥(凯哥Java:kaigejava)一起学线程池这个系列教程将会有什么收获。一:生活中池化案例我们先 凯哥Java 并发 2020-05-21 6294已阅读 0 Java多线程带返回值的Callable接口 Java多线程带返回值的Callable接口在面试的时候,有时候是不是会遇到面试会问你,Java中实现多线程的方式有几种?你知道吗?你知道Java中有可以返回值的线程吗?在具体的用法你知道吗?如果两个线程同时来调用同一个计算对象,计算对象的call方法会被调用几次你知道吗?如果这些你知道,那么凯哥(凯哥Java:kaigejava)恭喜你,本文你可以不用看了。如果你不知道这些,那么凯哥同样要恭喜你 凯哥Java 并发 2020-05-16 6153已阅读 0 Java中常用七个阻塞队列的总结 Java队列总结通过前面文章的学习,我们对Java中常用队列做了介绍。本文,咱们来对队列做个总结吧。首先,我们介绍了现实生活中的实际场景(排队买票等),来告诉我们为什么需要使用队列。队列是一种先进先出(FIFO)的抽象数据结构,在Java中,队列使用了两种数据类型来实现的,分别是:数组和链表这两种数据结构。本文主要内容:回顾Java中常用的七个阻塞队列进行总结及阻塞队列中四组AP并进行总结。本文来 凯哥Java 并发 2020-05-04 9467已阅读 0 Java阻塞队列四组API介绍 Java阻塞队列四组API介绍通过前面几篇文章的学习,我们已经知道了Java中的队列分为阻塞队列和非阻塞队列以及常用的七个阻塞队列。如下图:本文来源:凯哥Java(kaigejava)讲解Java并发系列之阻塞队列教程。系列文章,欢迎大家从第一篇文章开始看起。在查看以上七个队列的API的时候,我们可以很明显的看到以下四组API:add()/remove()/removeoffer()/poll() 凯哥Java 并发 2020-05-02 8809已阅读 0