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并发
面试八股文
内容摘自我的学习网站:topjavaer.cn分享50道
Java并发
高频面试题。线程池线程池:一个管理线程的池子。为什么平时都是使用线程池创建线程,直接new一个线程不好吗?
程序员大彬
·
2023-11-09 21:55
java
面试
1024程序员节
锁的优化机制了解吗?
最近整理了一波电子书籍资料,包含《EffectiveJava中文版第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》,《
Java并发
编程实战》等等获取方式:关注公众号并回复电子书领取
飞乐鸟
·
2023-11-09 20:43
java
java
推荐一款功能强大的在线文件预览工具-kkFileView
最近整理了一波电子书籍资料,包含《EffectiveJava中文版第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》,《
Java并发
编程实战》等等获取方式:关注公众号并回复电子书领取
飞乐鸟
·
2023-11-09 20:43
java
java
Python(四)字符串
最近整理了一波电子书籍资料,包含《EffectiveJava中文版第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》,《
Java并发
编程实战》等等获取方式:关注公众号并回复电子书领取
飞乐鸟
·
2023-11-09 20:07
#
基础
python
开发语言
JAVA并发
-TransferQueue队列
文章目录一、队列0.队列基本概念1.java队列2.java阻塞队列二、什么是TransferQueue1.LinkedTransferQueue性能三、TransferQueue应用场景四、demo举例1.demo:消费者小于生产者,生产者阻塞队列.transfer方法2.demo:tryTransfer(Ee,longtimeout,TimeUnitunit)超时测试五、参考一、队列0.队列基
西京刀客
·
2023-11-09 00:56
Java并发编程
java
Java8实战-总结47
调整线程池的大小《
Java并发
编程
weixin_42583701
·
2023-11-08 23:17
java
开发语言
Java并发
工具-4-并发框架(Executor&ForkJoin)
一Executor并发框架介绍1整体结构介绍executor[ɪɡˈzekjətə(r)]执行者execute[ˈeksɪkjuːt]执行从JDK1.5开始,java中将工作单元和执行机制做了分离,于是Executor并行框架出现。什么是工作单元(或称为任务)呢?其实就是我们需要运行的一段逻辑代码。不管什么逻辑的工作单元,最终都需要通过线程运行。Executor并行框架对工作单元、以及工作单元的执
是三好
·
2023-11-08 20:31
java补充
java
开发语言
并发编程
juc
多线程
Java并发
工具-2-同步工具(Tools)
一计数信号量Semaphore1概念解释semaphore[ˈseməfɔː(r)]信号量从JDK1.5开始提供,Java官方就在java.util.concurrent并发包中提供了Semaphore工具类。那什么是“Semaphore”呢?单词“Semaphore”在计算机世界中被解释为中文“信号量”,但更能表述其含义的叫法应该是“许可证管理器”。不管叫什么中文名称,它就是一种计数信号量,用于
是三好
·
2023-11-08 20:30
java补充
java
juc
多线程
java并发工具
Java并发
工具-3-并发容器(Collections)
一线程安全的ConcurrentHashMap1概念解释Concurrent翻译过来是并发的意思,字面理解它的作用就是提供并发情况下的HashMap功能,ConcurrentHashMap是对HashMap的升级,采用了分段加锁而非全局加锁的策略,增强了HashMap非线程安全的特征,同时提高了并发度。我们通过一张图片了解一下ConcurrentHashMap的逻辑结构。2基本用法//创建一个Co
是三好
·
2023-11-08 20:24
java补充
java
开发语言
并发编程
java-juc
juc
Java并发
编程系列07:多线程的实现方式:继承Thread类、实现Runnable接口或Callable接口
最近开始了解多线程,发现内容太多,那就一点一点来吧。先了解最基础的,多线程有几种实现方式?从网上了解到,多线程有3种实现方式。一、多线程的实现方式有1、继承Thread类、2、实现Runnable接口3、Callable接口来个小例子,具体实现如下:1、继承Thread类通过继承Thread类,并重写它的run方法,我们就可以创建一个线程。(线程创建后,使用start()方法才是启动一个新的线程,
fen_fen
·
2023-11-08 09:34
java相关
#
JAVA多线程编程
git
java
github
Java并发
编程第10讲——CAS相关知识点详解
前面介绍锁的时候顺便也提到了CAS,但作为JUC的“基石”和面试中的高频考点,还是不够。所以,本篇文章将从CAS的概念入手,逐步深入介绍12个Atomic原子操作类、CAS的实现原理(源码解析)、Unsafe类、CAS存在的问题以及LongAddr。一、什么是CASCAS全称CompareAndSwap,顾名思义就是先比较再交换。主要应用就是实现乐观锁和锁自旋。CAS操作包含三个操作数——内存位置
橡 皮 人
·
2023-11-08 07:53
Java并发编程
1024程序员节
CAS实现原理
Atomic原子操作类
LongAddr
Unsafe类
《
Java并发
编程的艺术》——Java中的并发工具类、线程池、Execute框架(笔记)
文章目录八、Java中的并发工具类8.1等待多线程完成的CountDownLatch8.2同步屏障CyclicBarrier8.2.1CyclicBarrier简介8.2.2CyclicBarrier的应用场景8.2.3CyclicBarrier和CountDownLatch的区别8.3控制并发线程数的Semaphore8.3.1应用场景8.3.2其他方法8.4线程间交换数据的Exchanger九
yjx23332
·
2023-11-08 07:53
Java并发编程
java
jvm
开发语言
【JUC并发编程】深入浅出
Java并发
基石——AQS
【JUC并发编程】深入浅出
Java并发
基石——AQS参考资料:RedSpider社区——第十一章AQS深入剖析并发之AQS独占锁1.5w字,30图带你彻底掌握AQS!
小颜-
·
2023-11-08 07:53
JUC
java
开发语言
面试
后端
架构
Java并发
编程第9讲——CountDownLatch、CyclicBarrier和Semaphore(万字详解)
在JDK的并发包(JUC)里提供了几个非常有用的并发工具类。CountDownLatch、CyclicBarrier和Samaphore工具类提供了一种并发流程控制的手段,这同样也是面试和工作中的一个重要知识点,本文将从它们的定义、常用方法、代码示例及核心源码的分析等几个要点详细介绍一下。一、CountDownLatch(闭锁)1.1什么是CountDownLatchCountDownLatch是
橡 皮 人
·
2023-11-08 07:22
Java并发编程
CountDownLatch
CyclicBarrier
Semaphore
面试
大数据技术之基础篇-Java 并发编程 78 讲-01线程与线程安全
大数据技术之基础篇——
Java并发
编程78讲-01线程与线程安全文章目录前言开篇为什么并发编程这么重要呢如何学好并发编程学习了本门课,你会有以下收获第01讲:为何说只有1种实现线程的方法?
爱学大树锯
·
2023-11-08 07:52
概念笔记
并发编程
【
Java并发
编程实战】——CountDownLatch源码分析
CountDownLatch一个同步辅助类,允许一个或多个线程等待,直到其它线程执行完成一组操作。它是AQS的共享模式的一种实现。流程简介:CountDownLatch必须通过数值count来初始化一个大于0的计数,任何线程调用await方法都会阻塞,直到其它线程调用countDown将计数从初始值减为0,count变为0时,所有阻塞在await方法的线程都会恢复运行。这个计数只能使用一次,如果需
mbtlami
·
2023-11-08 07:20
java并发编程
Java并发编程实战
Java并发
编程之AQS以及源码解析
文章目录概览实现思路实现原理源自CLH锁AQS数据模型CAS操作主要方法自定义同步器的实现方法AQS定义的模板方法源码解读等待状态释义AQS获取锁的流程图获取独占锁的实现总结acquire的流程释放独占锁的实现获取共享锁的实现释放共享锁的实现相关问题概览AQS(AbstractQueuedSynchronizer)是DougLea大师创作的用来构建锁或者其他同步组件(信号量、事件等)的基础框架类。
Java技术债务
·
2023-11-08 07:18
Java
JUC
源码
java
AQS
JUC
并发编程
源码
《
Java并发
编程之美》学习笔记及补充
文章目录前言第一部分
Java并发
编程基础篇第1章并发编程线程基础1.1什么是线程JVM内存区域(运行时数据区域)1.2线程创建与运行1.3线程通知与等待为什么wait/notify/notifyAll必须要放在
qq_三哥啊
·
2023-11-08 07:47
#
多线程
java
并发编程
多线程
Java并发
编程——Concurrent Programming
进程和线程进程程序由指令和数据组成,指令要运行,数据要读写,必须将指令加载至CPU,数据加载至内存。在指令运行过程中还需要用到磁盘、网络等设备。进程就是用来加载指令,管理内存,管理IO的。当一个程序被运行,从磁盘加载这个程序的代码至内存,就开启了一个进程。进程可以视为程序的一个实例,大部分进程可以同时运行多个实例进程,如记事本、浏览器等,也有进程只能启动一个实例进程,如音乐软件等线程一个进程之内可
236.6+6+
·
2023-11-08 07:14
并发编程
java
Java并发
编程第11讲——AQS设计思想及核心源码分析
Java并发
包(JUC)中提供了很多并发工具,比如前面介绍过的ReentrantLock、ReentrantReadWriteLock、CountDownLatch、Semaphore、FutureTask
橡 皮 人
·
2023-11-08 07:11
Java并发编程
Java并发编程
AQS
面试
源码分析
Java并发
工具-1-原子操作(Atomic)
一原子操作之AtomicInteger1概念解释什么是原子操作呢?所谓原子操作,就是一个独立且不可分割的操作。AtomicInteger工具类提供了对整数操作的原子封装。为什么要对整数操作进行原子封装呢?在java中,当我们在多线程情况下,对一个整型变量做加减操作时,如果不加任何的多线程并发控制,大概率会出现线程安全问题,也就是说当多线程同时操作一个整型变量的增减时,会出现运算结果错误的问题。At
是三好
·
2023-11-08 06:31
java补充
java
开发语言
juc
并发
多线程
原子操作
1000道 互联网 Java 工程师面试题2021
目录1000道互联网Java工程师面试题2021MyBatis面试题ZooKeeper面试题Dubbo面试题Elasticsearch面试题Memcached面试题Redis面试题MySQL面试题
Java
binggoling
·
2023-11-08 05:24
面试
面试
2021
java
互联网
IntelliJ IDEA - 生成 iml 文件
最近整理了一波电子书籍资料,包含《EffectiveJava中文版第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》,《
Java并发
编程实战》等等获取方式:关注公众号并回复电子书领取
飞乐鸟
·
2023-11-07 20:05
idea
intellij-idea
java
ide
Python(二)基本数据类型
最近整理了一波电子书籍资料,包含《EffectiveJava中文版第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》,《
Java并发
编程实战》等等获取方式:关注公众号并回复电子书领取
飞乐鸟
·
2023-11-07 20:05
#
基础
python
开发语言
java并发
2——CPU多级缓存——缓存一致性(MESI)
用于保证多个CPUcache之间缓存共享数据的一致。如下图所示(M表示被修改,E是独享状态,S表示共享状态,I表示无效状态):四种状态说明:M表示被该缓存行只被缓存在改CPU的缓存中并且是被修改过的,因此它与主存间的数据是不一致的,该缓存行的内存未来是要被写回主存的;E是独享状态,它的缓存行只被共享在该CPU中,它的状态是和主存中的一致的,当有其他CPU读取该CPU时,变成共享状态;S表示共享状态
苏云南雁
·
2023-11-07 15:54
java
并发
java
并发
Java并发
——Java内存模型
Java内存模型之JUC底层Java内存模型是什么?运行在Java虚拟中的线程的线程栈Java虚拟中的堆计算机的硬件处理数据流程Java控制线程安全VolatitleCASJava内存模型是什么?Java内存模型规范了Java虚拟机和计算机内存如何协同工作,虚拟机相当于一个完整的计算机模型,而这个虚拟机的内存模型就为——Java内存模型运行在Java虚拟中的线程的线程栈每一个运行的线程都会有自己的
希望灬夜星
·
2023-11-07 15:22
java
【原理/
Java并发
】深入理解volatile与MESI
文章目录1前言2有序性2.1编译器层面的内存屏障2.2CPU层面的内存屏障3可见性3.1MESI协议3.2StoreBuffer和InvalidQueue3.3解决可见性4总结5案例分析5.1非volatile变量5.2volatile变量附录:如何查看Java运行时的汇编指令1前言要说Java里面并发相关的内容里最复杂的,我觉得就是volatile关键字了。最基本的功能大部分Java程序员都能说
丑橘u
·
2023-11-07 15:50
jvm
java
开发语言
经典面试题:利用wait-notify机制,双线程交替打印出1-100
标题经典面试题:利用wait-notify机制,双线程交替打印出1-100代码:运行结果:参考:
java并发
编程的艺术
frankfurt amain liveasyouwant
·
2023-11-07 13:54
多线程
经典题
多线程
系统
编程笔记
01——标准IO
1标准IO1.1基本概念1.1.1系统调用IO与标准IO的区别(1)系统调用IO:内核提供的一系列接口,不同内核的接口不同。(2)标准IO:合并系统调用并将内核接口进行封装后的库函数,可移植性高。(3)标准IO与系统IO的对比:①可移植性:标准IO>文件IO;②效率:多文件时标准IO的效率更好。(4)合并系统调用:标准IO并没有马上将缓冲区的内容输出到文件,减少了对外设的使用,效率更高。(5)原则
古予一
·
2023-11-07 08:34
嵌入式开发笔记
笔记
c语言
ch579串口
编程笔记
“CH579SFR.h”库文件,关于串口中断部分/*UARTinterruptidentificationvaluesforIIRbits3:0*/#defineUART_II_SLV_ADDR0x0E//RO,UART0slaveaddressmatch#defineUART_II_LINE_STAT0x06//RestaO,UARTinterruptbyreceiverlintus#defin
hwj277
·
2023-11-07 08:25
MCU
c语言
笔记
物联网
嵌入式硬件
arm开发
程序人生
Java并发
编程-并发包-Lock和Condition
并发包再造管程的理由众所周知,
java并发
包是并发大师DougLea精心打造,他这么做的原因是什么?原来的语言级实现有哪些不足吗?确实如此,以互斥锁为例,并发包中的Lock新增了三个功能:1)支持响应
elegent Developer
·
2023-11-07 04:15
Java基础相关
java
开发语言
一文搞定
Java并发
面试
文章目录1、Object的wait()和notify()方法2、并发特性-原子性、有序性、可见性3、synchronized实现原理?4、volatile的实现原理?5、Java内存模型(JMM)6、有关队列AQS队列同步器7、锁的特性8、ReentrantLock锁9、ReentrantReadWriteLock10、Synchronized和Lock的区别11、Java中线程同步的方式12、C
Apple_Web
·
2023-11-07 02:03
Java
SE高级
面试
JAVA并发
编程总结
一、基础知识1.1线程安全当多个线程访问某个类时,这个类始终都能表现出正确的行为,那么就称这个类是线程安全的。CAP理论原子性我们把一个或者多个操作在CPU执行的过程中不被中断的特性称为原子性.可见性当一个线程修改了对象状态后,其他线程能够看到发生的状态变化。顺序性在没有同步的情况下,编译器、处理器以及运行时等都可能对操作的执行顺序进行一些意想不到的调整。如果在被线程内观察,所有操作都是有序的;如
xiaolong1894
·
2023-11-07 02:33
java
面试
Java进程和线程的区别以及并发编程的基本概念
本文详细介绍了
Java并发
编程基础,包括进程、线程、上下文切换、线程调度、线程优先级等常见的基本概念。
刘Java
·
2023-11-06 22:45
Java
并发
java
多线程
进程
线程
JUC简单学习笔记
juc并发编程juc简介java.util.concurrent,
Java并发
包笔试题目手写单例模式手写冒泡排序生产者消费者变种题目进程/线程回顾进程/线程是什么?
张三疯学独孤九剑
·
2023-11-06 21:05
juc
java
juc
2
Java并发
原理精讲课程学习笔记
1.1、初始线程8大核心基础实现多线程的方法到底有1种还是2种还是4种?怎样才是正确的线程启动方式?如何正确停止线程?线程的一生——6个状态(生命周期)Thread和Object类中的重要方法详解线程的各个属性未捕获异常如何处理?双刃剑:多线程会导致的问题2.1、核心1:实现多线程的正确姿势2.1.1、创建新线程问题:实现多线程的方法是1种还是2种还是4种?创建线程2种方式:1.实现Runanbl
Iamlvxiaosha
·
2023-11-06 13:32
多线程
java并发
TCP IP网络
编程笔记
——尹圣雨
问题:write函数第二个参数,为什么转换成char*形式?自己理解:char大小为1,转换成char指针,表示从第一个字节开始,第三个参数表示传递大小——字节数。与地址指针对应传输数据时,数据的格式是什么?9.2中用SO_REUSEADDR后,Time_Wait状态时端口号被分配给其他套接字,但是最后的ACK消息没有正常传到主机B,此时B进行FIN消息重传,会不会传到其他位置(端口号已经分配给其
Toskies
·
2023-11-06 11:48
网络编程
udp
tcp/ip
网络
java并发
(2)线程详解
什么是线程线程(thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。线程由线程ID,程序计数器(PC)[用于指向内存中的程序指令],寄存器集合[由于存放本地变量和临时变量]和堆栈[用于存放方法指令和方法参数等]组成。线程状态Java线程中,有一个内部枚举类S
JimmieYang
·
2023-11-06 08:12
Spring响应式
编程笔记
流转换和弹珠图常用操作符例如:map、filter、count、zip等相关网站:https://rxmarbles.com/
调雨为酥
·
2023-11-06 06:42
Liunx系统
编程笔记
1.进程概念1.1冯诺依曼体系结构1.1.1中央处理器:cpu功能:完成算术运算、逻辑运算(与或非门)如在完成1+1=2的运算时,cpu将两个数进行算术运算获取结果,回写到内存,并通过输出设备进行输出1.1.2存储器:内存功能:保存临时数据(不能持久化保存)结论(1)所有数据都是采用2进制进行存储(通过模拟电流的高低电频模拟二进制数据)(2)运算产生的数据都是存储在内存中扩展(1)1个CPU同一时
qq_45645552
·
2023-11-05 19:03
Linux学习
笔记
python笔记本电脑推荐2020_最新版:2020年适合程序员的推荐笔记本电脑
购买
编程笔记
本电脑时,一套明智的基准规格包括至少8GB内存,不错的SSD,强大的集成GPU和i5或i7处理器。尽管这些基准测试配置不错,但不足以帮助您找到最好的笔记本电脑。
weixin_39683692
·
2023-11-04 20:55
适合程序员编程的笔记本电脑如何选择?
在购买
编程笔记
本电脑时,一套智能的基准规格包括至少8GB的内存、像样的SSD、强大的集成GPU和一个i5或i7处理器。虽然这些基准配置很好,但它们不足以帮助您找到最好的笔记本电脑。
梦子mengy7762
·
2023-11-04 20:48
爬虫
python
数据分析
windows
c++
python
pycharm
爬虫
Linux 系统shell脚本
编程笔记
——脚本入门
目录1、创建shell脚本文件2、显示消息3、环境变量4、用户变量5、命令替换编辑6、重定向输入与输出6.1、输出重定向6.2、输入重定向编辑7、执行数学运算7.1、expr命令7.2、bc的基本用法8、退出脚本完整笔记请前往此处获取:https://download.csdn.net/download/qq_55908180/88366003Shell的核心是命令行提示符1、创建shell脚本文
TXFBAP
·
2023-11-04 17:55
shell脚本编程
linux
笔记
ubuntu
bash
GitHub也无法幸免被墙变慢...!一招搞定
专注分享后端技术干货,包括Java基础、
Java并发
、JVM、Elasticsearch、Zookeeper、Nginx、微服务、消息队列、源码解析、数据库、设计模式、面经等,助你编程之路少走弯路。
怕被吃掉的软糖猿
·
2023-11-04 16:51
Java并发
编程实践
百度云image作者:戈茨出版社:电子工业出版社译者:韩锴/方秒出版年:2007-6页数:403定价:58.00元豆瓣评分:8.9内容简介:《
JAVA并发
编程实践》随着多核处理器的普及,使用并发成为构建高性能应用程序的关键
LearnOfBooks
·
2023-11-04 12:18
并发
编程笔记
之线程的应用(一)
如何应用多线程?在java中,我们有有多种方式来实现多线程。如继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现带有返回值的多线程。继承Thread类创建线程Thread类本质上是实现了Runnable接口的一个实例,代表一个线程的实例。启动线程的唯一方法就是通过Thread类的start()实例方法。start()是一个nativ
john.Y
·
2023-11-04 11:03
并发编程
笔记
JDK21最终版协程实现之虚拟线程
JDK21中就在这方面做了很大的改进,让
Java并发
编程变得更简单一点,更丝滑一点。之前写过JDK21Feature。
小白学编程123
·
2023-11-04 10:45
python
开发语言
视觉SLAM十四讲 读书
编程笔记
Chapte3 三维空间刚体运动
三维空间刚体运动旋转矩阵内积和外积坐标间的欧式变换变换矩阵与齐次坐标实践:Eigen1.ubuntu下Eigen的安装2.Eigen头文件3.Eigen::Matrix()4.用,内积可以描述两个向量间的投影关系。外积:外积的方向垂直与这两个向量,大小为|a||b|sin,是两个向量张成的四边形的有向面积。值得强调的是,对于外积,我们引入了^符号,用这个符号将向量a转换成了一个反对称矩阵,所以该符
Leo-Ma
·
2023-11-04 06:24
SLAM
SLAM十四讲
java并发
编程-读书笔记
第一章、Java锁类Lock接口使用方式Locklock=newReentrantLock();lock.lock();try{//dosomething}finally{lock.unlock();//在finally块中释放锁,目的是保证在获取到锁之后,最终能够被释放}tips:不要将获取锁的过程写在try块中,因为如果在获取锁(自定义锁的实现)时发生了异常,异常抛出的同时,也会导致锁无故释放
Zznek0
·
2023-11-03 19:59
读书笔记
java
Java并发
编程--并发队列原理之DelayQueue
文章目录DelayQueue原理探究(1).结构(2).主要函数原理讲解1).offer操作2).take操作3).poll操作(3).小结DelayQueue原理探究 DelayQueue是一个无界阻塞延迟队列,队列中的每个元素都有过期时间,只有过期元素才会出列,队列头元素是最快要过期的元素.(1).结构 内部使用PriorityQueue(二叉堆实现的队列)存放数据,使用ReentrantLo
LFuser.
·
2023-11-03 19:28
JUC
java
多线程
并发编程
上一页
10
11
12
13
14
15
16
17
下一页
按字母分类:
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
其他