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多线程
并发学习
记录
基础知识1.进程和线程线程是最小的调度单位,进程是最小的资源分配单位进程:当程序从磁盘加载到内存中这时就开启了一个进程,进程可视为程序的一个实例。大部分程序可以同时运行多个实例。线程:线程是进程的一个子集,是一个指令流,并且将指令流中的指令按顺寻交给cpu执行进程大多相互独立,线程存于进程内部。进程拥有共享的资源供其内部线程共享进程的通信复杂:同一机器进程通信的IPC和不同机器通信的HTTP等线程
追随远方的某R
·
2024-01-29 11:26
java
线程
并发
JAVA 多线程与高
并发学习
笔记(十三)——JUC显式锁
前面孩子生病了,一直照顾孩子。然后自己又感冒了,嗓子难受的要死。今天终于好多了。显式锁介绍JDK5引入了Lock接口,与内置加锁机制不同的是,Lock提供了一种无条件的、可轮询的、定时的以及可中断的锁获取操作,所有加锁和解锁的方法都是显式的。显式锁Lock接口Lock接口位于java.util.concurrent.locks包中,是JUC显式锁的一个抽象,主要抽象方法如下表。方法说明voidlo
简单一点点
·
2024-01-15 16:57
JAVA 多线程与高
并发学习
笔记(一)——线程创建
好久没写笔记了,重新回归Java,打好基础。Java进程中每一个线程都对应着一个Thread实例,其中保存着线程的描述信息。Thread类Java使用Thread类表示线程,首先看一个简单的示例。publicstaticvoidmain(String[]args)throwsInterruptedException{Threadthread=newThread();System.out.print
简单一点点
·
2023-12-30 06:30
Java
并发学习
笔记(一)——原子性、可见性、有序性问题
计算机的CPU、内存、I/O设备的速度一直存在较大的差异,依次是CPU>内存>I/O设备,为了权衡这三者的速度差异,主要提出了三种解决办法:CPU增加了缓存,均衡和内存的速度差异发明了进程、线程,分时复用CPU,提高CPU的使用效率编译指令优化,更好的利用缓存三种解决办法虽然有效,但是也带来了另外的三个问题,分别就是并发bug产生的源头。1.可见性问题如果是单核CPU,多个线程操作的都是同一个CP
roseduan写字的地方
·
2023-11-21 23:07
JUC并发编程系列(二):多线程并发、CAS、锁
前言在这篇文章中,荔枝将主要梳理在JUC
并发学习
中的有关Java多线程中有关共享变量的内存可见性、原子性问题、指令重排问题以及伪共享问题。
荔枝当大佬
·
2023-11-13 14:20
JUC并发编程学习
java
CAS
多线程并发
伪共享
锁
Linux高
并发学习
---epoll单机百万并发实现
一、前情提要在上一篇文章中(Linux高
并发学习
—epoll的reactor实现),已经讲述了epoll的reactor实现方式,本篇文章将沿用代码实现单机百万并发的实现。
阿杰的小鱼塘
·
2023-11-05 19:42
Linux
TCP
linux
服务器
epoll
tcp/ip
c语言
JUC高
并发学习
笔记
1、什么是JUC在Java中,线程是一个重点,JUC是java.util.concurrent工具包的简称,这是一个处理线程的工具包,JDK1.5开始出现。1.1进程与线程进程(Process)是系统进行资源分配和调度的基本单位,是操作系统结构的基础,进程是线程的容器。线程(thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一
止步前行
·
2023-10-22 12:35
并发编程
java
juc
高并发编程
Go语言并发
Go语言
并发学习
目标出色的并发性是Go语言的特色之一•理解并发与并行•理解进程和线程•掌握Go语言中的Goroutine和channel•掌握select分支语句•掌握sync包的应用并发与并行并发与并行的概念这里不再赘述
CodeMartain
·
2023-10-19 10:30
golang
java
开发语言
Java并发和多线程-1
更好地利用单个CPU更好地利用多个CPU或CPU内核关于响应能力的更好的用户体验关于公平的更好的用户体验多线程与多任务多任务多线程多线程很难Java中的多线程和并发并发模型Java
并发学习
指南Java并发性是一个涵盖
domy_ae5a
·
2023-10-19 00:00
JAVA 多线程与高
并发学习
笔记(十七)——异步回调
异步回调模式是高并发下的核心模式,本部分对异步回调进行详细介绍。泡茶案例本部分从一个很好理解的异步生活示例-泡茶开始。为了异步执行泡茶流程,分别涉及三个线程:泡茶线程(主线程)、烧水线程和清洗线程。泡茶线程的工作是:启动清洗线程、启动烧水线程,等清洗、烧水的工作完成后,泡茶喝;清洗线程的工作是:洗茶壶、洗茶杯;烧水线程的工作是:洗好水壶、灌上凉水,放在火上,一直等水烧开。下面分别使用阻塞模式、回调
简单一点点
·
2023-10-09 03:06
Java
并发学习
笔记(七):线程池、自定义线程池、任务调度线程池、Tomcat线程池、Fork/Join
并发工具一、线程池线程池是指管理一组同构工作线程的线程的资源池。线程池与**工作队列(WorkQueue)模切相关,工作队列中保存了所有等待知心的任务。线程池中的工作线程(WorkThread)**的任务很简单:从工作队列中获取一个任务,执行任务,然后返回线程池并等待下一个任务。使用线程池的好处是:通过重用现有的线程而不是创建新线程,可以在处理多个请求时分摊在线程创建和销毁过程中产生的巨大开销。当
Miracle42
·
2023-09-22 13:29
并发
后端
多线程
Python高
并发学习
大纲
第一部分——简述高并发编程是软件工程中一个复杂但极为重要的领域,特别是在互联网应用、大数据处理和实时系统等多种场合。高并发技术能有效提升系统的性能和可扩展性。以下是一些关于如何学习高并发的建议:基础知识计算机网络:理解HTTP、TCP/IP、WebSockets等。操作系统:进程、线程、CPU调度、内存管理等。数据结构与算法:队列、栈、散列表、树、图等。编程语言选择合适的编程语言:例如Java、C
今晚务必早点睡
·
2023-09-19 23:05
Python
python
学习
开发语言
Java
并发学习
(十九)-Java8中ConcurrentHashMap分析
断断续续看了那么些天,趁着周末把知识记下来。在平常编程时,HashMap是用的很频繁的一个类,但是,当在并发情况下,却不推荐使用它,因为它没有做任何的并发控制,不安全,是个隐患。当然,在Java中,也有适用与并发情况下对应HashMap的HashTable,以及Collections包装的synchronizedMap方法。二者原理基本一直,都是在HashMap基础上,给方法加上synchroni
6点A君
·
2023-09-16 05:33
Java并发学习
Java
并发学习
(三)----volatile关键字、Java内存模型
摘要:在Java并发编程中,要想使并发程序能够正确地执行,必须要保证三条原则,即:原子性、可见性和有序性。只要有一条原则没有被保证,就有可能会导致程序运行不正确。volatile关键字被用来保证可见性,即保证共享变量的内存可见性以解决缓存一致性问题。一旦一个共享变量被volatile关键字修饰,那么就具备了两层语义:内存可见性和禁止进行指令重排序。在多线程环境下,volatile关键字主要用于及时
彳亍口巴
·
2023-09-06 20:59
MySQL的共享锁和排他锁
锁定读LockingReads有过编程语言
并发学习
经验的同学,应该都了解过读写锁的概念。读写锁主要是为了解决多读少写条件下,程序的并发性能问题。
CrazyDragon_King
·
2023-08-30 18:56
mysql
Go
并发学习
(二)——Context(上下文)
参考:Go语言设计与实现什么是Context上下文context.Context是Go语言中用来设置截止日期、同步信号,传递请求相关值的结构体。上下文与Goroutine有比较密切的关系,是Go语言中独特的设计,在其他编程语言中我们很少见到类似的概念。context.Context是Go语言在1.7版本中引入标准库的接口,该接口定义了四个需要实现的方法,其中包括:Deadline()——返回Con
Autumnn111
·
2023-08-27 16:14
golang
JAVA 多线程与高
并发学习
笔记(十六)——高并发设计模式
本部分介绍几种在高并发场景中常用的设计模式:线程安全的单例模式、ForkJoin模式、生产者——消费者模式、Master-Worker模式和Future模式。线程安全的单例模式单例模式很常见,一般用于全局对象管理,比如XML读写实例、系统配置实例、任务调度实例、数据库连接池实例等。从饿汉式单例到懒汉式单例按照单例对象初始化的时机,单例模式分为懒汉式和饿汉式,懒汉式单例对象在类被加载时就直接被初始化
简单一点点
·
2023-08-10 05:20
Java
并发学习
笔记(一)锁
Java
并发学习
笔记(一)锁前言在多线程环境中,如果对共享变量进行非原子的操作,就很可能出现线程安全问题,为了维护多线程环境下操作共享变量的数据一致性,通常我们就需要用到锁,在Java中,关于锁的概念很多
Aries_Chen
·
2023-07-31 00:14
Java
并发学习
笔记
最近都在看极客时间的《Java并发编程》这一课程,看了好一阵,有些明白,有些混沌。于是想着自己整理一版,根据自己的理解做一点笔记。先罗列了一个笔记大纲,从整体去看,如何去学习。大纲.png并发定义并发经常和另一个概念被一同提起-并行。简单点说,并发与并行的区别就是,并行是真正的同一时刻干了几件事,并发只是看上去一段时间内干了几件事。两者的时间维度不一样,并发是“一段时间”这一维度。并发是通过线程切
可乐zzz
·
2023-07-26 18:29
java高
并发学习
一
title:java高
并发学习
一date:2019-05-0509:53:51tags:javacategories:java1.基础的线程同步:synchronized1.1synchronized示例访问同一个变量的时候
smallmartial
·
2023-07-19 01:53
Java并发(六)线程池入门
在我的Java
并发学习
笔记专栏的前五篇文章中,讲述了关于Java锁机制、乐观锁和悲观锁以及AQS、Reentrantlock、volatile关键字、ThreadLocal类、ConcurrentHashMap
大家好我是Boger
·
2023-06-14 05:29
Java学习笔记
#
Java并发学习笔记
java
多线程与高
并发学习
:ThreadPoolExecutor源码解析
目录前言正文源码解析———基本属性源码解析———execute源码解析———addWorker源码解析———runWorker源码解析———getTask源码解析———processWorkerExit源码解析———tryTerminate源码解析———shutdown源码解析———shutdownNow总结前言线程池在工作中的应用非常广泛,学习其源码可以更好掌握并发相关的思想。正文源码解析———
@猪大肠
·
2023-06-11 07:10
多线程与高并发
java
逻辑架构概述
这个连接的查询只会在这个单独的线程中执行,服务器会负责缓存线程(不需要为每一个新建的连接创建或销毁进程)MySQL5.5及以上提供了一个API支持线程池插件(预加载线程,之后反复使用)(1条消息)C++11
并发学习
之六
皇皇零岁
·
2023-03-29 06:46
MySQL
数据库
mysql
sql
并发学习
03--Java并发机制的底层原理之原子操作的实现原理
该
并发学习
系列以阅读《Java并发编程的艺术》一书的笔记为蓝本,汇集一些阅读过程中找到的解惑资料而成。这是一个边看边写的系列,有兴趣的也可以先自行购买此书学习。
蜜汁炒酸奶
·
2023-03-21 12:13
【HTTP系列一开篇】HTTP协议与高
并发学习
路线
说明(1)HTTP协议并不难理解,但是深入进去会发现它能串联起很多的知识,可谓是“浅入深出”,把知识串起来这种学习方法,是不是学习效果更好,有待考察。(2)这条学习主线,不一定非要一步一步的执行起来,也可以当做一个知识体系、知识框架,根据自己的实际情况,不断地往这个体系里面填充知识,让它变得更丰富一点。(3)这条学习主线,能将很多知识串联起来,这样我们在学习的过程中,做到心里有数:那些知识还没有学
momo131422
·
2023-02-03 10:15
http
学习
java
并发学习
04-内存模型基础
该
并发学习
系列以阅读《Java并发编程的艺术》一书的笔记为蓝本,汇集一些阅读过程中找到的解惑资料而成。这是一个边看边写的系列,有兴趣的也可以先自行购买此书学习。
蜜汁炒酸奶
·
2023-01-31 21:42
Java的JVM和
并发学习
JVM内存结构对于JVM内存结构这块,原内容是基于1.7版本的,现在基于1.8版本做了大幅度改动,放到了Java实习生面试复习(十二):JVM内存结构/运行时数据区中做了一个总结。垃圾回收器与内存分配策略概述:程序计数器、虚拟机栈、本地方法栈3个区域随线程生灭(因为是线程私有),栈中的栈帧随着方法的进入和退出而有条不紊地执行着出栈和入栈操作。而Java堆和方法区则不一样,一个接口中的多个实现类需要
Linn-cn
·
2023-01-09 14:09
Java语言基础
java
jvm
多线程
面试
【Java高
并发学习
】Java并行搜索
Java并行搜索1.二分查找(有序数组)/***有序数组之二分查找*@authorwsz*@date2018年1月3日*/publicclassDemo{//数组以及数据staticint[]arr={25,48,65,87,123,233,456,666,777,8999,55555};//二分查找返回下标staticintsearch(int[]arr,inttarget){intlen=ar
炒熟的番茄
·
2022-12-24 16:00
Java高并发
java.util.concurrent
并发学习
总结(本章节目录)
为了加深学习能力和后来复习,总结了自己学习java.util.concurrent包的一些笔记,欢迎同学们进行阅读和给出批评建议。一、线程基础1、操作系统进程与线程之定义及区别2、java线程的共享与协作、synchronized使用3、线程间共享于协作-等待通知机制、等待超时机制二、线程并发工具类1、fork/join2、countdownlatch、cyclebarrier3、semaphor
wangle965235568
·
2022-12-22 00:43
#
java并发编程相关知识
多线程
java.util
concurrent
笔记
并发编程
JVM高
并发学习
第一章
1.JVM基础和入门1.1java从代码到执行的过程分为两个部分:部分一:javac部分将源代码文件通过javac的指令生成相应的class文件部分二:java部分class文件通过classLoader加载内存中,还需支持相应的java类库比如说String.class或是Object.class。调用字节码解释器或者JIT即时编辑器,来进行解释和编译,编译之后会由执行引擎开始执行,执行引擎对应
web13282751078
·
2022-09-08 04:41
java
jvm
学习
java
数据库
spring
00.Java高
并发学习
笔记,前言(参考《java高并发之美》)
我为什么写此系列文章此前看书走马观花,自己写的代码量少,书中代码案例也难以满足我的需求书籍一般干货很多,笔墨都用在讲原理逻辑上,导致案例和专业教材不同,而案例过少,专业教材都会提供大量案例和练习题,但是技术书籍每个知识点仅仅提供一两个配图和代码案例和汉语例子.这是导致我看书理解慢的原因之一,相信有很多人和我一样.我是如何写此系列文章的因此我读书时,会增加代码案例量,扩展出至少3倍原来的代码量,3倍
·
2022-07-21 10:15
java
并发学习
笔记一
JUC并发编程文章目录JUC并发编程理论基础并发问题出现的三要素可见性cpu缓存引起原子性分时复用引起有序性重排序引起java处理并发问题JMM(java内存模型)Happens-Before规则线程安全多线程![16539582502241](https://img-blog.csdnimg.cn/img_convert/6835a04090f899026039b6204dcb6148.png)
黑色幽默595
·
2022-06-05 15:16
java
学习
java
面试
数据库
并发学习
总结
数据库并发控制1.在数据库中为什么要并发控制?答:数据库是共享资源,通常有许多个事务同时在运行。当多个事务并发地存取数据库时就会产生同时读取和/或修改同一数据的情况。若对并发操作不加控制就可能会存取和存储不正确的数据,破坏数据库的一致性。所以数据库管理系统必须提供并发控制机制。2.并发操作可能会产生哪几类数据不一致?用什么方法能避免各种不一致的情况?答:并发操作带来的数据不一致性包括三类:丢失修改
bcbobo21cn
·
2022-03-11 07:37
转载
数据库
数据库
并发
数据库并发
Java
并发学习
笔记
文章目录线程1.创建线程2.线程方法2.1.调度2.2.优先级2.3.中断3.线程的生命周期线程池1.ThreadPoolExecutor1.1.七大参数1.2.API1.3.线程池状态1.4.源码2.ForkJoinPool2.1.RecursiveAction2.2.RecursiveTask3.Executors线程安全场景1.不可变2.同步3.无同步synchronized1.Api2.使
CComma
·
2022-02-27 07:07
#
并发
java
并发
高并发
并发学习
计划-了解Executors创建线程池的部分方法07
终于讲到Executors来了,学习并发这个系列的最初目的也是为了更好的了解Executors这个类的使用方法。首先说说这个类是干嘛的。这个类充斥了无数的静态方法,也就是说,这个类里面大部分的方法都是可以直接通过类名调用的,所以很显然这是一个工具类了,先感受下这个工具类Executors.jpgnew开头的方法就有这么多,这些方法主要都是创建线程池的,但是我并不会讲完所有的new系列的方法,我会将
你缺少想象力
·
2022-02-10 12:43
Java
并发学习
笔记:ReentrantReadWriteLock(良心之作)
前言上一篇博客介绍了ReentrantLock,可是ReentratLock是独占锁,遇到写少读多的情况,性能会不尽人意。JUC包还提供了一个ReentrantReadWriteLock锁,采用读写分离的方式,多个线程可以同时获取读锁。本文将从源码角度对ReentrantReadWriteLock(以下简称读写锁)的初始化,获取,释放等进行解释和记录。锁的初始化publicclassReentra
·
2021-09-13 15:17
java程序员锁
Java
并发学习
之多线程间数据共享与隔离可以怎么玩
推荐一个Java学习群523401738每天晚上在腾讯课堂都有一个Java技术学习课,会有老师分享干货,帮助大家分析解答问题,你愿意来学习吗多线程间数据共享与隔离什么场景下会用到数据共享?如何实现多线程之间的数据共享?如何确保多线程修改共享变量不会出现并发问题?本篇博文为基础篇,努力做到让大家一目了然,同时欢迎各路大神的批评指正主要内容集中在多线程环境下,如何实现安全高效的数据共享和数据隔离I.数
大数据资料分享
·
2021-06-07 03:42
Java
并发学习
之原子性
原子性简单定义为提供了互斥访问,同一时刻只能有一个线程来进行操作。可见性则是一个线程对主内存的修改可以及时被其他线程发现。有序性是一个线程观察其他线程中的指令执行顺序,由于指令重排序的存在,观察结果一般杂乱无序。原子性在java中提供了Atomic包。/***线程池的基本大小*/staticintcorePoolSize=1000;/***线程池最大数量*/staticintmaximumPool
Ever_zh
·
2021-05-04 21:11
Java多线程和高
并发学习
笔记7
字符串池举个例子:Stringa="a"+"b";System.out.println(a);System.out.println(a.intern());System.out.println(a==a.intern());Stringb=newString("ja"+"va");System.out.println(b);System.out.println(b.intern());System
101之歌
·
2021-05-04 18:21
多线程和高并发
Java多线程和高
并发学习
笔记6
Callable接口我们知道,java中实现多线程的方式有好几种,下面我们就来看看Callable接口代码很简单://实现Callable接口classDemoimplementsCallable{@OverridepublicIntegercall(){System.out.println("comeinCallable");try{TimeUnit.SECONDS.sleep(3);}catc
101之歌
·
2021-05-03 20:19
多线程和高并发
Java多线程和高
并发学习
笔记5
Java多线程之间的通信,最常见的就是生产者-消费者模式,通过一个状态码来控制什么时候去生产和消费,下面我们就来写一个简单的例子,来看看这种最常见的线程之间的通信方式packagethread3;importjava.util.concurrent.locks.Condition;importjava.util.concurrent.locks.Lock;importjava.util.concu
101之歌
·
2021-05-02 11:52
多线程和高并发
【
并发学习
二】ThreadPoolExecutor
Java线程池三大好处:1.降低资源消耗;2.提高响应速度;3.提高线程的可管理性;ThreadPoolExecutor:newThreadPoolExecutor(corePoolSize,//线程池基本大小maximumPoolSize,//线程池最大大小keepAliveTime,//线程活动保持时间timeUnit,//时间单位runnableTaskQueue,//任务队列,可选Arra
傻瓜先生fd
·
2021-04-28 13:45
【Java
并发学习
】之线程的同步
【Java
并发学习
】之线程的同步前言在前面一个小节中,我们学习了线程的概念以及在Java中创建任务的方式,并且将任务委托给对应的线程进行执行,本小节我们主要来学习线程之间的关系之一的同步,包含临界区、临界资源
颜洛滨
·
2021-04-24 15:04
Java
并发学习
笔记 -- Java中的Lock、volatile、同步关键字
Java并发参考资料:《Java并发编程的艺术》并发番@Synchronized一文通(1.8版)一、锁1.偏向锁1.思想背景来源:HotSpot的作者经过研究发现,大多数情况下,锁不仅不存在多线程竞争,而且总是由同一线程多次获得,为了让线程获得锁的代价更低而引入了偏向锁。原理:在对象头和栈帧中的锁记录里存储锁偏向的线程ID,以后该线程在进入和退出同步块时不需要进行CAS操作来加锁和解锁,只需简单
慕北人
·
2021-04-19 12:09
Java面试题汇总(二)
《NettyZookeeperRedis高并发实战》,面试必备+面试必备+面试必备,高
并发学习
必备好书,没有之一详情前见:疯狂创客圈Java高并发【亿级流量聊天室实战】实战系列【博客园总入口】前言如何才能够能够进入阿里
尼恩_疯狂创客圈
·
2021-04-15 07:48
并发学习
计划-SynchronousQueue05
今天学习一下SynchronousQueue看名字先猜一下这个东西是干啥的,Synchronous同步的,Queue队列,翻译过来同步的队列。队列就队列呗,为啥还有个同步的。这个队列不是个啥正经队列,因为这个队列没有容量,神奇吧,没有容量居然还好意思叫队列。这个东西只允许放一个东西,如果你要连续放两个东西进去,对不起,只让进一个,啥时候把第一个拿出来,再把第二个放进去。我们来看看这个类长啥样:pu
你缺少想象力
·
2021-04-14 07:26
java
并发学习
-CountDownLatch实现原理全面讲解
CountDownLatch在多线程并发编程中充当一个计时器的功能,并且维护一个count的变量,并且其操作都是原子操作。如下图,内部有下staticfinal的Sync类继承自AQS.该类主要通过countDown()和await()两个方法实现功能的,首先通过建立CountDownLatch对象,并且传入参数即为count初始值。如果一个线程调用了await()方法,那么这个线程便进入阻塞状态
·
2021-02-18 13:02
多线程高
并发学习
之线程池从入门到入土
多线程高
并发学习
之线程池从入门到入土临近过年,我又开始放纵自己了,托更好几天,今天中午12点半刚回到老家,带着我的狗子,今天是过年之前最后一个集,大街上可热闹了,我中午吃了饭去外边逛了逛,逛了一圈,想起我已经鸽了好几天了
·
2021-02-11 14:10
java
多线程高
并发学习
之线程池从入门到入土
多线程高
并发学习
之线程池从入门到入土临近过年,我又开始放纵自己了,托更好几天,今天中午12点半刚回到老家,带着我的狗子,今天是过年之前最后一个集,大街上可热闹了,我中午吃了饭去外边逛了逛,逛了一圈,想起我已经鸽了好几天了
·
2021-02-11 14:01
java
多线程高
并发学习
之并发容器
多线程高
并发学习
之并发容器HashMap相关的同步容器前世今生介绍:HashMap是从HashTable演变过来的,HashTable设计之初的意愿是容器的的所有方法必须都得是同步的,所以HashTable
·
2021-02-03 21:12
java
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
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
其他