E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Java并发编程学习笔记
大厂面试题-
Java并发
编程基础篇(五)
目录一、为什么ConcurrentHashMap中key不允许为null考察目标问题解析回答二、ThreadLocal会出现内存泄漏吗?考察目的问题解析回答三、什么是CompletableFuture?问题分析问题解答四、什么条件下会产出死锁,如何避免死锁?1、什么是死锁?2、产生死锁的原因3、如何避免死锁?五、ConcurrentHashMap是如何保证线程安全的?1、JDK1.7实现原理2、J
似来
·
2023-10-28 16:40
面试题
java
数据结构
开发语言
java并发
关键字:volatile深入浅出:可见性、防止指令重排
文章目录一.volatile的作用1.防止重排序2.变量修改的可见性3.保证单次的读/写的原子性二.volatile的实现原理1.可见性的实现2.有序性的实现2.1.volatile的happens-before关系2.2.volatile禁止重排序三.volatile的应用场景1.双重检查(double-checked)2.独立观察(independentobservation)3.开销较低的读
roman_日积跬步-终至千里
·
2023-10-28 14:20
java并发
java
开发语言
java并发
怎么控制资源
以下是一些用于控制资源的主要
Java并发
机制:Synchronized关键字:使用synchronized关键字可以控制对共享资源的访问。
mywaya2333
·
2023-10-28 12:48
java
开发语言
Java并发
编程解析 | 基于JDK源码解析Java领域中并发锁之StampedLock锁的设计思想与实现原理 (三)
苍穹之边,浩瀚之挚,眰恦之美;悟心悟性,善始善终,惟善惟道!——朝槿《朝槿兮年说》写在开头在并发编程领域,有两大核心问题:一个是互斥,即同一时刻只允许一个线程访问共享资源;另一个是同步,即线程之间如何通信、协作。主要原因是,对于多线程实现实现并发,一直以来,多线程都存在2个问题:线程之间内存共享,需要通过加锁进行控制,但是加锁会导致性能下降,同时复杂的加锁机制也会增加编程编码难度过多线程造成线程之
朝槿木兮
·
2023-10-28 05:38
mybatis 连接池探究
起因是目前再看《
Java并发
编程的艺术》并发基础那章实现了一个简单的连接池,虽然只是为了展示等待/通知,但是我对平时常用的mybatis的连接池是怎么实现的感到很好奇,所以就有了这次的记录。
上重楼
·
2023-10-28 02:54
《
Java并发
编程之美》学习笔记
成功上岸,进入华为,之前花5W买的JAVA课程合集,整整420集,拿走不谢,公粮上交,手把手教学,学完即可就业_哔哩哔哩_bilibili1.并发编程基础1.1什么是线程线程是进程中的一个实体,线程本身是不会独立存在的。进程是代码在数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,线程则是进程的一个执行路径,一个进程中至少有一个线程,进程中的多个线程共享进程的资源操作系统在分配资源时是
jmysql
·
2023-10-28 01:18
java
学习
大数据
《
Java并发
编程之美》笔记
Java并发
编程之美阅读开源框架的一点心得为什么要看源码由经验不足导致的问题不知道如何去设计,就看当前系统类似需求的设计,然后去仿照设计的时候,考虑不周全工作经验的积累来自于年限与实践,看源码可以扩展思路可以解决经验不足的办法通过学习开源框架
老干妈炒饭
·
2023-10-27 23:40
linux shell正则匹配时间格式,linux shell
编程学习笔记
(9)正则表达式
1、什么是正则表达式用一串符号描述有共同属性的数据一串符号:元符号——正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容。许多程序设计语言都支持利用正则表达式进行字符串操作。对于系统管理员来讲,正则表达式贯穿在我们的日常运维工作中,无论是查找某个文档,抑或查询某个日志文件分析其内容,都会用到正则表达式。——其实正则表达式,只是一种思想,一种表示方法。只要我们使用的工具支持表示这种思想那么
北京大学出版社
·
2023-10-27 16:01
linux
shell正则匹配时间格式
Java并发
指南16:JUC中常用的Unsafe和Locksupport
说一说Java的Unsafe类最近在看
Java并发
包的源码,发现了神奇的Unsafe类,仔细研究了一下,在这里跟大家分享一下。Unsafe类是在sun.misc包下,不属于Java标准。
weixin_34198797
·
2023-10-27 14:48
java
运维
大数据
Java并发
编程之深入理解线程池原理及实现
如果需要先行了解
Java并发
编程的基础知识,可参考以下随
weixin_34132768
·
2023-10-27 14:47
java
设计模式
数据结构与算法
深入理解wait()、notify()和notifyAll()方法为什么属于Object,为什么要在synchronized代码块中
关于synchronized的详细介绍请移步大神所写的博客:深入理解
Java并发
之synchronized实现原理,这篇文档稍微有点长,我会用自己的话总结一下关于wait()、notify()和notifyAll
goodluckwj
·
2023-10-27 13:26
java并发
synchronized
wait()
Object
Java并发
编程40道面试题及答案——面试稳了
1、线程与进程的区别?进程是操作系统分配资源的最小单元,线程是操作系统调度的最小单元。一个程序至少有一个进程,一个进程至少有一个线程。文末有福利,思维导图和视频资料等你来领2、什么是多线程中的上下文切换?多线程会共同使用一组计算机上的CPU,而线程数大于给程序分配的CPU数量时,为了让各个线程都有执行的机会,就需要轮转使用CPU。不同的线程切换使用CPU发生的切换数据等就是上下文切换。3、死锁与活
Java黎先生
·
2023-10-27 09:21
Linux shell
编程学习笔记
16:bash中的关联数组
上一节我们探讨了普通的数组,即使用数字下标来索引数组中不同的元素的数组,也可以称之为索引数组。相比纯粹的数字,字符串不仅能表明含义,也更便于记忆使用,于是就有了关联数组。一、关联数组概述bash从4.0开始支持关联数组,关联数组可以使用可以使用任意的字符串、或者整数作为下标来访问数组元素。与索引数组不同,关联数组必须声明。二、声明关联数组并赋值(一)先声明再赋值1.声明关联数组格式为:declar
紫郢剑侠
·
2023-10-27 07:19
Linux世界
麒麟操作系统
系统维护
linux
bash
shell脚本
shell编程
关联数组
declare
学习笔记
讲真,我发现这本书有个地方写错了!
可恶的标题党首先,我先说一下我发现的《
Java并发
编程的艺术》写错的地方吧。我手上这本《
Java并发
编程的艺术》的版次是:2019年3月第1版第14次印刷。
why技术
·
2023-10-27 03:32
java技术
面试题
【JAVA】:万字长篇带你了解
JAVA并发
编程【二】
目录【JAVA】:万字长篇带你了解
JAVA并发
编程【二】3.线程池池化技术线程池的概念与作用什么是线程池?
无难事者若执
·
2023-10-27 03:30
Java开发知识
java
多线程
并发
RESTful 架构基础
源码解析数据库中间件Sharding-JDBC和MyCAT源码解析作业调度中间件Elastic-Job源码解析分布式事务中间件TCC-Transaction源码解析Eureka和Hystrix源码解析
Java
芋道源码
·
2023-10-26 23:22
一文总结
Java并发
中的锁
一、锁的类型1.自旋锁自旋锁是计算机科学用于多线程同步的一种锁,线程反复检查锁变量是否可用。由于线程在这一过程中保持执行,因此是一种忙等待。一旦获取了自旋锁,线程会一直保持该锁,直至显式释放自旋锁。自旋锁避免了进程上下文的调度开销,因此对于线程只会阻塞很短时间的场合是有效的。因此操作系统的实现在很多地方往往用自旋锁。线程的阻塞和唤醒需要CPU从用户态转为核心态,频繁的阻塞和唤醒对CPU来说是一件负
要记录的Ivan
·
2023-10-26 16:23
Java并发
编程解析 | 基于JDK源码解析Java领域中ReentrantLock锁的设计思想与实现原理 (一)
苍穹之边,浩瀚之挚,眰恦之美;悟心悟性,善始善终,惟善惟道!——朝槿《朝槿兮年说》写在开头在并发编程领域,有两大核心问题:一个是互斥,即同一时刻只允许一个线程访问共享资源;另一个是同步,即线程之间如何通信、协作。主要原因是,对于多线程实现实现并发,一直以来,多线程都存在2个问题:线程之间内存共享,需要通过加锁进行控制,但是加锁会导致性能下降,同时复杂的加锁机制也会增加编程编码难度过多线程造成线程之
朝槿木兮
·
2023-10-26 08:12
go网络
编程学习笔记
1(架构)
分布式系统很复杂,它涉及到多台计算机的连接方式。我们编写的程序必须能在该系统中的每一台计算机上运行,它们必须都能协同操作来完成一项分布式任务。解决这种复杂性的一般方法,就是将它分解为更小更简单的部分。这些部分都有它们自己的结构,但也定义了与其它相关部分进行通信的方式。在分布式系统中,这种部分称为协议层,它们的功能都有明确的定义。它们在一起形成层次结构,并与其各自的上下层进行通行。层次之间的通信则由
GeminiGirl0604
·
2023-10-26 06:05
(十)深入理解
Java并发
编程之ThreadPool线程池、工作原理、复用原理及源码分析
一、引言一般在开发过程中,一个功能是运行时长太久了,一般是通过什么方式去优化的?异步/多线程,对于一个业务方法而言,如果其中的调用链太长势必会引起程序运行时间延长,导致整个系统吞吐来量下降,而我们使用多线程方式来对该方法的调用链进行优化,对于一些耦合度不是特别高的调用关系可以直接通过多线程来走异步的方式进行处理,大大的缩短了程序的运行时长,但是如果我们的多线程创建方式是通过newThread();
竹子爱熊猫
·
2023-10-26 04:16
并发编程
java
多线程
面试
Java并发
——线程池原理解析
前言可以说,线程池是
Java并发
场景中应用到的最多并发框架了。几乎所有需要异步或者并发执行的任务程序都可以使用线程池。在开发过程中,合理的使用线程池会带来以下3个好处:降低资源的消耗。
兵临奇点
·
2023-10-26 04:43
并发编程
多线程
线程池原理
java
Java并发
线程池原理源码深入分析与调优实战
一,开篇:java中提供了多线程设计的Api,为什么还要用线程池呢?下来看两个例子:1.使用多线程跑十万次2.使用线程池跑十万次使用多线程跑十万次packagecom.laoyang.ThreadPool.公开课;importjava.util.ArrayList;importjava.util.Random;/***@author:Kevin*@create:2023-10-2518:27*@D
玛卡巴咖
·
2023-10-26 04:33
并发编程
java
开发语言
线程池
JAVA并发
面试题【转】
一、多线程1、java中有几种方法可以实现一个线程?1)继承Thread类;2)实现Runnable接口;3)实现Callable接口通过FutureTask包装器来创建Thread线程;4)使用ExecutorService、Callable、Future实现有返回结果的多线程(也就是使用了ExecutorService来管理前面的三种方式)。详情参见:https://radiancel.git
天草二十六_简村人
·
2023-10-26 04:09
【JAVA】:万字长篇带你了解
JAVA并发
编程【一】
目录【JAVA】:万字长篇带你了解
JAVA并发
编程1.并发编程基础并发与并行并发(Concurrency)并行(Parallelism)线程与进程线程的状态与生命周期线程同步与锁2.
Java并发
工具类准备
无难事者若执
·
2023-10-26 02:57
Java开发知识
java
多线程
并发
volatile关键字的原理及适用场景(摘选)
一、volatile的作用在《
Java并发
编程:核心理论》一文中,我们已经提到过可见性、有序性及原子性问题,通常情况下我们可以通过Synchronized关键字来解决这些个问题,不过如果对Synchronized
阿斯蒂芬2
·
2023-10-25 17:51
十分钟读懂:
Java并发
——CSP模型
GoGo是一门号称从语言层面支持并发的编程语言,支持并发也是Go非常重要的特性之一Go支持协程,协程可以类比Java中的线程,解决并发问题的难点在于线程(协程)之间的协作Go提供了两种方案支持协程之间以共享内存的方式通信,Go提供了管程和原子类来对协程进行同步控制,该方案与Java类似支持协程之间以消息传递的方式通信,本质上是要避免共享,该方案是基于CSP模型实现的,Go推荐该方案CSP模型CSP
Java_苏先生
·
2023-10-25 04:34
Java并发
- 初识 可重入锁&非重入锁
可重入锁可重入锁又名递归锁。是指在同一个线程在外层方法获取锁之后,在进入该线程的内层方法会自动获取锁(前提锁对象是同一个对象或者class),不会因为之前获取过还没释放而阻塞。Java中synchronized和ReentrantLook都是可重入锁。可重入锁的优点是可以一定程度上避免死锁。代码如下:publicclassTest{publicsynchronizedvoiddoOne(){Sys
静为躁君S
·
2023-10-25 03:03
Java多线程与并发
java
jvm
开发语言
Java并发
编程——CompletableFuture源码解析
前言JDK8为我们带来了CompletableFuture这个有意思的新类,它提供比Future更灵活更强大的回调功能,借助CompletableFuture我们可以更方便的编排异步任务。由于CompletableFuture默认的线程池是ForkJoinPool,在讲CompletableFuture之前觉得有必要先简单介绍一下ForkJoinPool。一、ForkJoinPool工作原理For
小波同学
·
2023-10-25 01:39
Linux多线程服务端编程学习(二)如何使用muduo网络库 Centos7
、编译muduo,使用muduo下载、安装编译muduo的过程点击https://blog.csdn.net/YoungSusie/article/details/90021742分类Muduo网络库
编程学习笔记
本文以陈硕老师
YoungSusie
·
2023-10-25 00:48
Muduo
muduo使用
centos7
error
c11
java并发
基础_Java 8并发基础
学到更多。开发更多。连接更多。新的developerWorksPremium会员计划可通过Safari图书在线获得对强大的开发工具和资源的无障碍访问权,其中包括500个顶级技术标题(数十个专门针对Java开发人员),主要开发人员活动的超低折扣,最近O'Reilly的视频重播会议等。立即注册。期待已久的Java8发行版中的几个主要增强功能与并发相关,包括java.util.concurrent层次结
cusi77914
·
2023-10-24 23:17
大数据
python
java
编程语言
人工智能
基于hutool实现国密SM2的加解密,简直不要太简单!
最近整理了一波电子书籍资料,包含《EffectiveJava中文版第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》,《
Java并发
编程实战》等等获取方式:关注公众号并回复电子书领取
飞乐鸟
·
2023-10-24 22:56
java
sm2
easypoi-实现动态列导出excel
最近整理了一波电子书籍资料,包含《EffectiveJava中文版第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》,《
Java并发
编程实战》等等获取方式:关注公众号并回复电子书领取
飞乐鸟
·
2023-10-24 22:56
excel
easypoi
Python(一)关键字、内置函数
最近整理了一波电子书籍资料,包含《EffectiveJava中文版第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》,《
Java并发
编程实战》等等获取方式:关注公众号并回复电子书领取
飞乐鸟
·
2023-10-24 22:50
Python
1024程序员节
python
java并发
之ThreadLocal
java并发
之ThreadLocal知识导读ThreadLocal主要作用于线程的上下文,而不是线程安全,如果ThreadLocal中放一个共享对象,是无法保证线程安全的,如果是基本类型可以保证线程安全
九戒k
·
2023-10-24 21:02
Linux shell
编程学习笔记
15:定义数组、获取数组元素值和长度
一、Linuxshell脚本编程中的数组概述数组是一种常见的数据结构。跟大多数编程语言一样,大多数Linuxshell脚本支持数组,但对数组的支持程度各不相同,比如数组的维度,是支持一维数组还是多维数组?再如,数组元素的下标是从0开始还是从1开始?则因shell而异,下面我们以zsh、sh、bash为例来讲解。二、数组的定义在Linuxshell脚本编程中,定义数组有两种方法。(一)数组名=(数值
紫郢剑侠
·
2023-10-24 20:29
Linux世界
麒麟操作系统
系统维护
1024程序员节
linux
linux
shell
脚本编程
学习笔记
数组
数组下标
ConcurrentHashMap底层实现原理
ConcurrentHashMap是
Java并发
包中提供的一个线程安全且高效的HashMap实现,ConcurrentHashMap在并发编程的场景中使用频率非常之高,本文就来分析下ConcurrentHashMap
极速小乌龟
·
2023-10-24 19:10
java基础知识
java
并发
Javascript高级
编程学习笔记
(11)—— 垃圾回收机制
垃圾回收机制垃圾回收机制,是保证脚本能长时间运行的重要机制JS具有自动垃圾收集机制,也就是说执行环境会负责管理代码执行过程中使用的内存与一些偏底层的语言(c、c++)不同,我们不需要手工地去管理内存的使用情况因为JS替我们完成了需要内存的分配,以及无用内存的回收,然后释放其占用的内存。其原理其实很简单,就是找出那些不再使用的内存释放掉就行,所以垃圾收集器会按照固定时间间隔来执行该操作垃圾回收是针对
dazhongshuo1167
·
2023-10-24 11:50
javascript
c/c++
ViewUI
多核
编程学习笔记
之OpenMP(一)
多核
编程学习笔记
之OpenMP(一)I.配置及简介1.1在VC++2008(VC9.0)中,如果没有任何设置,在代码中使用编译指导语句将不会报错,但是也不起作用。
woshiqianlong125
·
2023-10-24 11:49
编程
parallel
thread
编译器
多线程
算法
OpenMP
编程学习笔记
四
single的用法。parallel的目的就是能够让多个CPU协调处理问题,从而提高运行性能。例如,如下的代码,各个CPU都会执行一次。#pragmaompparallel{printf("testOpenMP/n");}更多的时候,我们可能希望这种代码只要在一个CPU上执行就行了,以便减少CPU的功耗。这时可以使用single。测试代码如下:voidtestSingle(){omp_set_nu
richard_wu2005
·
2023-10-24 11:18
编程
thread
parallel
测试
Java开发面试专题
JAVA并发
篇1.JAVA如何开启线程?怎样保证线程安全?线程和进程的区别:进程是操作系统进行资源分配的最小单元;线程是操作系统进行任务分配的最小单元。线程隶属于进程。如何开启线程?
木羊子羽
·
2023-10-24 09:08
java
面试
jvm
Java并发
系列 - 详解Volatile
Volatile是我们在并发编程中经常会碰到的关键字。关于volatile的文章,网上已经非常多了。本文开门见山,结合底层原理以及实际使用场景,分别从以下几个维度,深入剖析volatile关键字。1)作用2)实现原理3)实际案例作用1)可见性。可见性的意思是当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值。被volatile修饰的变量具有可见性。比如:A线程执行,volatileboo
阿健2020
·
2023-10-24 03:33
Java
多线程
java
Java并发
面试题:(八)AQS原理和Semaphore、CountdownLatch、CyclicBarrier类
什么是AQS通过维护一个共享资源状态(VolatileIntState)和一个先进先出(FIFO)的线程等待队列来实现一个多线程访问共享资源的同步框架。AQS队列同步器(AbstractQueuedSynchronizer),是用来构建锁或者其他同步组件的基础框架。它使用了一个int的成员变量表示同步状态,通过内置的FIFO队列来完成资源获取线程的排队工作。同步器的主要使用方式是继承,子类通过基础
青铜爱码士
·
2023-10-24 01:07
java
开发语言
jvm
java并发
编程:管程、内存模型、无锁并发、线程池、AQS原理与锁、线程安全集合类、并发设计模式
文章目录基础1.进程与线程2.并发与并行3.同步与异步4.主线程与守护线程5.Thread与Runnable6.线程方法7.线程状态管程1.共享问题、临界区、竞态条件2.Monitor3.synchronized4.wait¬ify5.Park&Unpark6.活跃性7.ReentrantLock8.lockvssynchronized内存模型1.线程切换带来的原子性2.缓存导致的可见性3.
Henrik-Yao
·
2023-10-24 01:22
东北大学在校期间
高并发
JUC
线程池
锁
java
Java进阶篇--Condition与等待通知机制
目录Condition简介Condition实现原理代码示例await与signal/signalAll的结合思考代码示例Condition简介Condition是
Java并发
包中的一种机制,用于线程之间的协作和通信
世俗ˊ
·
2023-10-23 20:03
Java进阶篇
java
开发语言
java并发
编程(十二)ReentrantLock深入浅出
一、ReentrantLock简介1.1特点ReentrantLock具有如下的特点:可重入可中断可设置超时时间可设置为公平锁支持条件变量后面会重点讲解其特点的实现原理。1.2代码结构其代码结构如下图:image.png有三个内部类,分别是:Sync、FairSync、NonfairSync。Sync继承自AbstractQueuedSynchronizer。AbstractQueuedSynch
我犟不过你
·
2023-10-23 19:27
Java集合容器面试题
主题链接Java基础知识面试题Java集合容器面试题
Java并发
编程面试题Java底层知识面试题Java常用框架面试题计算机网络面试题数据库面试题RabbitMQ面试题Redis面试题Elasticsearch
已是寒冬
·
2023-10-23 18:52
Java面试题
Java社招面试题
Java集合面试题
面试题
难搞的偏向锁终于被 Java 移除了
背景在JDK1.5之前,面对
Java并发
问题,synchronized是一招鲜的解决方案:普通同步方法,锁上当前实例对象静态同步方法,锁上当前类Class对象同步块,锁上括号里面配置的对象拿同步块来举例
yusimiao
·
2023-10-23 13:56
java
锁
并发编程
难搞的偏向锁终于要被Java移除了
点击查看专栏目录【文章来源】【公众号:日拱一兵】背景在JDK1.5之前,面对
Java并发
问题,synchronized是一招鲜的解决方案:普通同步方法,锁上当前实例对象静态同步方法,锁上当前类Class
石杉的架构笔记
·
2023-10-23 13:22
编程语言
java
多线程
面试
jvm
跨越单线程限制:Thread类的魅力,引领你进入
Java并发
编程的新纪元
线程的概述线程是一个程序的多个执行路径,执行调度的单位,依托于进程存在。线程不仅可以共享进程的内存,而且还拥有一个属于自己的内存空间,这段内存空间也叫做线程栈,是在建立线程时由系统分配的,主要用来保存线程内部所使用的数据,如线程执行函数中所定义的变量。注意:Java中的多线程是一种抢占机制而不是分时机制。抢占机制指的是有多个线程处于可运行状态,但是一个CPU同时只允许一个线程在运行,他们通过竞争的
技术琐事
·
2023-10-23 13:41
java
jdk
后端
Java并发
-读写锁 ReentrantReadWriteLock
1.ReentrantReadWriteLock的类结构ReentrantReadWriteLock是接口ReadWriteLock的子类实现,通过JDK的代码可以看出这一实现关系。publicclassReentrantReadWriteLockimplementsReadWriteLock,java.io.Serializable{}我们再来看下接口ReadWriteLock,该接口只定义了两
兜兜转转m
·
2023-10-23 12:22
Java并发
java
开发语言
上一页
11
12
13
14
15
16
17
18
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他