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
并发编程
解析 | 基于JDK源码解析Java领域中并发锁之StampedLock锁的设计思想与实现原理 (三)
——朝槿《朝槿兮年说》写在开头在
并发编程
领域,有两大核心问题:一个是互斥,即同一时刻只允许一个线程访问共享资源;另一个是同步,即线程之间如何通信、协作。
朝槿木兮
·
2023-10-28 05:38
CAS 机制的实现
原理分析
在synchronized中很多地方都用到了CAS机制,它的叫法有很多,比如CompareAndSwap、CompareAndExchange、CompareAndSet,它是一个能够进行比较和替换的方法,这个方法能够在多线程环境下保证对一个共享变量进行修改时的原子性不变。为了更好地理解CAS机制,我们来看下面这个例子,下面这个例子演示了一个对成员变量i进行累加的过程。publicclassCas
明雨星云
·
2023-10-28 04:57
JAVA
java
cas实现原理分析
mybatis 连接池探究
起因是目前再看《Java
并发编程
的艺术》并发基础那章实现了一个简单的连接池,虽然只是为了展示等待/通知,但是我对平时常用的mybatis的连接池是怎么实现的感到很好奇,所以就有了这次的记录。
上重楼
·
2023-10-28 02:54
《Java
并发编程
之美》学习笔记
成功上岸,进入华为,之前花5W买的JAVA课程合集,整整420集,拿走不谢,公粮上交,手把手教学,学完即可就业_哔哩哔哩_bilibili1.
并发编程
基础1.1什么是线程线程是进程中的一个实体,线程本身是不会独立存在的
jmysql
·
2023-10-28 01:18
java
学习
大数据
并发编程
- 并发可见性,原子性,有序性 与 JMM内存模型
1.并发三大特性
并发编程
Bug的源头:原子性、可见性和有序性问题1.1原子性一个或多个操作,要么全部执行且在执行过程中不被任何因素打断,要么全部不执行。
长情知热爱
·
2023-10-28 00:16
java
数据库
开发语言
并发编程
-线程池ThreadPoolExecutor底层
原理分析
(二)
1、线程池中基本属性和方法源码解析2、线程池的五种状态变换源码分析3、线程池添加线程源码解析4、线程池线程运行执行任务源码解析5、线程池shutdown源码解析6、线程池中线程退出机制源码解析线程池源码的基础属性和方法在线程池的源码中,会通过一个AtomicInteger类型的变量ctl,来表示线程池的状态和当前线程池中的工作线程数量。一个Integer占4个字节,也就是32个bit,线程池有5个
长情知热爱
·
2023-10-28 00:46
java
开发语言
1024程序员节
并发编程
-线程池ForkJoinPool工作
原理分析
由一道算法题引发的思考算法题:如何充分利用多核CPU的性能,快速对一个2千万大小的数组进行排序?分解求解合并这道算法题可以拆解来看:1)首先这是一道排序的算法题,而且是需要使用高效的排序算法对2千万大小的数组进行排序,可以考虑使用快速排序或者归并排序。2)可以使用多线程并行排序算法来充分利用多核CPU的性能。2.基于归并排序算法实现对于大小为2千万的数组进行快速排序,可以使用高效的归并排序算法来实
长情知热爱
·
2023-10-28 00:46
算法
并发编程
之线程池
目录一、线程池基本概念二、线程池常用队列LinkedBlockingQueueDelayQueueSynchronousQueueTransferQueue三、拒绝策略四、jdk自带线程池SingleThreadPoolCachedThreadPoolFixedThreadPoolScheduledThreadPool五、部分线程池源码六、两个特殊的线程池WorkStealingPoolForkJ
、风筝
·
2023-10-28 00:15
多线程
java
黑马
并发编程
(AQS源码分析、线程池)
AQS源码分析、线程池8.线程池1.自定义线程池阻塞队列优化队列线程池执行和线程处理设计线程池执行的整个思路阻塞添加拒绝策略2.ThreadExecutor线程池状态线程池参数拒绝策略newFixedThreadPoolnewCacheThreadPoolnewSingleThreadPoolsubmitinvokeAllinvokeAny关闭线程shutdownshutdownNow其它方法设计
月亮的-影子
·
2023-10-28 00:44
JUC
rabbitmq
线程池ForkJoinPool工作
原理分析
文章目录一、如何快速高效的对2千万大小数组进行排序基于归并排序算法实现二、单线程和多线程并行场景下归并排序性能对比单线程实现归并排序Fork/Join并行归并排序并行实现归并排序的优化和注意事项三、Java并行框架Fork/Join使用详解什么是Fork/Join应用场景四、Fork/Join处理递归任务和阻塞任务注意事项计算斐波那契数列处理递归任务注意事项处理阻塞任务五、ForkJoinPool
小超同学卷起来
·
2023-10-28 00:44
并发专题
java
并发编程
笔记-线程池
一、线程池1.简介线程的创建和销毁,都涉及到系统调用,比较消耗系统资源,所以就引入了线程池技术,避免频繁的线程创建和销毁。合理地使用线程池能够带来的好处:1)通过重复利用已创建的线程降低资源消耗;2)提高任务的响应速度;3)使用线程池可以对线程进行统一分配、调优和监控。2.实现原理线程池是一组线程的集合,当提交一个新任务到线程池时,处理流程大致如下:1)线程池判断核心线程池里的线程是否都在执行任务
dukay0319
·
2023-10-28 00:14
并发编程
并发编程
线程池ForkJoinPool实战及其工作
原理分析
由一道算法题引发的思考算法题:如何充分利用多核CPU的性能,快速对一个2千万大小的数组进行排序?这道算法题可以拆解来看:首先这是一道排序的算法题,而且是需要使用高效的排序算法对2千万大小的数组进行排序,可以考虑使用快速排序或者归并排序。可以使用多线程并行排序算法来充分利用多核CPU的性能。基于归并排序算法实现对于大小为2千万的数组进行快速排序,可以使用高效的归并排序算法来实现。什么是归并排序归并排
Tacy0213
·
2023-10-28 00:43
并发
排序算法
算法
数据结构
并发编程
- 线程池ForkJoinPool工作
原理分析
(实践)
数据结构加油站:ComparisonSortingVisualization并发设计模式单线程归并排序publicclassMergeSort{privatefinalint[]arrayToSort;//要排序的数组privatefinalintthreshold;//拆分的阈值,低于此阈值就不再进行拆分publicMergeSort(finalint[]arrayToSort,finalint
长情知热爱
·
2023-10-28 00:13
java
什么是可重入,什么是可重入锁? 它用来解决什么问题?
可重入可重入是多线程
并发编程
里面一个比较重要的概念,简单来说,就是在运行的某个函数或者代码,因为抢占资源或者中断等原因导致函数或者代码的运行中断,等待中断程序执行结束后,重新进入到这个函数或者代码中运行
无语堵上西楼
·
2023-10-28 00:50
java面试题
java
开发语言
Android 安卓Kotlin-协程
Kotlin协程是一种轻量级的
并发编程
模型,允许您以同步的方式编写异步代码。它建立在Kotlin的suspend修饰符之上,通过在
第三女神程忆难
·
2023-10-28 00:13
Android更上一层楼
Kotlin上天之路
1024程序员节
《Java
并发编程
之美》笔记
Java
并发编程
之美阅读开源框架的一点心得为什么要看源码由经验不足导致的问题不知道如何去设计,就看当前系统类似需求的设计,然后去仿照设计的时候,考虑不周全工作经验的积累来自于年限与实践,看源码可以扩展思路可以解决经验不足的办法通过学习开源框架
老干妈炒饭
·
2023-10-27 23:40
并发编程
网络编程和数据库的基础操作
第二部分网络编程之osi七层模型和三次握手四次挥手socket#byluffycity.com#概念#应用层httphttpssslsmtpftp#传输层tcpudp端口信息四层路由器四层交换机#tcp#可靠的面向连接的全双工的流式传输效率低#三次握手和四次挥手#三次握手#把图背下来synack#四次挥手#把图背下来finack#黏包:(自定义协议)先发送数据的长度,再发送数据#udp效率高不可靠
aamoy06888
·
2023-10-27 23:58
数据库
操作系统
epoll
python基础知识点大全
基础阶段一篇到底持续更新中........一、CPython二、基本语法2.1print输出2.2变量、常量与垃圾回收机制2.2.1变量2.2.2常量2.2.3内存指向2.2.4垃圾回收机制垃圾回收机制
原理分析
阿煜酱~
·
2023-10-27 22:52
python
python
基于UDP打洞(内网穿透)实现P2P聊天程序代码及
原理分析
基于UDP打洞(内网穿透)实现P2P聊天程序代码及
原理分析
代码链接https://github.com/laike9m/PyPunchP2Pps:我分析的是别人的代码1:运行假设服务端的IP是192.168.88.100
Chen丶YiDA
·
2023-10-27 22:28
udp
p2p
每周一书《疯狂Python讲义》分享!
全书内容大致可分为四个部分,第一部分系统讲解了Python的基本语法结构、函数编程、类和对象、模块和包、异常处理等;第二部分主要介绍Python常用的内置模块和包,这部分包括正则表达式支持IO编程、数据库编程、
并发编程
shenmanli
·
2023-10-27 20:31
技术知识
python
面试问我,创建多少个线程合适?我该怎么说
防止
并发编程
出错最好的办法就是不写并发程序image既然多线程编程容易出错,为什么它还经久不衰呢?A:那还用说,肯定在某些方面有特长呗,比如你知道的【它很快
码农小光
·
2023-10-27 18:14
并发编程
--阻塞队列
阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作支持阻塞的插入和移除方法。1)支持阻塞的插入方法:意思是当队列满时,队列会阻塞插入元素的线程,直到队列不满。2)支持阻塞的移除方法:意思是在队列为空时,获取元素的线程会等待队列变为非空。阻塞队列常用于生产者和消费者的场景,生产者是向队列里添加元素的线程,消费者是从队列里取元素的线程。阻塞队列就是生产者用来存放元素、
守住阳光
·
2023-10-27 18:34
并发编程
-基础(Thread、FutureTask、Join、Interrupt、守护线程)
基础在学习
并发编程
时,首先需要具备如下几个条件才能让你跟好的阅读该专栏的文章希望你不是一个初学者,对于一些线程安全问题,需要接触过javaWeb开发、Web服务器、分布式框架时才会遇到,所以需要具备一定实际开发经验才能更好的理解到文章中的例子完成
JolyouLu
·
2023-10-27 16:02
JAVA并发编程
多线程
并发编程
Java基础
Java多线程
线程状态
Linux下Meterpreter执行原理浅析
前言针对Meterpreter的投递流程和
原理分析
,网上已有一部分相关资料了但是大多是基于Windows系统,Linux下的分析资料好像并不全面。
慕长风啊
·
2023-10-27 15:11
JUC
并发编程
17 | synchronized锁升级
尚硅谷(121-139)Synchronized锁升级入门简介一些面试题:谈谈你对Synchronized的理解synchronized的锁升级在阿里的规范里:高并发时,同步调用应该去考量锁的性能损耗。能用无锁数据结构,就不要用锁;能所区块,就不要所整个方法体;能用对象锁,就不要用类锁。这里有一个原则:尽可能使加锁的代码工作量尽可能小,避免在所代码中调用RPC方法。synchronized可以实现
_之桐_
·
2023-10-27 14:51
——
并发编程
——
java
jvm
开发语言
Java
并发编程
之深入理解线程池原理及实现
如果需要先行了解Java
并发编程
的基础知识,可参考以下随
weixin_34132768
·
2023-10-27 14:47
java
设计模式
数据结构与算法
并发编程
之JMH
前言这是我2021计划中的第一篇文章,今年准备深入探索JUC
并发编程
。也准备梳理出整个体系的JUC相关知识,还请大家多多支持!第一篇文章为啥要选择JMH来展开学习呢?
宋小智
·
2023-10-27 14:44
并发编程
java
RocketMQ消息发送的全部流程和落盘
原理分析
前言介绍RocketMQ目前在国内应该是比较流行的MQ了,目前本人也在公司的项目中进行使用和研究,借着这个机会,分析一下RocketMQ发送一条消息到存储一条消息的过程,这样会对以后大家分析和研究RocketMQ相关的问题有一定的帮助。技术范围分析的总体技术范围发送到存储,本文的主要目的是主要是为了认识一条消息并分析被发出且被存储的,代码中,关于MQ文件系统的优化,设计等。现在出发来自官方源码ex
Java小海.
·
2023-10-27 14:10
java
开发语言
后端
程序人生
【JUC
并发编程
-04】
JUC-
并发编程
04(八)、共享模型之工具1.线程池(1).自定义线程池_任务数小于队列容量(2).自定义线程池_任务数大于队列容量(3).自定义线程池_拒绝策略2.ThreadPoolExecutor
吉士先生
·
2023-10-27 14:03
java
开发语言
TransactionSynchronizationManager的使用场景以及
原理分析
目录一、是什么二、如何使用三、
原理分析
前段时间,在开发一个功能时,遇到这么一个场景:有一个同步操作A需要在另一个aop的功能B(涉及事务)完成之后,才去调用。
cj_eryue
·
2023-10-27 13:19
Spring
spring
Java多线程:
并发编程
(三)
一、进程和线程区别?进程:进程是资源(CPU、内存等)分配的基本单位,它是程序执行时的一个实例。每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1–n个线程。(进程是资源分配的最小单位)。线程:一个进程可以由很多个线程组成,线程间共享进程的所有资源,每个线程有自己的堆栈和局部变量。线程由CPU独立调度执行,在多CPU环境下就允许多个线程同时运行。同样多线程也
刻苦的刘同学
·
2023-10-27 10:45
多线程
java
Android 常用第三方库介绍(持续更新中)
github.com/square/leakcanary/学习地址:https://square.github.io/leakcanary/changelog/#version-22-2020-02-05使用和
原理分析
mumuxi_
·
2023-10-27 10:00
Java
并发编程
40道面试题及答案——面试稳了
1、线程与进程的区别?进程是操作系统分配资源的最小单元,线程是操作系统调度的最小单元。一个程序至少有一个进程,一个进程至少有一个线程。文末有福利,思维导图和视频资料等你来领2、什么是多线程中的上下文切换?多线程会共同使用一组计算机上的CPU,而线程数大于给程序分配的CPU数量时,为了让各个线程都有执行的机会,就需要轮转使用CPU。不同的线程切换使用CPU发生的切换数据等就是上下文切换。3、死锁与活
Java黎先生
·
2023-10-27 09:21
多线程的学习01
什么是线程线程是为了解决
并发编程
引入的机制,线程相比进程来说更轻量。
DalaQL
·
2023-10-27 06:37
学习
java
开发语言
【详细学习SpringBoot源码之内嵌Tomcat启动
原理分析
&编译部署Tomcat源码过程解析-9】
Spring注解发展流程以及常用的Spring和SpringBoot注解】【2.SpringBoot自动装配之SPI机制&SPI案例实操学习&SPI机制核心源码学习】【3.详细学习SpringBoot自动装配
原理分析
之核心流程初解析
硕风和炜
·
2023-10-27 05:03
SpringBoot
SpringBoot源码
Tomcat源码
编译部署Tomcat源码
内嵌Tomcat启动原理分析
Java
JUC
并发编程
,线程池(介绍、使用、参数),原子类(Atomic-线程安全),锁机制(Lock),信号量工具类(Tools),并发集合类
一、JUC(java.util.concurrent)
并发编程
Jdk5开始出现JUC:让开发者在多线程编程中更加简单、方便通过JDK内置了一些类、接口、关键字,补充完善了JDK对于
并发编程
支持的“短板”
user__kk
·
2023-10-27 04:17
java
知识点
java
jvm
JUC并发编程
Android双屏异显以及
原理分析
副屏显示android设备可以开启模拟副屏,通过Presentation实现模拟副屏的画面绘制。进入设置的开发者选项,找到绘图-模拟辅助显示设备(英文为Simulatesecondarydisplays)。选择辅助设备的分辨率。需要申请显示在其他应用上层的权限,跳转设置以授权:if(!Settings.canDrawOverlays(this)){Intentintent=newIntent(Se
言并肃
·
2023-10-27 03:00
设备通信
android
android
studio
java
EF Core 批量插入操作
原理分析
概要本文主要讨论EFCore在批量添加操作的基本原理和优化方式,基本原理主要针对EFCore6.0和7.0两个版本。代码和实现本文通过一个简单场景来模拟批量添加操作。一个分行(Branch)包含若干台ATM机,Branch和ATM各对应一张数据表。我们一次添加多台ATM机的数据到ATM机数据表。具体Branch和ATM的定义请参考附录批量添加代码如下:publicasyncTaskBatchAdd
懒人Ethan
·
2023-10-27 03:50
EntityFramework
.Net
Core
.Net
数据库
Go语言中的多协程查询切片问题解析与优化
并发编程
是Go语言的重要特性之一,但在多协程查询切片时可能会出现数据竞争和性能问题。本
念广隶
·
2023-10-27 03:15
Go
1024程序员节
go
讲真,我发现这本书有个地方写错了!
可恶的标题党首先,我先说一下我发现的《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
多线程
并发
vue3 Proxy响应式
原理分析
(面试题)
在开始正文前,先理一下vue2Object.defineProperty和vue3Proxy区别:Object.defineProperty:数据劫持Proxy:数据代理注意:响应式原理和双向数据绑定原理是两回事,一般面试官会先问响应式原理再问双向数据绑定的原理详细文章1.什么是proxy?在目标对象前架设一层“拦截”,当外界对该对象进行访问的时候,都需要经过这层拦截,而proxy充当的就是这种机
小野又在卷了
·
2023-10-27 02:40
vue3.0
面试题
前端
vue.js
内存管理:TLSF算法
原理分析
1、动态内存分配DSA:动态内存分配(DSA)在计算机中十分重要,其主要用于在程序运行时,根据需要分配和释放内存。(1)、DSA的几个要点分别为:内存管理方式:动态内存分配与静态内存分配相对应,静态内存分配是在程序编译时为变量分配固定大小的内存空间,而动态内存分配是在程序运行时根据需要动态调整内存空间。内存分配函数:编程语言通常提供内置的内存分配函数,如C/C++中的malloc、calloc和C
爱折腾的捣蛋鬼
·
2023-10-27 00:20
深入理解Linux内核
算法
开发语言
linux
Kafka入门04——
原理分析
目录01理解Topic和PartitionTopic(主题)Partition(分区)02理解消息分发消息发送到分区消费者订阅和消费指定分区总结03再均衡(rebalance)再均衡的触发分区分配策略RangeAssignor(范围分区)RoundRobinAssignor(轮询分区)StickyAssignor(粘性分区)Rebalance执行者Coordinator再均衡的过程再均衡的目的04
Elaine202391
·
2023-10-26 23:06
消息队列
kafka
分布式
linux创建新进程的内核实现,分析Linux内核创建一个新进程的过程
一、
原理分析
1.进程的描述进程控制块PCB——task_struct,为了管理进程,内核必须对每个进程进行清晰的描述,进程描述符提供了内核所需了解的进程信息。
weixin_42135073
·
2023-10-26 23:43
linux创建新进程的内核实现
【Qt之QtConcurrent】描述及使用
描述QtConcurrent是一个Qt库中的模块,用于实现多线程
并发编程
。它提供了一些高级API,使得在多核处理器上并行执行代码变得更加容易。
FreeLikeTheWind.
·
2023-10-26 22:51
Qt记录
Qt编程
qt
数据库
开发语言
Vue3.0 响应式实现
原理分析
我们知道Vue2.0是利用Ojbect.defineProperty对对象的已有属性值的读取和修改进行劫持,但是这个API不能监听对象属性的新增和删除,此外为了深度劫持对象的内部属性,必须在初始化的时候对内部属性进行递归调用Ojbect.defineProperty,这就造成了一个性能上的消耗。为了解决这些问题,Vue3.0利用Proxy重写了响应式逻辑并且优化了相关性能。使用案例我们先来个示例看
JonnyLan
·
2023-10-26 22:39
Vue
vue.js
typescript
javascript
完美的错误处理:Go 语言最佳实践分享
Go语言是一门非常流行的编程语言,由于其高效的
并发编程
和出色的网络编程能力,越来越受到广大开发者的青睐。在任何编程语言中,错误处理都是非常重要的一环,它关系到程序的健壮性和可靠性。
林欣快滚去学习
·
2023-10-26 22:27
golang
服务器
数据库
DSP开发例程: sys_print_to_uart
目录DSP开发例程:sys_print_to_uart创建工程源码编辑os.capp.cfgmain.c调试
原理分析
DSP开发例程:sys_print_to_uart在DSP应用的执行过程中,我们经常需要调用
falwat
·
2023-10-26 22:25
DSP
DSP
golang 基础-golang里面的读写锁实现与核心
原理分析
前言golang面试中,我们经常会被问到golang里面的读写锁的原理,golang里的读写锁解决了什么问题,golang读写锁的底层原理是什么?下面我们一起学习了解一下golang里面的读写锁实现与核心原理一、golang里的读写锁是什么?golang读写锁即是针对于读写操作的互斥锁。它与普通的互斥锁最大的不同就是,它可以分别针对读操作和写操作进行锁定和解锁操作。golang读写锁遵循的访问控制
北漂燕郊杨哥
·
2023-10-26 21:36
golang
tutorial
golang
开发语言
后端
上一页
39
40
41
42
43
44
45
46
下一页
按字母分类:
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
其他