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
JUC源码解读
浅谈(Java)原子类CAS&Unsafe
文章目录
JUC
原子类:CAS,Unsafe和原子类详解CAS什么是CASCAS使用示例CAS问题AB
QZero_0
·
2023-09-28 08:58
#
Java
java
开发语言
JUC
系列(一&二):线程基础、生产与消费模型、8锁问题
发现学习狂神
JUC
系列少了开篇特此补发线程与进程线程、进程、如何来解释进程:一个程序如QQ.exeMusic.exe程序的集合一个进程可以包含多个线程,至少包含一个线程Java默认是开启两个线程mainGC
冷环渊
·
2023-09-28 08:20
JUC
开发语言
java
juc
高并发
多线程
JVM
源码解读
笔记
第三部分:汇编在计算机最开始,就是编写0,1组合,这个可以想下编写程序的麻烦程度。所以就有了汇编,一些助记符。当然,在汇编与0、1之间肯定还有一个逻辑来讲汇编最终变成0、1。因为0、1是硬件认识的东西。汇编只是0、1的变现形式,肯定是不能脱离硬件支持的,因为一切操作都是由硬件通过逻辑电路去计算的。===============================================在看一些
_微风轻起
·
2023-09-27 22:25
JVM
计算机原理
JVM源码
深入学习
JUC
,深入了解Java线程中死锁与活锁问题,并理解其解决方法,笔记开记!!!
文章目录死锁检查是否发生了死锁死锁的概念死锁产生的条件预防死锁解决死锁活锁概念解决ReentrantLock概念可重入可打断可超时可设置公平锁条件变量死锁检查是否发生了死锁jstack通过线程栈快照定位线程中出现长时间停顿的原因,jconsole图像界面检查是否发生了死锁死锁的概念多个进程在运行过程中因争夺资源而造成的一种僵局,当进程处于这种僵持状态时,若无外力作用,它们都将无法再向前推进。就是两
木 木 水.
·
2023-09-27 20:42
JUC的深入学习
java
学习
笔记
Go语言 io包
源码解读
你必须非常努力,才能看起来毫不费力!微信搜索公众号[漫漫Coding路],一起FromZeroToHero!前言前两篇文章Go语言io包核心接口详解、Go语言io包基本接口详解,我们已经学习了io包中的核心接口、基本接口和组合接口,这些都是基本的接口定义和规范,那么本篇文章我们就一起来看下io包中对上述接口的使用,包括三个结构体和部分方法,我们通过研究源码来加深对接口定义的理解。结构体Limite
漫漫Coding路
·
2023-09-27 20:07
Redisson分布式锁使用即
源码解读
Redisson提供的分布式锁image.png使用实例privatevoidredissonDoc()throwsInterruptedException{//1.普通的可重入锁RLocklock=redissonClient.getLock("generalLock");//拿锁失败时会不停的重试//具有WatchDog自动延期机制默认续30s每隔30/3=10秒续到30slock.lock(
jackcooper
·
2023-09-27 19:03
理解并掌握C#的Channel:从使用案例到
源码解读
(一)
引言在C#的并发编程中,Channel是一种非常强大的数据结构,用于在生产者和消费者之间进行通信。本文将首先通过一个实际的使用案例,介绍如何在C#中使用Channel,然后深入到Channel的源码中,解析其内部的实现机制。使用案例一:文件遍历和过滤在我们的使用案例中,我们需要遍历一个文件夹及其所有子文件夹,并过滤出具有特定扩展名的文件。在此,我们使用了C#的Channel来实现这个任务。首先,我
溪源More
·
2023-09-27 17:00
c#
java
大数据
数据库
前端
【
JUC
系列-07】深入理解CountDownLatch底层原理和基本使用
JUC
系列整体栏目内容链接地址【一】深入理解JMM内存模型的底层实现原理https://zhenghuisheng.blog.csdn.net/article/details/132400429【二】深入理解
huisheng_qaq
·
2023-09-27 14:26
JUC系列
java
AQS
CountDownLatch
CLH同步等待队列
JUC
高并发
阻塞唤醒机制
Promise的基本用法
Promise有三个状态:penging(对象的初始状态,等到任务的完成或者被拒绝)fulfilled(任务执行完成并且成功的状态)re
juc
e(任务执行完成并且失败的状态)Promise对象有以下两个特点
yingzai
·
2023-09-27 11:13
JUC
笔记
下面来具体讲解volatile的两条实现原则。1)Lock前缀指令会引起处理器缓存回写到内存2)一个处理器的缓存回写到内存会导致其他处理器的缓存无效。利用synchronized实现同步的基础:Java中的每一个对象都可以作为锁。具体表现为以下3种形式。·对于普通同步方法,锁是当前实例对象。·对于静态同步方法,锁是当前类的Class对象。·对于同步方法块,锁是Synchonized括号里配置的对象
牡丹福
·
2023-09-27 07:43
spring cache集成redis快速入门(含
源码解读
)
spring集成cache支持对缓存进行处理,springcache支持多种缓存实现,本文对缓存实现方案中的redis操作进行说明,期间会对应源码进行解读.如果对源码不感兴趣的同学可以忽略,仅关注具体使用即可.1.案例demo1.1需要添加依赖1.2redis配置文件1.3启动类需要添加的注解@EnableCaching1.4业务代码2.常用注解(@Cacheable、@CachePut、Cach
卖柴火的小伙子
·
2023-09-26 22:41
redis
spring
cache
源码
HashMap
源码解读
(JDK1.8)
一、HashMap说明基于哈希表的Map接口实现。此实现提供所有可选的map操作,并允许空值和空键。(HashMap类大致等同于Hashtable,只是它不支持同步并且允许空值。)此类不保证插入键值的顺序;特别是,它不保证顺序会随着时间的推移保持不变。此实现为基本操作(获取和放置)提供恒定时间性能,假设哈希函数在存储桶中正确分散元素。对集合视图进行迭代所需的时间与HashMap实例的“容量”(存储
lucky_fd_
·
2023-09-26 22:47
源码解读
Java
java
哈希算法
算法
数据结构
java 时间轮算法_时间轮算法解析(Netty HashedWheelTimer
源码解读
)
1、背景时间轮算法可以用于高效的执行大量的定时任务。在Netty中的一个典型应用场景是判断某个连接是否idle,如果idle(如客户端由于网络原因导致到服务器的心跳无法送达),则服务器会主动断开连接,释放资源。得益于NettyNIO的优异性能,基于Netty开发的服务器可以维持大量的长连接,单台8核16G的云主机可以同时维持几十万长连接,及时掐掉不活跃的连接就显得尤其重要。2、算法简介网上盗个图,
沐LaLa
·
2023-09-26 16:55
java
时间轮算法
多线程进阶:Callable和
JUC
的常见类
Callable这是一个接口,类似于Runnable。Runnable用来描述一个任务,描述的任务没有返回值。Callable也是用来描述一个任务,描述的任务是有返回值的。如果需要使用一个线程单独的计算出某个结果来,此时用Callable是比较合适的。在new一个Callable之后,需要重写一个方法。就相当于是重写Runnable的Run方法,run方法的返回值是void,这里的call方法返回
Xua3055
·
2023-09-26 12:43
java
java-ee
restframework学习笔记——
源码解读
之解析器
classAPIView(View):#Thefollowingpoliciesmaybesetateitherglobally,orper-view.renderer_classes=api_settings.DEFAULT_RENDERER_CLASSES#解析器配置parser_classes=api_settings.DEFAULT_PARSER_CLASSES#认证配置authentic
h_h_y1994
·
2023-09-26 11:38
Django学习笔记
Django源码学习——配置文件解析
django-source-code-configuration/用Django好几年了,期间陆陆续续因为项目开发需要看过一点点源码,但是一直没有整体上看过源码,最近在B站上发现了一个不错的Django源码讲解教程,沈奇才·Django4.0
源码解读
yexia553
·
2023-09-26 11:38
Django
django
学习
JUC
面经整理
JUC
全名是java.util.concurrent,俗称java并发包,java并发是java后端面试的重点,基本上必问,因此对于
JUC
以及里面的内容还是要熟悉最好能自己试着写一下首先来看看
JUC
的结构
HaiyerLu
·
2023-09-26 07:56
给定两个字符串ABCDEF和123456,用两个线程按照1A2B3C4D5E6F的顺序输出
这个问题考察的是对多线程和
juc
下面某些类的理解,总的来说,思路就是当一个线程t1输出当前字符之后,要阻塞或者等待,让另外一个线程t2输出,然后t2阻塞或者等待,有以下几种思路,废话不多说,直接上代码1
qq_17805707
·
2023-09-26 07:57
多线程
java
开发语言
Java笔记:java-introduction
Java系列java进阶java泛型详解java实例化的五种方式nio基础ArrayList源码分析LinkedList源码分析HashSet和TreeSet源码分析HashMap源码分析(JDK1.8)
juc
zui初的梦想
·
2023-09-26 04:44
java
java
笔记
开发语言
一、iMove
源码解读
:初识
引言:随着低代码思想的不断蔓延,除了大企业,中小企业也尝试构建自己的低代码平台,以期降低开发门槛,提高开发效率,降低生产成本。本文中的iMove是一款面向前端开发者的逻辑编排工具,通过它设计出易管理、易复用的逻辑代码。同时由于其开源、复杂度低的特性,很容易成为企业开发者的参考对象,进而将其集成进自己的低代码平台。一、逻辑上iMove是由两部分组成前端画布提供基础逻辑块,节点表示提供逻辑编排图形化操
wl_
·
2023-09-26 04:18
iMove
iMove
低代码
Raft 协议实战系列(二)—— 选主
不定期发送干货,实践经验、系统总结、
源码解读
、技术原理。笔者期望通过该系列文章帮助读者深入理解Raft协议并能付诸于工程实践中,同时解读不易理解或容易误解的关键点。
Q的博客
·
2023-09-26 02:24
PostgreSQL
源码解读
(84)- 查询语句#69(PortalStart->InitP...
本节介绍了PortalStart->ExecutorStart(standard_ExecutorStart)->InitPlan函数的实现逻辑,该函数用于初始化查询执行计划。一、数据结构EState执行器在调用时的主要工作状态/*----------------*EStateinformation*EState信息*MasterworkingstateforanExecutorinvocatio
cuichao1900
·
2023-09-26 02:50
数据库
数据结构与算法
runtime
PostgreSQL
源码解读
(183)- 查询#99(聚合函数#4-ExecAgg)
本节简单介绍了PostgreSQL执行聚合函数的实现,主要实现函数是ExecAgg.这里继续介绍ExecAgg中调用的函数ExecAgg->agg_retrieve_hash_table,本节介绍了主逻辑,细节中的投影/获取最终结果操作在下一节介绍.一、数据结构AggState聚合函数执行时状态结构体,内含AggStatePerAgg等结构体/*---------------------*AggS
cuichao1900
·
2023-09-26 02:20
PostgreSQL
源码解读
(187)- 查询#103(聚合函数#8 - Struct Review)
本节继续介绍聚合函数的实现,主要是Review涉及到的相关数据结构.包括AggState/AggStatePerAgg/AggStatePerTrans/AggStatePerGroup/AggStatePerPhase/AggStatePerHash.一、数据结构AggState聚合函数执行时状态结构体,内含AggStatePerAgg等结构体/*---------------------*Ag
cuichao1900
·
2023-09-26 02:20
PostgreSQL
源码解读
(94)- 分区表#2(数据插入路由#2)
本节介绍了ExecPrepareTupleRouting->ExecFindPartition函数,该函数为heaptuple找到合适的分区。一、数据结构ModifyTableModifyTableNode通过插入、更新或删除,将子计划生成的行应用到结果表。/*----------------*ModifyTablenode-*Applyrowsproducedbysubplan(s)toresu
cuichao1900
·
2023-09-26 02:19
数据库
runtime
数据结构与算法
PostgreSQL
源码解读
(22)- 查询语句#7(PlannedStmt结构详解-日志分析)
本文通过分析日志输出简单介绍了PG根据查询树生成的执行计划的详细结构。一、PlannedStmt结构生成执行计划在函数pg_plan_queries中实现,返回的是链表querytree_list,链表中的元素是PlannedStmt.回顾PlannedStmt结构: /* ---------------- * PlannedStmt node * * The output of
cuichao1900
·
2023-09-26 02:49
PostgreSQL
源码解读
(87)- 查询语句#72(PortalRunSelect->E...
本节介绍了PortalRunSelect->ExecutorRun->ExecutePlan函数以及ExecProcNode的其中一个Real函数(ExecSeqScan)。ExecutePlan函数处理查询计划,直到检索到指定数量(参数numbertuple)的元组,并沿着指定的方向扫描。ExecSeqScan函数顺序扫描relation,返回下一个符合条件的元组。一、数据结构Plan所有计划节
cuichao1900
·
2023-09-26 02:49
数据库
数据结构与算法
PostgreSQL
源码解读
(90)- 查询语句#75(ExecHashJoin函数#1)
本节介绍了ExecProcNode的其中一个Real函数(ExecHashJoin)。ExecHashJoin函数实现了HashJoin算法。一、数据结构Plan所有计划节点通过将Plan结构作为第一个字段从Plan结构“派生”。这确保了在将节点转换为计划节点时,一切都能正常工作。(在执行器中以通用方式传递时,节点指针经常被转换为Plan*)/*----------------*Plannode*
cuichao1900
·
2023-09-26 02:49
数据库
数据结构与算法
Android 小组件 AppWidgetProvider
三、AppWidget核心类AppWidgetProvider
源码解读
和原理分析1、先看AppWidgetProvider源码2、AppWidgetProvider回调方法分析onUpdate(Contextcontext
android阿杜
·
2023-09-25 21:20
android
countDownLatch、cyclicBarrier、semaphore使用详解
文章目录前言countDownLatchcyclicBarriersemaphore结尾前言在前面两篇中介绍了AQS的同步队列、条件队列的源码实现,这一篇则是来看一下
JUC
中主要的三个并发工具类:countDownLatch
XH雪浪风尘
·
2023-09-25 17:51
并发
java
juc
countDownLatch
CountDownLatch和CyclicBarrier区别和用法
CyclicBarrier概念CyclicBarrier概念从源码分析概念总结2.构造器3.代码验证二者在实际中的不同4.归纳总结5.网上的一些误区CountDownLatch和CyclicBarrier都是
juc
BooleanZhang
·
2023-09-25 17:18
多线程
高并发
juc
多线程
并发编程
面试部分难点梳理 - IO多路复用
IO多路复用如果用
JUC
的方式来类比理解一下,BIO是相当于整个APP都加了synchronied,NIO相当于是使用自旋的方式。
paleatta
·
2023-09-25 12:11
NIO
PostgreSQL
源码解读
(109)- WAL#5(相关数据结构)
本节简单介绍了WAL相关的数据结构,包括XLogLongPageHeaderData、XLogPageHeaderData和XLogRecord。一、数据结构XLogPageHeaderData每一个事务日志文件(WALsegmentfile)的page(大小默认为8K)都有头部数据.注:每个文件第一个page的头部数据是XLogLongPageHeaderData(详见后续描述),而不是XLog
cuichao1900
·
2023-09-25 10:44
数据结构与算法
数据库
人工智能
PostgreSQL
源码解读
(115)- 后台进程#3(checkpointer进程#2)
本节简单介绍了PostgreSQL的后台进程:checkpointer,主要分析CreateCheckPoint函数的实现逻辑。一、数据结构CheckPointCheckPointXLOGrecord结构体./**BodyofCheckPointXLOGrecords.Thisisdeclaredherebecausewekeep*acopyofthelatestoneinpg_controlfo
cuichao1900
·
2023-09-25 10:44
JUC
并发编程学习
JUC
并发编程学习目录
JUC
并发编程学习1.什么是
JUC
1.1
JUC
简介1.2进程与线程1.3线程的状态1.3.1线程状态Thread.State(枚举类)1.3.2wait/sleep区别1.4并发与并行
xujinshan361
·
2023-09-25 08:48
学习记录
Java
并发编程基础
JUC
线程间通信
异步回调
JUC
并发编程
文章目录
JUC
1、什么是
JUC
2、线程和进程3、Lock锁3.1、传统Synchronized3.2、Lock接口3.3、Synchronized和Lock区别4、生产者和消费者问题生产者和消费者问题Synchronized
渣渣苏
·
2023-09-25 08:18
学习笔记
java
多线程
并发编程
juc
juc
并发编程学习笔记下(尚硅谷)
5多线程锁5.1锁的八个问题演示classPhone{publicstaticsynchronizedvoidsendSMS()throwsException{//停留4秒TimeUnit.SECONDS.sleep(4);System.out.println("------sendSMS");}publicsynchronizedvoidsendEmail()throwsException{Sy
周虽旧邦其命维新
·
2023-09-25 08:17
学习笔记
java
juc
尚硅谷
JUC
并发编程与源码分析
目录一、基础概念2.CompletableFuture3.实战案例一、基础概念1.线程基础知识复习1)、1把锁:synchronized2)、2个并:并发(concurrent):是指在同一实体上的多个事件,在一台处理器上“同时处理多个任务”,同一时刻其实只有一个事件发生【一对多】并行(parallel):是在不同实体上的多个事件,多台处理器上同时处理多个任务,同一时刻各自互不干涉【多对多】3)、
菜鸟a小李
·
2023-09-25 08:17
Java
jvm
java
开发语言
JUC
并发工具使用与详情(CountDownLatch、CyclicBarrier、Semaphore、Exchanger)
JUC
并发工具一、CountDownLatch应用&源码分析1.1CountDownLatch介绍CountDownLatch就是
JUC
包下的一个工具,整个工具最核心的功能就是计数器如果有三个业务需要并行处理
Armin_1024
·
2023-09-25 08:16
多线程
java
java
马士兵-郑金维—并发编程—6.
JUC
并发工具
JUC
并发工具一、CountDownLatch应用&源码分析1.1CountDownLatch介绍CountDownLatch就是
JUC
包下的一个工具,整个工具最核心的功能就是计数器。
Jerry_carry
·
2023-09-25 07:46
并发编程
多线程与高并发
juc
JUC
高并发编程
1.
JUC
概述1.1什么是
juc
在Java中,线程部分是一个重点,本篇文章说的
JUC
也是关于线程的。
JUC
就是java.util.concurrent工具包的简称。
丹辰子DCZ
·
2023-09-25 07:14
多线程
JUC
高并发
高并发编程
多线程
JUC
框架 CompletableFuture源码解析 JDK8
文章目录前言基础设施创建CompletableFutureCompletableFuture成员Completion内部类AltResult内部类Signaller内部类从supplyAsync+thenApply(thenApplyAsync)理解supplyAsyncthenApply(thenApplyAsync)UniApply内部类#tryFireCompletableFuture#un
anlian523
·
2023-09-25 07:43
Java
Future
异步回调
java
JUC
多线程
一篇完整学习
JUC
并发编程(包含实例源码)
文章目录
JUC
并发编程1、什么是
JUC
?2、线程和进程并发、并行线程有几个状态?6个wait/sleep区别?
宋丹敏
·
2023-09-25 07:42
学习
java
开发语言
后端
spring
JUC
下的异步编程工具使用详情以及源码分析(FutureTask、CompletableFuture)
异步编程一、FutureTask应用&源码分析1.1FutureTask介绍FutureTask是一个可以取消异步任务的类。FutureTask对Future做的一个基本实现。可以调用方法区开始和取消一个任务一般是配合Callable去使用异步任务启动之后,可以获取一个绑定当前异步任务的FutureTask可以基于FutureTask的方法去取消任务,查看任务是否结果,以及获取任务的返回结果Fut
Armin_1024
·
2023-09-25 07:41
java
多线程
java
Flink双流join的3种方式及IntervalJoin源码分析
大数据技术AIFlink/Spark/Hadoop/数仓,数据分析、面试,
源码解读
等干货学习资料117篇原创内容公众号概述在数据库中的静态表上做OLAP分析时,两表join是非常常见的操作。
hyunbar
·
2023-09-25 06:22
Flink
大数据
flink
big
data
spark
JUC
并发编程——学习笔记
正文笔记:函数式接口:Thread重写直接lambda操作低耦合:虚假唤醒解决办法:if判断改为while循环(官方文档)锁的研究:不安全集合:callable:减法计数器加法计数器:匿名内部类访问局部变量时需要加final修饰(在jdk8之前)https://blog.csdn.net/tianjindong0804/article/details/81710268?ops_request_mi
Cabbage coder
·
2023-09-25 04:42
java多线程
juc
java
Java并发编程——初识
JUC
文章目录初识
JUC
一、什么是
JUC
二、进程和线程2.1进程和线程2.2并行和并发2.3Java线程有几个状态2.4wait/sleep的区别初识
JUC
一、什么是
JUC
JUC
是java.util.concurrent
YaDe.
·
2023-09-25 04:42
Java
JUC
java
juc
JUC
并发编程——线程的基本方法使用
目录一、线程名称设置和获取二、线程的sleep()三、线程的interrupt四、join()五、yield()六、wait(),notify(),notifyAll()一、线程名称设置和获取1、线程名称一般在线程启动前设置,但也允许为正在运行的线程设置名称。在实际开发中,在使用多线程开发时,一定要自定义线程名称,偏于查找日志。2、线程允许使用同样的名字,但应该尽量避免。3、如果线程没有命名,系统
熟透的蜗牛
·
2023-09-25 04:41
JUC
JUC
多线程
并发编程
JUC
并发编程——CAS
一、什么是CAS由于JVM的synchronized重量级锁涉及操作系统内核态下互斥锁的使用,因此其线程阻塞和唤醒都涉及进程在用户态和内核态频繁的切换,导致重量级锁开销大,性能低。CAS,CompareAndSwap比较并替换。CAS操作包含三个操作数——内存位置(V)、预期原值(E)新值(N)。如果内存位置的值与预期原值相匹配,那么处理器会自动将该位置值更新为新值。否则,处理器不做任何操作。无论
熟透的蜗牛
·
2023-09-25 04:41
JUC
JUC
并发编程
CAS
JUC
并发编程——JAVA内存模型
目录一、CPU缓存结构二、并发编程的三大问题原子性可见性有序性三、JMM内存模型四、JMM如何解决有序性问题一、CPU缓存结构由于CPU的运算速度比主存(物理内存)的存取速度快很多,为了提高处理速度,现代CPU不直接和内存进行通信,而是在CPU和主存之间设计了高速缓存(Cache),越靠近CPU层的高速缓存速度越快,容量越小。如下图每一级高速缓存中所存储的数据都是下一级高速缓存中的一部分,L1最靠
熟透的蜗牛
·
2023-09-25 04:41
JUC
JUC
并发编程
JMM
多线程
上一页
23
24
25
26
27
28
29
30
下一页
按字母分类:
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
其他