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并发编程指南
J.U.C之AQS及其相关组件详解
J.U.C之AQS-介绍J.U.C即
Java并发
包(java.util.concurrent),J.U.C中提供了很多并发工具。
端碗吹水
·
2023-02-18 10:00
JUC--CAS
2018-10-01推荐原文死磕
Java并发
CAS,CompareAndSwap,即比较并交换。Douglea大神在同步组件中大量使用CAS技术鬼斧神工地实现了Java多线程的并发操作。
vsu
·
2023-02-18 09:38
Q&A-04 多线程&分布式
参考链接:CS-Notes/notes/
Java并发
.md
Java并发
编程:Synchronized底层优化(偏向锁、轻量级锁)Java实现多线程有哪几种方式Java多线程实现方式主要有四种:继承Thread
senzx
·
2023-02-18 09:38
万字超强图文讲解AQS以及ReentrantLock应用(建议收藏)
作者:日拱一兵来源:微信公众号链接:https://mp.weixin.qq.com/s/ASFv-H9OqfMMMwOkv5dDzAJavaSDK为什么要设计Lock曾几何时幻想过,如果
Java并发
控制只有
风平浪静如码
·
2023-02-18 05:11
【
Java并发
编程】01-内存模型与Synchronized、volatile关键字
并发问题的根源不在乎以下几个原因:可见性、原子性、有序性。Java常用Synchronized、volatile关键字来解决并发问题,在了解这两个关键字之前我们先来看看Java内存模型方便理解并发问题是如何产生的。Java内存模型(JMM)物理硬件内存模型和Java内存模型物理硬件内存模型目前基于高速缓存的存储交互很好的解决了cpu和内存等其他硬件之间的速度矛盾,多核情况下各个处理器(核)都要遵循
Tooi
·
2023-02-18 01:06
Java并发
包中线程池ThreadPoolExecutor原理探究
一、线程池简介线程池的使用主要是解决两个问题:①当执行大量异步任务的时候线程池能够提供更好的性能,在不使用线程池时候,每当需要执行异步任务的时候直接new一个线程来运行的话,线程的创建和销毁都是需要开销的。而线程池中的线程是可复用的,不需要每次执行异步任务的时候重新创建和销毁线程;②线程池提供一种资源限制和管理的手段,比如可以限制线程的个数,动态的新增线程等等。在下面的分析中,我们可以看到,线程池
java菜
·
2023-02-18 00:03
(七)全面剖析
Java并发
编程之线程变量副本ThreadLocal原理分析
引言在之前的文章:彻底理解
Java并发
编程之Synchronized关键字实现原理剖析中我们曾初次谈到线程安全问题引发的"三要素":多线程、共享资源/临界资源、非原子性操作,简而言之:在同一时刻,多条线程同时对临界资源进行非原子性操作则有可能产生线程安全问题
竹子爱熊猫
·
2023-02-17 21:00
Java 线程池之必懂应用-原理篇(上)
地中断线程-实践篇Java“优雅”地中断线程-原理篇真正理解JavaVolatile的妙用JavaThreadLocal你之前了解的可能有误JavaUnsafe/CAS/LockSupport应用与原理
Java
小鱼人爱编程
·
2023-02-17 20:57
Java并发
编程之AQS以及ReentrantLock源码解析
1ReentrantLock与synchronized的区别我们知道锁的基本原理是,基于将多线程并行任务通过某一种机制实现线程的串行执行,从而达到线程安全性的目的。在synchronized中,我们分析了偏向锁、轻量级锁、乐观锁。基于乐观锁以及自旋锁来优化了synchronized的加锁开销,同时在重量级锁阶段,通过线程的阻塞以及唤醒来达到线程竞争和同步的目的。ReentrantLock与sync
干天慈雨
·
2023-02-17 09:11
以微服务注册中心为背景学习
Java并发
文章作者:老钟手动模拟实现一个注册中心,以该案例为背景进行
Java并发
的相关知识学习。
墨家巨子@俏如来
·
2023-02-17 07:02
Java并发
Java并发
Java并发
编程之CAS,原子包Atomic
1.什么是CAS?CAS的英文全称为CompareandSwap,翻译成中文为“比较并交换”。1.1CAS详解CAS是一种无锁算法,该算法关键依赖两个值——期望值(旧值)和新值,底层CPU利用原子操作,判断内存原值与期望值是否相等,如果相等则给内存地址赋新值,否则不做任何操作。使用CAS进行“无锁编程”(LockFree)的步骤大致如下:1.获得字段的期望值(oldValue)。2.计算出需要替换
干天慈雨
·
2023-02-17 02:52
Java并发
--- 锁相关问题
Java中有两种加锁的方式:一种是用synchronized关键字,另一种是用Lock接口的实现类。如果你只是想要简单的加个锁,对性能也没什么特别的要求,用synchronized关键字就足够了。自Java5之后,才在java.util.concurrent.locks包下有了另外一种方式来实现锁,那就是Lock。也就是说,synchronized是Java语言内置的关键字,而Lock是一个接口,
_code_x
·
2023-02-16 23:22
Java并发
LinkedBlockingQueue源码分析
目录简介常量构造方法putawaitisOnSyncQueuesignal简介LinkedBlockingQueue是一个阻塞的有界队列,底层是通过一个个的Node节点形成的链表实现的,链表队列中的头节点是一个空的Node节点,在多线程下操作时会使用ReentrantLock锁来保证数据的安全性,并使用ReentrantLock下的Condition对象来阻塞以及唤醒线程。常量/***链表中的节点
·
2023-02-16 20:59
Java进阶-并发-进阶
一、源码解析1.1AQSAQS模型.pngacquire()流程.pngJUC解析-AQS(1)
Java并发
之AQS详解Thread详解Exclusive:ReentrantLockShare:Semaphore
GIT提交不上
·
2023-02-09 22:18
《Android权威
编程指南
》学习笔记
调用startActivityForResult启动的Activity的回传方法是setResult(intresultCode,Intentdata),这个方法的resultCode一般有RESULT_OK、RESULT_CANCELED以及RESULT_FIRST_USER。OK和CANCELED一般可以对应确认按钮和取消按钮的返回值。如果我们的活动没调用setResult方法就结束了,系统还
YueDev
·
2023-02-07 11:51
并发编程 · 基础篇(中) · 三大分析法分析 Handler
小木箱成长营并发编程系列教程(排期中):并发编程·基础篇(上)·android线程那些事并发编程·基础篇(下)·android线程池那些事并发编程·提高篇(上)·
Java并发
关键字那些事并发编程·提高篇
·
2023-02-07 10:16
后端
阿里面试官漏题:四套
Java并发
编程全彩宝典,Github上标星87.8
并发编程的重要性对于各位Java开发的大佬的重要性,想必不需要楼主多BB了吧!同时并发编程这一方面也是面试中经常会问到的知识点,作为一面二面的重点考察内容,不仅要知其然,还要使其所以然!而且马上就是金三银四了,不管你现在想不想面试,准没准备面试,但是多学习一点知识,多做一些准备总是没错的!楼主近期偶然间得到了一份十分详尽的并发编程的四份小册,内容涵盖之广,讲述之深,理解之顺畅,还需各位看官细细品味
小迁不秃头
·
2023-02-07 02:57
Java并发
机制的底层实现原理
Java并发
机制的底层实现原理Java代码在编译后会变成Java字节码,字节码被类加载器加载到JVM里,JVM执行字节码,最终需要转化为汇编指令在CPU上执行,Java中所使用的并发机制依赖于JVM的实现和
一萍之春
·
2023-02-07 01:14
Hive
编程指南
:数据操作
--创建数据库createdatabaseifnotexistsdmt--进入数据库useinv_test--创建表droptableifexistsdmt.user_inv_info_mon;createtableifnotexistsdmt.user_inv_info_mon(user_idstring,inv_timestring,prod_idstring,inv_amtint)rowfo
luogps9
·
2023-02-06 20:42
Java并发
编程艺术(六) Java中的线程池、Executor架构
1、线程池的实现原理线程池判断核心线程池里的线程是否都在执行任务,如果不是,则创建新的工作线程来执行,如果都在执行则进入下个流程。线程池判断工作队列是否已满。如果没满,任务存储在工作队列;如果满了,进入下个流程。线程池判断所有线程是否都处于工作状态,如果没有则新建线程来执行任务,如果满了则交给饱和策略处理。线程池处理线程池执行当前运行线程少于corePoolSize,则创建新线程来执行,需要获取全
kaiker
·
2023-02-06 20:59
云端代码 Google App Engine
编程指南
PDF介绍
云端代码GoogleAppEngine
编程指南
PDF中文版链接:https://pan.baidu.com/s/1iTQirC2DK5_bG5KWY5k0zw提取码:voct以下内容比较啰嗦,不建议你观看
晴天流浪
·
2023-02-06 03:20
并发编程终章:
Java并发
编程系列总纲
并发编程目录磕磕绊绊近半年时间,在工作之余,前后一共写了十余篇深入
Java并发
编程系列的文章,由于内容颇多,所以在这里列一个目录方便诸位翻阅。
竹子爱熊猫
·
2023-02-06 02:15
java并发
-CyclicBarrier(循环栅栏)
CyclicBarrier,juc下的同步工具类,简称循环栅栏。让一组线程同时达到一个屏障(同步点)时被阻塞,直到最后一条线程达到屏障时,所有在屏障前阻塞等待的线程都会被唤醒,然后继续执行。应用场景:例如朋友约一起打个篮球,你必须得等待双方人都到期了才能开始,不能来一场3v5的决赛吧。这时候在最后一个人到来之前,前面先来的人必须得先等待(到达一个屏障时被阻塞),当最后一人来到时(到达屏障),所有之
MJLDG
·
2023-02-05 19:30
Hive
编程指南
:基础知识
一、Hive基础Hive最适合于数据仓库应用程序,使用该应用程序进行相关的静态数据分析,不需要快速响应给出结果,而且数据本身不会频繁变化Hive不是一个完整的数据库,hive不支持记录级别的更新、插入或者删除操作。Hadoop是一个面向批处理的系统,而MapReduce任务(job)的启动过程需要消耗较长的时间,所以hive查询延时比较严重。hive不支持事务二、MapReduce介绍MapRed
luogps9
·
2023-02-05 19:02
【原创】
Java并发
编程系列1:大纲
【原创】
Java并发
编程系列1:大纲一个人能力当中所蕴藏的潜能,远超过自己想象以外。
Dali王
·
2023-02-05 11:29
枯燥的
Java并发
- volatile
volatile是一个特征修饰符,它的的作用是作为指令关键字,确保本条指令不会因编译器优化而省略,且要求每次直接读取最新值。JMM规范介绍Java内存模型(JavaMemoryModel简称JMM)是一种抽象的概念,并不真实存在,它描述的是一组规则或规范,通过这组规范定义了程序中各个变量(包括实例字段,静态字段和构成数组对象的元素)的访问方式。JVM运行程序的实体是线程,而每个线程创建时JVM都会
枯燥的非洲猿
·
2023-02-05 10:00
多线程
编程指南
核心篇笔记
Java多线程编程实战指南核心篇Thread类的start方法作用是启动相应的线程。启动一个线程的实质是请求Java虚拟机运行相应的线程,而这个线程具体何时才能执行是由线程调度器(Scheduler)决定的。因此,start方法调用结束并不意味着相应线程已经开始运行,这个线程可能稍后才被运行,甚至也可能永远不会被运行。Thread类有两个构造方法:Thread()和Thread(Runnablet
纵横Top
·
2023-02-05 06:31
java并发
编程的艺术读书笔记(待续)
第一章并发编程的挑战上下文切换时间片切换会导致速度降低使用Lmbench3可以测试上下文切换的时长,使用vmstat可以测试上下文切换的次数减少上下文切换:无锁并发编程、CAS算法(atomic原子类)、使用最少线程和协程(在单个线程里,完成多个任务的调度和切换)死锁避免一个线程同时拿多个锁或者多个资源使用定时锁,lock.trylock(timeout)数据库链接,加锁和解锁必须在同一个链接里面
collery
·
2023-02-04 21:22
高质量C++
编程指南
----表达式和基本语句
4.表达式和基本语句4.1运算符的优先级(1)如果代码行中的运算符比较多,用括号确定表达式的操作顺序,避免使用默认的优先级4.2复合表达式允许复合表达式存在的理由是:(1)书写简洁;(2)可以提高编译效率规则:(1)不要编写太复杂的复合表达式(2)不要有多用途的复合表达式(3)不要把程序中的复合表达式与“真正的数学表达式”混淆4.3if语句(1)不可将布尔变量直接与TRUE、FALSE或者1、0进
辉仔_jian
·
2023-02-04 21:39
博客园 c# 委托技术文章汇总
我今天的工作日志——关于事件委托的一点心得体会委托调用、子线程程调用、与线程池调用委托中的协变和逆变(C#
编程指南
)详解C#委托,事件与回调函数学习笔记之---C#中的委托与事件委托(转载)C#中的委托和事件
weixin_30341735
·
2023-02-04 14:18
c#
设计模式
操作系统
并发编程 · 基础篇 · android线程那些事
小木箱成长营并发编程系列教程(排期中):并发编程·基础篇(下)·android线程池那些事并发编程·提高篇(上)·
Java并发
关键字那些事并发编程·提高篇(下)·Java锁安全性那些事并发编程·高级篇(
小木箱
·
2023-02-04 14:08
后端
我的Java三剑客配套源码
二、介绍2.1
Java并发
编程之美我的一本书是2018年11月出版的《
Java并发
编程之美》,该书深入浅出的介绍了
Java并发
编程基础,然后图文结合的方式剖析了JUC包源码原理。
阿里加多
·
2023-02-04 14:41
java并发
编程之volatile
Java语言规范第三版中对volatile的定义如下:Java编程语言允许线程访问共享变量,为了确保共享变量能被准确和一致地更新,线程应该确保通过排他锁单独获得这个变量。了解volatile关键字之前需要先了解下Java内存模型,java内存模型抽象示意图如下:Java内存模型java内存模型抽象示意图线程A和线程B之间若要通信的话,必须经历下面两个步骤(1)线程A和线程A本地内存中更新过的共享变
好大一只龍
·
2023-02-04 11:17
爱了,这篇
Java并发
编程技术点总结的太详细了,建议收藏再看
前言并发编程技术在Java中属于重要知识点,对于以下内容你有了解多少?进程、线程、协程关系概述进程:本质上是一个独立执行的程序,进程是操作系统进行资源分配和调度的基本概念,操作系统进行资源分配和调度的一个独立单位。线程:操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一个进程中可以并发多个线程,每条线程执行不同的任务,切换受系统控制。协程:又称为微线程,是一种用户态
架构通天之路
·
2023-02-04 09:53
ConcurrentHashMap 源码分析
此篇文章仅仅限于描述ConcurrentHashMap冰山一角,并不能对其全面剖析,如果有读者想要对并发进行更深入的理解与交流,推荐《
Java并发
编程的艺术》,笔者看完很有感悟。此文还是从最简单也是
koller
·
2023-02-04 00:35
并发编程 · 基础篇 · android线程那些事
小木箱成长营并发编程系列教程(排期中):并发编程·基础篇(下)·android线程池那些事并发编程·提高篇(上)·
Java并发
关键字那些事并发编程·提高篇(下)·Java锁安全性那些事并发编程·高级篇(
·
2023-02-03 21:43
后端
线程工具类之ForkJoin
ForkJoin是
JAVA并发
编程提供的一个工具类,可以让我们不需要了解Runnable、Thread知识,只要遵循forkjoin开发模式,就可以写出很好的多线程并发程序。
冰封陈韶
·
2023-02-03 16:52
Java—并发
编程指南
并发编程是提高程序运行效率与响应速度的重要手段,在多CPU条件下,并发编程可以使硬件得到更大程度的运用。由于在并发环境下CPU随时会对多线程的运行进行调度,因此线程中各指令执行的顺序是不确定的,出现问题时也难以复现和定位。如果开发人员了解并发的原理,就能在有并发问题隐患的地方妥善处理来规避风险。并发的知识体系很庞大,涉及到内存模型、并发容器、线程池等一系列知识点,优秀并发程序对性能与活跃性也有较高
东方未曦
·
2023-02-03 09:52
Linux音频
编程指南
——写得很好
OSS--跨平台的音频接口简介http://bbs.lemote.com/viewthread.php?tid=20410OSS(OpenSoundSystem)是unix平台上一个统一的音频接口,即只要音频处理应用程序按照OSS的API来编写,那么在移植到另外一个平台时,只需要重新编译即可。OSS(OpenSoundSystem)是unix平台上一个统一的音频接口。以前,每个Unix厂商都会提供
Zhu guli
·
2023-02-03 08:57
嵌入式系统
编程
linux
linux内核
audio
unix
buffer
《32个Java面试必考点》学习笔记之三------设计模式与Java语言特性
MapHashMapConcurrentHashMapJava版本特性1.81.9-1.101.11面试考察点加分项真题汇总知识点汇总该内容需掌握主要两点常用设计模式的实现各设计模式的使用场景image.png常见集合类和
Java
KingOfLion
·
2023-02-03 05:17
JUC之AQS—Cyclicbarrier
导读:这篇文章介绍的是
java并发
组件aqs之CyclicBarrierCyclicbarrier概念:Cyclicbarrier是一个同步辅助类,它允许一组线程相互等待直到到达某个公共的屏障点,通过它可以完成多个线程之间相互等待
Toyouy
·
2023-02-03 02:17
volatile 关键字原理解析
今天,来谈谈
Java并发
编程中的一个基础知识点:volatile关键字本篇文章主要从可见性,原子性和有序性进行讲解Java的内层模型happen-before可见性有序性一.主存与工作内存说volatile
十月_围城
·
2023-02-02 21:06
JUC之AQS—Semaphore
导读:这篇文章介绍的是
java并发
组件aqs之semaphore(信号量)semaphore概念:semaphore可以控制并发访问的线程个数,可以很容易的控制某个资源被同时访问的个数,semaphore
Toyouy
·
2023-02-02 20:58
MySQL InnoDB 存储引擎中的锁
InnoDB中的锁对于锁的概念这里就不做过多的介绍了,接触过
Java并发
编程的想必都会有所了解。本文重点关注表数据上的锁,对于缓冲池中LRU列表的操作锁不做详细
GeorgeMR
·
2023-02-02 14:10
讲真,我发现这本书有个地方写错了!
file可恶的标题党首先,我先说一下我发现的《
Java并发
编程的艺术》写错的地方吧。我手上这本《
Java并发
编程的艺术》的版次是:2019年3月第1版第14次印刷。
e97f2df5b7a2
·
2023-02-02 12:02
拾人牙慧系列--Synchronized的理解
前言本系列文章,将在各路大神文章的基础上,总结提炼出自己的感悟,力求将大神的观点总结的更加凝练,希望站在巨人的肩膀上,能看得更远本篇引用文章
Java并发
编程系列文章(这个是第一篇,里面有其余相关的文章)
小斌_bingor
·
2023-02-01 22:19
WebGL
编程指南
笔记-第四章 高级变换与动画基础
第四章高级变换与动画基础本章内容第三章中学了利用缓冲区对象绘制三角形,图形变换的原理,利用矩阵简化变换操作等。本章中进一步研究变换矩阵,在此基础制作一些简单的动画效果,具体内容包括:学习使用一个矩阵变换库,库中封装了矩阵运算的数学细节快速上手矩阵库,对图形进行复合变换利用矩阵库,实现简单的动画效果。本章内容是复杂的WebGL程序的基础。平移,然后旋转上一张最后的综合练习中,已经通过变换矩阵实现了平
ACE0220
·
2023-02-01 13:08
WebGL编程指南学习
web
javascript
前端
html5
图形渲染
WebGL
编程指南
笔记-第三章 绘制和变换三角形
第三章绘制和变换三角形本章主要内容三角形在三维图形学中的重要地位,以及WebGL如何绘制三角形使用多个三角形绘制其他基本图形三角形的基本变换利用矩阵简化变化绘制多个点学习绘制三角形的原因:很多复杂的图像由多个三角形组成的,绘制多个点是绘制三角形的基础第二章最后的绘制多个点的综合练习中,通过for()循环,每遍历一次就向着色器传入一个点,并调用gl.drawArrays()绘制出来,但是有个弊端,这
ACE0220
·
2023-02-01 13:07
WebGL编程指南学习
web
javascript
前端
html5
着色器
Java:锁的四种状态:无锁状态、偏向锁、轻量级锁、重量级锁
Java并发
编程,自己在实际项目确实很少用到,经常学了就忘,忘了在学的恶心循环。通过再次的学习,掌握一些并发编程原理和理清经常混淆的知识点。
GitCode8
·
2023-02-01 11:53
我工作三年了,该懂并发了(干货)
下面我们就来介绍一下
Java并发
中都涉及哪些模块,这些并发模块都是
Java并发
类库所提供的。
猿灯塔
·
2023-02-01 09:13
上一页
41
42
43
44
45
46
47
48
下一页
按字母分类:
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
其他