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源码解析
JUC
-java并发编程的艺术
一、并发问题上下文切换:CPU通过时间片分配算法来循环执行任务,当前任务执行一个时间片后会切换到下一个任务。在切换前会保存上一个任务的状态,以便下次切换回这个任务时,可以再加载这个任务的状态。所以任务从保存到再加载的过程就是一次上下文切换。多线程不一定快:多线程有线程创建和上下文切换的开销。减少上下文切换:无锁并发:多线程竞争锁时,会引起上下文切换,所以多线程处理数据时,可以用一些办法来避免使用锁
HBryce24
·
2024-02-09 16:53
并发
java
JUC
-并发面试题
一、基础1、为什么要并发编程充分利用多核CPU的资源2、并发编程存在的问题上下文切换:PU通过时间片分配算法来循环执行任务,当前任务执行一个时间片后会切换到下一个任务。在切换前会保存上一个任务的状态,以便下次切换回这个任务时,可以再加载这个任务的状态。任务从保存到再加载的过程就是一次上下文切换。线程创建和上下文切换的带来而外的开销线程安全死锁:线程A持有资源,线程B持有资源;他们都想申请对方的资源
HBryce24
·
2024-02-09 16:53
并发
java
JUC
:生产者消费者模式
文章目录虚假唤醒(spuriouswakeup)生产者与消费者模板生产者与消费者模式:synchronized虚假唤醒(spuriouswakeup)当需要条件判断使用wait()方法时,应该使用循环,而不是if,否则就可能会出现虚假唤醒(spuriouswakeup)的情况简单点理解,虚假唤醒就是除了理应被唤醒的线程之外,还另外唤醒了其它的线程,导致的数据的错误虚假唤醒的原理:例:publicc
ZRJ0618
·
2024-02-09 06:40
JUC
java
多线程
认识多线程:等待唤醒机制
packagecom.pccc.pactera.
juc
01;publicclassTestProducterAndConsumer{publicstaticvoidmain(String[]args){
斩天拔剑书
·
2024-02-09 06:40
java编程思想
多线程详解&
JUC
线程的基本知识1.线程的介绍1.1简介线程是进程中的一个实体,线程本身是不会独立存在的。进程是代码在数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,线程则是进程的一个执行路径,一个进程中至少有一个线程,进程中多个线程共享进程的资源。操作系统在分配资源时是把资源分配给进程的,但是CPU资源比较特殊。它是被分配到线程的,因为真正要占用CPU运行的是线程,所以也说线程是CPU分配的基本单位
王叮咚
·
2024-02-09 06:09
多线程
java
面试
JUC
多线程编程之生产者与消费者问题(Synchronized和
JUC
版)
生产者与消费者问题在面试中,生产者与消费者是高频问题之一1.生产者和消费者问题Synchronized版publicclassA{publicstaticvoidmain(String[]args){Datadata=newData();newThread(()->{for(inti=0;i{for(inti=0;i{for(inti=0;i{for(inti=0;i"+number);//通知其
不会编程的派大星
·
2024-02-09 06:09
JUC并发编程
java
多线程
并发编程
juc
锁
Java 的 多线程&
JUC
目录什么是多线程?并发和并行多线程的实现方式多线程的第一种实现方式多线程的第二种实现方式多线程的第三种实现方式小结多线程中常见的成员方法常用简单方法线程的优先级守护线程(备胎线程)礼让线程和插入线程(了解)线程的生命周期线程安全的问题同步代码块同步方法Lock锁死锁多线程的等待唤醒机制(生产者和消费者)消费者代码实现生产者代码实现总体代码实现阻塞队列实现等待唤醒机制线程的状态综合练习一线程栈线程池
三池丶
·
2024-02-09 06:38
java
jvm
开发语言
多线程 生产者与消费者 遇到的问题以及解决方法
目录最原始的生产者消费者模型问题一:产品product>=1时wait问题二:增加一些消费者和生产者线程最原始的生产者消费者模型packagecom.
juc
;/**生产者和消费者案例*/publicclassTestProductorAndConsumer1
小白鼠丶
·
2024-02-09 06:06
多线程
JUC
多线程
生产者消费者
JUC
:4_3并发协作模型:生产者消费者问题:精准唤醒condition、condition应用场景
JUC
:4_3并发协作模型:生产者消费者问题:精准唤醒condition、condition应用场景condition是什么?应用场景condition精确唤醒代码结果输出condition是什么?
郝开
·
2024-02-09 06:06
并发编程
java
面试
多线程
经验分享
JUC
:4_2并发协作模型:生产者消费者问题:if虚假唤醒,防止虚假唤醒
JUC
:4_2并发协作模型:生产者消费者问题:if虚假唤醒,防止虚假唤醒线程之间的通信,如何交替执行?
郝开
·
2024-02-09 06:36
并发编程
java
后端
经验分享
多线程
面试
多线程&
JUC
:线程的生命周期与安全问题
作者简介:一位大四、研0学生,正在努力准备大四暑假的实习上期文章:多线程&
JUC
:多线程的实现和常用成员方法(守护、礼让、插入线程)订阅专栏:多线程&
JUC
希望文章对你们有所帮助这一部分内容似乎有在面经中看到过
布布要成为最负责的男人
·
2024-02-09 06:35
多线程&JUC
安全
java
JUC
面试
javase
多线程&
JUC
:解决线程安全问题——synchronized同步代码块、Lock锁
作者简介:一位大四、研0学生,正在努力准备大四暑假的实习上期文章:多线程&
JUC
:线程的生命周期与安全问题订阅专栏:多线程&
JUC
希望文章对你们有所帮助上一部分讲解了面试可能会问的线程的生命周期,并且演示了超卖问题来讲解多线程并发的安全问题
布布要成为最负责的男人
·
2024-02-09 06:35
多线程&JUC
安全
java
面试
javase
JUC
JUC
:4_1并发协作模型:生产者消费者模型
JUC
:4_1并发协作模型:生产者消费者模型线程通信问题synchronized版本的管程法Lock版本的管程法线程通信问题线程之间的通信问题,就是生产者和消费者问题,也就是如何做到多个线程交替执行。
郝开
·
2024-02-09 06:35
java
后端
多线程
多线程&
JUC
:多线程的实现和常用成员方法(守护、礼让、插入线程)
作者简介:一位大四、研0学生,正在努力准备大四暑假的实习上期文章:首期文章订阅专栏:多线程&
JUC
希望文章对你们有所帮助
JUC
的学习也是需要一些计算机、操作系统的知识的,也算是比较重要的吧,其实自己也是接触了不少的
布布要成为最负责的男人
·
2024-02-09 06:34
多线程&JUC
java
javase
jvm
面试
JUC
JUC
编程02:生产者与消费者问题
一、Synchronized解决方案代码演示packagecom.haust.pc;/***线程之间的通信问题:生产者和消费者问题!等待唤醒,通知唤醒*线程交替执行AB操作同一个变量num=0*Anum+1*Bnum-1*/publicclassA{publicstaticvoidmain(String[]args){Datadata=newData();newThread(()->{for(in
微笑AJJD
·
2024-02-09 06:04
JUC编程
生产者与消费者问题
并发问题
锁
多线程
【
JUC
编程进阶】消费者生产者问题 防止虚假唤醒
synchronized版:packageday3;/***@authorjitwxs*@date2021年05月11日20:31*//**线程之间通信问题:生产者消费者问题等待唤醒,通知唤醒*线程交替执行AB操作同一个变量num=0*Anum+1*Bnum-1*/publicclassA{publicstaticvoidmain(String[]args){Datadata=newData();
Mr_树先森
·
2024-02-09 06:04
JUC编程
多线程
并发编程
多线程&
JUC
文章目录进程与线程多线程的两个概念多线程的实现方式1.继承Thread类的方式进行实现2.实现Runnable接口的方式进行实现3.利用Callable接口和Future接口方式实现Thread常见的成员方法线程的生命周期线程安全的问题同步代码块同步方法Lock锁死锁生产者和消费者(等待唤醒机制)生产者消费者常见方法生产者消费者模式代码实现等待唤醒机制(阻塞队列方式实现)线程的状态进程与线程进程:
DYG.Satan
·
2024-02-09 06:03
java
JUC
- 多线程之Synchronized和Lock锁;生产者消费者模式(一)
阅读前可参考Java--多线程之并发,并行,进程,线程(一)_MinggeQingchun的博客-CSDN博客Java--多线程之终止/中断线程(二)_MinggeQingchun的博客-CSDN博客_java中断线程Java--多线程之join,yield,sleep;线程优先级;定时器;守护线程(三)_MinggeQingchun的博客-CSDN博客Java--多线程之synchronized
MinggeQingchun
·
2024-02-09 06:33
JavaSE
Java多线程;JUC
JUC
多线程
【
JUC
】生产者消费者问题(包含虚假唤醒问题)
参考文章【操作系统】生产者消费者问题_liushall-CSDN博客_生产者消费者问题操作系统概念生产者消费者问题(英语:Producer-consumerproblem),也称有限缓冲问题(英语:Bounded-bufferproblem),是一个多线程同步问题的经典案例。可以理解为肯德基买炸鸡,生产者就相当于肯德基的后厨,生产炸鸡并放到前台消费者就相当于顾客,从前台获得炸鸡有限的缓冲区就相当于
Elephant_King
·
2024-02-09 06:02
多线程JUC
java
rabbitmq
rpc
juc
多线程&
JUC
:等待唤醒机制(生产者消费者模式)
作者简介:一位大四、研0学生,正在努力准备大四暑假的实习上期文章:多线程&
JUC
:解决线程安全问题——synchronized同步代码块、Lock锁订阅专栏:多线程&
JUC
希望文章对你们有所帮助等待唤醒机制
布布要成为最负责的男人
·
2024-02-09 06:01
多线程&JUC
java
开发语言
JUC
javase
面试
java线程池
源码解析
主要介绍线程池相关知识,关于线程池,首先我们思考下为什么要用线程池。如果单纯的使用线程,线程的创建和销毁都是自己来完成,如果并发请求过多,可能造成资源耗尽。线程池可以对线程进行统一分配,调优和监控。本篇文章为《图灵学院》课程笔记降低资源消耗(线程无限制地创建,然后使用完毕后销毁)提高响应速度(无须创建线程)提高线程的可管理性java是如何实现和管理线程池的,jdk5开始把工作单元和任务执行分离,工
ajajaj
·
2024-02-09 03:37
redisson
源码解析
由于synchronized跟ReetrantLock是JVM级别的锁,在分布式情况下失效,这时候我们通常会选择redisson基于redis封装好的分布式锁。下面我们一起来分析以下redisson的源码。使用方式流程getLock源码给命令执行器赋值给看门狗时间赋值,默认30秒给发布订阅器赋值-生成UUIDtryLock源码publicbooleantryLock(longwaitTime,lo
码农dls
·
2024-02-08 23:27
java
Vue 生命周期
文章目录一、Vue2的生命周期函数Vue2请求接口一般放在哪个生命周期Vue2生命周期运行解析
源码解析
初始化阶段模板编译阶段挂载阶段mountComponent()Watcher_update()销毁阶段什么时候会调用
fmk1023
·
2024-02-08 20:32
vue.js
javascript
前端
(十七)springboot实战——spring securtity的授权流程
源码解析
前言本节内容是关于springsecurity安全框架授权流程的源码分析,springsecurity的授权流程主要是在FilterSecurityInterceptor过滤器中实现的。我们会通过源码层级的分析,了解清楚springsecurity的底层是如何实现用户授权的。正文1.配置一个请求路径的权限为USER_DEL,真实的用户只包含USER_LIST和USER_ADD权限-配置请求路径权限
厉害哥哥吖
·
2024-02-08 17:19
#
springboot
spring
boot
(十六)springboot实战——spring securtity的认证流程
源码解析
前言本节内容是关于springsecurity安全框架认证流程的源码分析,springsecurity的认证流程主要是在UsernamePasswordAuthenticationFilter过滤器中实现的。我们会通过源码层级的分析,了解清楚springsecurity的底层是如何实现用户的认证的。正文1.发起post方式的登录请求/login-请求首先会进入抽象的认证授权处理过滤器Abstrac
厉害哥哥吖
·
2024-02-08 17:47
#
springboot
spring
boot
深度了解LinkedBlockingQueue底层实现原理
2.方法add、remove、element、clear、addAll的实现原理三、BlockingQueue接口定义解析1.入列操作2.出列操作3.其他操作四、LinkedBlockingQueue
源码解析
对酒当歌丶人生几何
·
2024-02-08 17:16
java
开发语言
数据结构
链表
Java中的Future源码讲解
JAVAFuture
源码解析
文章目录JAVAFuture
源码解析
前言一、传统异步实现的弊端二、whatisFuture?
对酒当歌丶人生几何
·
2024-02-08 17:16
java
开发语言
深度解析ScheduledThreadPoolExecutor源码之DelayedWorkQueue
1.2堆的基本操作1.2.1插入节点元素1.2.2删除节点元素1.2.3构建二叉堆1.3堆特性总结二、DelayedWorkQueue
源码解析
2.1DelayedWorkQueue参数解析2.2DelayedWorkQueue
对酒当歌丶人生几何
·
2024-02-08 17:16
jdk
源码
JAVA
数据结构
算法
Spring 事件发布机制
目录事件驱动使用事件机制Java事件使用Spring事件使用使用Aware不使用AwareSpring事件发布流程及
源码解析
ApplicationEventApplicationListener监听者注册
夜光下丶
·
2024-02-08 14:43
spring
java
基于注解的SpringAOP
源码解析
(三)
注意,读完本篇文章需要很长很长时间在之前的2篇文章:AOP源码分析(一)AOP源码分析(二)中,我们搭建了SpringAOP源码分析的环境,介绍了@EnableAspectJAutoProxy注解和postProcessBeforeInstantiation方法是如何加载所有增强的。本篇文章则将描述一下AOP中剩余的实现逻辑postProcessAfterInitialization这个方法是在b
Java学习录
·
2024-02-08 08:18
AbstractQueuedSynchronizer(AQS)中独占模式与共享模式的设计与实现
1.AQS概览AbstractQueuedSynchronizer简称AQS,是
JUC
中实现并发的基础,ReentrantLock、CountDownLatch、Semaphore、ReentrantReadWriteLock
prozombie
·
2024-02-08 04:26
cesium系列篇:Entity vs Primitive
源码解析
(从Entity到Primitive)01
Entity和Primitive的关系官方教材中提到,PrimitiveAPI主要适用于图形渲染开发者,EntityAPI则适用于数据驱动的可视化,而EntityAPI的底层则使用了PrimitiveAPI。下面我们将通过cesium的源码探究当添加entity对象时,是如何在底层调用对应的PrimitiveAPI,创建相应的primitive对象。这篇文章中,我们将先从viewer初始化开始,探
游无穷
·
2024-02-08 00:35
Cesium
cesium
entity
primitive
源码解析
cesium系列篇:Entity vs Primitive
源码解析
(从Entity到Primitive)02
上篇文章中,我们介绍了使用viewer.entities.add添加entity之后的信号传递以及最后entity对象被传递到GeometryVisualizer;这篇文章,我们则介绍如何在逐帧渲染的过程中根据GeometryVisualizer中的entity对象创建相应的primitive这是下文中涉及到的类的类图,从中可以清晰的了解各个对象之间的关系,下面我们结合代码来仔细讲解。循环的一帧我
游无穷
·
2024-02-08 00:03
Cesium
javascript
cesium
entity
primitive
源码解析
vue源码浅解析(一)
提供一份详细的Vue
源码解析
在这种格式下是挑战性的,因为Vue的源码非常庞大和复杂,涉及到众多的细节和高级JavaScript特性。
编代码的小王
·
2024-02-07 22:27
vue.js
前端
javascript
Three.js蒙皮骨骼变化原理 | 逆推蒙皮网格的世界位置
文章目录关于蒙皮的GPU计算:
源码解析
转换成CPU可执行的代码:法线部分蒙皮骨骼的变化是在GPU中进行的,所以像获取静态物体一样获取geometry.position是不行的查看当前版本(r160)的shader
Jedi Hongbin
·
2024-02-07 21:48
Three.js
蒙皮
骨骼
three.js
OkHttp
源码解析
应用拦截器和网络拦截器以前其实就有一直在使用okhttp,也有听说过拦截器这东西,但是一直没有去深入了解。最近看《安卓进阶之光》刚好看到okhttp拦截器的内容,然后自己也去挖了下源码,才发现其巧妙之处。拦截器有两种,应用拦截器和网络拦截器。用法可以看下面的代码:classLogInterceptorimplementsInterceptor{privateStringmName;LogInter
嘉伟咯
·
2024-02-07 14:57
阻塞队列BlockingQueue实战及其原理分析
传送门:并发容器(Map、List、Set)实战及其原理目录阻塞队列介绍队列阻塞队列应用场景
JUC
包下的阻塞队列ArrayBlockingQueueArrayBlockingQueue使用ArrayBlockingQueue
Myname_China
·
2024-02-07 12:53
数据结构
并发编程
Java
java
开发语言
并发编程
JUC
并发工具类的应用场景详解
目录常用并发同步工具类的真实应用场景1.ReentrantLock1.1常用API1.2ReentrantLock使用独占锁:模拟抢票场景公平锁和非公平锁可重入锁结合Condition实现生产者消费者模式1.3应用场景总结2.Semaphore2.1常用API2.2Semaphore使用Semaphore实现服务接口限流Semaphore实现数据库连接池2.3应用场景总结3.CountDownLa
Myname_China
·
2024-02-07 12:22
并发编程
Java
java
开发语言
并发编程
深入理解AQS独占锁之ReentrantLock源码分析
传送门:
JUC
并发工具类的应用场景详解上一章我们讲解了ReentrantLock、Semaphore、CountDownLatch、CyclicBarrier等同步工具类的应用场景及实现,本章我们重点讲解
Myname_China
·
2024-02-07 12:22
并发编程
Java
java
开发语言
并发编程
并发容器(Map、List、Set)实战及其原理
目录
JUC
包下的并发容器CopyOnWriteArrayList应用场景CopyOnWriteArrayList使用CopyOnWriteArrayList原理CopyOnWriteArrayList的缺陷扩展知识
Myname_China
·
2024-02-07 12:50
并发编程
数据结构
Java
数据结构
并发编程
java
MxNet
源码解析
(1) KVStore,pslite
源码解析
1.前言从毕业开始工作已经两个多月,这期间相当一部分的时间都用在了对MxNet的学习上,而在MxNet的众多部分中,又是pslite这一部分接触最多。因此,今天将我一直以来的学习过程中的心得和收获总结在这里,也为以后对MxNet的继续学习做一个铺垫2.MxNet构成MxNet作为一个深度学习框架,它最大的特点应该是分布式训练的支持了。从初次接触MxNet到现在的两个多月里,我认为MxNet主要有以
Junr_0926
·
2024-02-07 11:37
NCCL
源码解析
: 共享内存连接的建立
文章目录前言概括详解1.shmCanConnect()2.shmSendSetup3.shmRecvSetup前言NCCL
源码解析
总目录我尽量在每个函数之前介绍每个函数的作用,建议先不要投入到函数内部实现
Happy_Enger
·
2024-02-07 08:25
NCCL
NCCL
SHM
nvidia
P2P
NCCL
源码解析
: proxy 线程
2.2proxyProgressAsync()4.ncclProxyConnect()4.1ncclProxyCallBlocking()4.2ncclPollProxyResponse()前言NCCL
源码解析
总目录我尽量在每个函数之前介绍每个函数的作用
Happy_Enger
·
2024-02-07 08:24
NCCL
NCCL
Linux
nvidia
NCCL
源码解析
: P2P 连接的建立
文章目录前言概括详解ncclTransportP2pSetup()前言NCCL
源码解析
总目录我尽量在每个函数之前介绍每个函数的作用,建议先不要投入到函数内部实现,先把函数作用搞清楚,有了整体框架,再回归到细节
Happy_Enger
·
2024-02-07 08:18
NCCL
NCCL
nvidia
CUDA
android下自定义相机com.otaliastudios.cameraview
源码解析
(二)
目录android下自定义相机com.otaliastudios.cameraview
源码解析
(一)android下自定义相机com.otaliastudios.cameraview
源码解析
(二)这里要分析是
快乐前进
·
2024-02-07 07:50
Android
Github代码分析
android下自定义相机com.otaliastudios.cameraview
源码解析
(一)
目录android下自定义相机com.otaliastudios.cameraview
源码解析
(一)android下自定义相机com.otaliastudios.cameraview
源码解析
(二)前言最近在
快乐前进
·
2024-02-07 07:20
Android
Github代码分析
AQS与ReentrantLock
AbstractQueuedSynchronizer简称AQSJava并发编程核心在于java.concurrent.util包而
juc
当中的大多数同步器实现都是围绕着共同的基础行为,比如等待队列、条件队列
蒋斌文
·
2024-02-07 06:41
Flink cdc debug调试动态变更表结构
Cannotfindfactorywithidentifier"mysql"intheclasspath.2.JsonFactory异常3.NoSuchMethodError异常其他结尾前言接着上一篇Flinkcdc3.0动态变更表结构——
源码解析
yyoc97
·
2024-02-07 06:05
flink
大数据
debug
调试
cdc
架构学习(五):scrapy实现自定义代理中间件
scrapy实现自定义代理中间件前言关卡:实现自定义代理中间件代理中间件
源码解析
代理池自定义代理中间件结束前言ip检测是比较常规的反爬手段,一般站点会限制ip的访问频率,或者根据ip的访问规律和频率来识别异常访问
九月镇灵将
·
2024-02-07 06:46
逆向与架构
架构
学习
scrapy
libevent
源码解析
--evconnlistener, evconnlistener_event
1.概述前面我们分析了libevent中event,event_callback及event_base,有了这些设施,我们便可利用event_base的实现事件循环。基于实现循环实现事件监听,自动分发,手动分发处理。最基础的网络库由服务端,客户端组成。服务端需要通过监听套接字监听,并通过监听套接字的可读事件,取出新的被动连接,用于和客户端进行后续通信。这里,我们分析libevent中如何处理服务端
raindayinrain
·
2024-02-07 01:49
4.5.网络-Libevent
evconnlistener
服务端监听
上一页
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
其他