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并发编程笔记
Java并发
编程的艺术-Java内存模型
基础共享变量(堆空间中所有的实例域,静态域,数组元素)的访问需要同步,而局部变量不会在线程间共享,所以不存在可见性问题。每一个线程都有一个私有的本地内存(抽象概念)源代码到最终的指令序列执行需经过编译器重排序和处理器重排序JMM要求java编译器在生成指令序列时,插入特定的内存屏障以禁止特定类型的处理器重排序。重排序重排序时遵守数据依赖性(写后读,读后写,写后写)as-if-serial语义:不管
油多坏不了菜
·
2024-01-16 21:56
【
编程笔记
】随笔_20180619
经过了大半个月的忙碌,总算有了几天相对清闲的时间。之前大半个月基本上,天天在赶项目,一个接一个。虽然难度不大,但是也很烦,毕竟想要找个时间好好整理下思绪,5月末的时候,上头下了个死命令:最后4天,立马搞出个WebService服务,提供给以后项目做同步信息用。。。当初接到时候,内心还是有点小波澜,毕竟之前很少写过一整个服务器的框架,而且还是HTTP。不过出于自己对于新东西的好奇心,还是迅速的投入了
Fzuim
·
2024-01-16 21:19
coder
Java并发
之魂——synchronized深度解析
虽然网上关于
Java并发
、多线程的文章已是不胜枚举,但是读起来总感觉晦涩且千篇一律,不是你转载我,就是我复制你。
AlbenXie
·
2024-01-16 19:51
高并发和负载均衡及各种优化
Java内置锁:深度解析lock和trylock
定义在Java11中,Lock接口是
Java并发
编程中一个重要的接口,它提供了更灵活的线程同步机制,相比于内置的synchronized关键
程序员古德
·
2024-01-16 19:50
java
python
开发语言
编程笔记
html5&css&js 041 CSS边框属性
编程笔记
html5&css&js041CSS边框属性一、CSS边框属性二、练习小结盒子是由四周的边框组成,边框的属性就构成了盒子的大部分样式。
明月看潮生
·
2024-01-16 12:58
#
html5
css3
javascript
少年工程师
一天吃透
Java并发
面试八股文
内容摘自我的学习网站:topjavaer.cn分享50道
Java并发
高频面试题。线程池线程池:一个管理线程的池子。为什么平时都是使用线程池创建线程,直接new一个线程不好吗?
xiaoyuziliao
·
2024-01-16 11:49
java
分享
java
面试
开发语言
Java进阶 —— 多线程并发
前言在系统学完Java的面向对象编程之后,我们需要认真地来学习
Java并发
编程,我们在学习计算机操作系统的时候也都了解过进程、线程和协程的概念。
荔枝当大佬
·
2024-01-16 03:30
Java开发
java
多线程
并发
线程池
java并发
编程——多线程
本章主要介绍java中多线程并发编程基础知识,包括的内容有:进程,线程,协程的区别多线程的实现方式线程中断和优先级线程状态的切换一、进程、线程和协程1.1进程、线程和协程进程是资源分配的最小单位,操作系统会以进程为单位,分配系统资源(CPU时间片、内存等资源)。进程拥有自己独立的堆和栈,既不共享堆,也不共享栈。线程是CPU调度的最小单位,线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,共
西木风落
·
2024-01-16 03:57
Java基础知识巩固
java
多线程
高并发
JAVA并发
编程——多线程
目录线程的特点轻型实体独立调度和分配的基本单位可并发执行共享进程资源线程的实现使用内核线程实现使用用户线程实现使用用户线程加轻量级线程混合实现Java线程实现每日寄语线程的特点在多线程操作系统中,通常是在一个进程中包括多个线程,每个线程都是作为利用CPU的基本单位,是花费最小开销的实体。线程具有以下属性。轻型实体线程中的实体基本上不拥有系统资源,只是有一点必不可少的、能保证独立运行的资源。线程的实
别活在过去i
·
2024-01-16 03:27
JAVA并发编程的艺术
java
jvm
开发语言
JAVA并发
编程-从ReentrantLock看AQS实现源码解读
ReentrantLock的构造方法//默认非公平锁publicReentrantLock(){sync=newNonfairSync();}//指定publicReentrantLock(booleanfair){sync=fair?newFairSync():newNonfairSync();}ReentrantLock的加锁流程执行ReentrantLock的lock方法publicvoid
coder_sheep
·
2024-01-15 17:13
并发编程
java
数据结构
链表
jvm
JAVA并发
编程-AQS底层实现原理及应用(二)
JAVA并发
编程-AQS底层实现原理及应用(一)CANCELLED状态节点生成acquireQueued方法中的Finally代码:finalbooleanacquireQueued(finalNodenode
coder_sheep
·
2024-01-15 17:13
并发编程
java
算法
开发语言
数据结构
JAVA并发
编程-AQS底层实现原理及应用(一)
前言Java中的大部分同步类(CountDownLatch,Semaphore,CyclicBarrier、ReentrantLock等)都是基于AbstractQueuedSynchronizer(简称为AQS)实现的。AQS是一种提供了原子式管理同步状态、阻塞和唤醒线程功能以及队列模型的简单框架。本篇不讲述包含共享锁和ConditionQueue的部分。一、开发一个自定义Lock锁public
coder_sheep
·
2024-01-15 16:43
并发编程
java
开发语言
spring
boot
后端
ide
编程笔记
html5&css&js 031 HTML视频
编程笔记
html5&css&js031HTML视频一、``:视频元素二、属性三、事件四、嵌入视频页面五、练习小结视频应用广泛,当前的互联网应用中,视频越来越重要,比如抖音、快手、腾讯视频等应用。
明月看潮生
·
2024-01-15 13:42
#
html5
css3
javascript
少年工程师
阿里P8纯手码
Java并发
编程核心原理笔记
并发编程并发编程这四个字想必大家最近都在网上看到过有很多的帖子在讨论。我们都知道并发编程可选择的方式有多进程、多线程和多协程。在Java中,并发就是多线程模式。而多线程编程也一直是一个被广泛而深入讨论的领域。如果遇到复杂的多线程编程场景,大多数情况下我们就需要站在巨人的肩膀上利用并发编程框架——JDKConcurrent包来解决相关线程问题。Concurrent包很复杂吗?相信很多人对于Concu
架构师谢俞
·
2024-01-15 00:41
【JAVA】谈谈 ReadWriteLock 和 StampedLock
Java并发
包中提供了ReadWriteLock和StampedLock两种灵
还在路上的秃头
·
2024-01-15 00:05
JAVA
java
开发语言
面试
笔记
netty(T-io)详解(包含4种io模型详解)
Netty(T-io),Redis、zookeeper、高性能http组件(Nginx)、
java并发
编程组件(JUC包)工作两年以后,必须熟练掌握。2、netty框架N
Dark_Code
·
2024-01-14 19:24
netty
T-io
java
java
开发语言
Java并发
- 线程安全类探索
1.简单设置线程安全类设计车辆追踪器,获取车辆位置和更新车辆位置信息(坐标x,y)展示显示化大屏版本一非线程安全车辆对象【不可变】(MutablePoint)线程安全车辆容器//非线程安全publicclassMutablePoint{publicintx,y;publicMutablePoint(){this.x=0;this.y=0;}publicMutablePoint(MutablePoi
--土拨鼠--
·
2024-01-14 13:08
Java
java
python
开发语言
Java并发
- 原子类
CAS原子操作CAS(CompareandSwap)是一种并发算法,通常用于实现多线程环境下的同步操作,特别是在并发编程中实现无锁算法。CAS操作涉及三个参数:内存位置(V)、期望值(A)和新值(B)。操作的意义是:仅当V的值等于A时,才将V的值更新为B。整个操作是原子的,不会被其他线程中断。下面是CAS的基本原理:读取内存值(V):线程首先读取共享变量的当前值(V)。比较并交换(Comparea
--土拨鼠--
·
2024-01-14 13:08
Java
java
jvm
开发语言
Java并发
- synchronized关键字
synchronized关键字在Java中的主要作用是确保多线程环境下对共享资源的安全访问,避免出现竞态条件和数据不一致的问题。它的主要意义包括以下几个方面:保证原子性:synchronized关键字能够确保被它修饰的方法或代码块在同一时刻只能被一个线程执行。解决竞态条件:使用synchronized关键字可以防止竞态条件的发生,确保对共享资源的操作按照预期的顺序执行。实现线程间通信:synchr
--土拨鼠--
·
2024-01-14 13:07
Java
java
开发语言
Java并发
- volatile关键字
volatile是Java中的关键字,主要用于确保多线程环境下共享变量的可见性、禁止指令重排序以及一些轻量级的同步操作。1.volatile的作用详解可见性:当一个线程对volatile变量进行写操作时,这个变量的新值会立即被刷新到主内存,而不是在线程本地缓存中等待一段时间。当其他线程需要读取这个变量时,它会从主内存中重新加载,而不是使用线程本地缓存中的值。禁止指令重排序:volatile关键字禁
--土拨鼠--
·
2024-01-14 13:07
Java
java
jvm
开发语言
Java并发
- 线程基础
1.程序&线程定义:程序(Process):一个程序是一个独立的执行单元,它包含了代码、数据、和系统资源的集合。每个程序都运行在自己独立的内存空间中,互相之间不直接共享内存。线程(Thread):线程是程序的执行流程,是操作系统调度的最小单元。一个程序可以包含多个线程,它们共享程序的内存空间和资源。资源分配:程序(Process):每个程序有独立的内存空间和系统资源,包括文件句柄、网络连接等。程序
--土拨鼠--
·
2024-01-14 13:37
Java
java
开发语言
Java并发
- LockSupport详解
LockSupport是
Java并发
包(java.util.concurrent)中的一个工具类,用于实现线程的阻塞和唤醒操作。
--土拨鼠--
·
2024-01-14 13:57
Java
java
开发语言
java-ArrayBlockingQueue详解
在
Java并发
编程中,ArrayBlockingQueue是一个非常常用的工具类。它是一个由数组支持的有界阻塞队列,提供了线程安全的队列操作。
一杯可乐、
·
2024-01-14 10:17
多线程
java
常用Java代码-Java中的并发集合(ConcurrentHashMap、CopyOnWriteArrayList等)
1.ConcurrentHashMapConcurrentHashMap是
Java并发
包java.util.concurrent中的一个类,它提供了线程安全的Map实现。与Hashtabl
crmeb服务商-肥仔全栈开发
·
2024-01-14 08:08
java
windows
编程笔记
html5&css&js 037 CSS选择器
编程笔记
html5&css&js037CSS选择器一、CSS选择器二、CSS元素选择器三、CSSid选择器四、CSS类选择器五、CSS通用选择器小结CSS用于处理网页的样式,就像一个人的装扮,拿来一个衣物或饰品
明月看潮生
·
2024-01-14 07:35
#
html5
css3
javascript
少年工程师
前端
多线程设计模式-Guarded Suspension模式
GuardedSuspension设计模式是很多设计模式的基础,比如生产者消费者模式,同样在
Java并发
包中的BlockingQueue中也大量使用到了GuardedSuspension设计模式。
zjyfree
·
2024-01-13 16:13
设计模式
java
前端
Java多线程并发之同步容器和并发容器-第一篇
本文是《凯哥分享
Java并发
编程之J.U.C包讲解》系列教程中的第五篇。如果想系统学习,凯哥(kaigejava)建议从第一篇开始看。从本篇开始,我们就来讲解讲解Java的并发容器。大致思路:先介
tomfyyds
·
2024-01-13 14:46
程序员
java
java程序
java
经验分享
apache
开发语言
c语言
编程笔记
html5&css&js 036 CSS概述
编程笔记
html5&css&js036CSS概述一、什么是CSS?
明月看潮生
·
2024-01-13 06:06
#
html5
css
javascript
少年工程师
JAVA并发
-Semaphore
案例/***@authorqhong*@date2019/12/1310:59*https://www.cnblogs.com/dolphin0520/p/3920397.html*信号量*一个工厂有5台机器,但是有8个工人,一台机器同时只能被一个工人使用,只有使用完了,其他工人才能继续使用**/publicclassSemaphoreDemo{publicstaticvoidmain(Strin
hongdada
·
2024-01-13 06:08
Java并发
Condition 详解
1.引言在
Java并发
编程中,线程间的协作是一个核心话题。为了实现线程间的协作,Java提供了多种机制,其中等待/通知机制是最常见的一种。
一杯可乐、
·
2024-01-13 04:05
多线程
java
闲来无事,动手写一个本地缓存
学习
java并发
的时候,书上的例子是基于缓存展开的,于是就想可以写一个通用的本地缓存写在前面写一个缓存,需要考虑缓存底层存储结构、缓存过期、缓存失效、并发读写等问题,因此自己动手写的本地缓存将围绕这几点进行设计缓存失效缓存失效指的是缓存过期了
何甜甜在吗
·
2024-01-13 00:13
CyclicBarrier和CountDownLatch的区别?
`CyclicBarrier`和`CountDownLatch`都是
Java并发
工具类,用于协调多个线程的同步操作,但它们之间有一些关键的区别。
郭梓航
·
2024-01-12 20:55
CyclicBarrier
CountDownLatch
什么是AQS?
AQS(AbstractQueuedSynchronizer)是
Java并发
包中用于构建同步器的框架。
郭梓航
·
2024-01-12 20:55
AQS
Semaphore
Semaphore是
Java并发
包中的一个同步工具,用于控制同时访问特定资源的线程数量。它维护了一个许可证(permit)计数,线程在获取资源时需要消耗一个许可证,在释放资源时会释放一个许可证。
郭梓航
·
2024-01-12 20:55
算法
Semaphore
第四周
1.Algorithm:leetcode01https://www.jianshu.com/p/e80d1e9e860c2.Review:看了
Java并发
的一些内容,明天整理上传3.Tip:gitadd
衣锦昼行
·
2024-01-12 17:21
Java并发
之同步二:
Java并发
工具类
一、CountDownLatch(1等多汇总、多等1开关)countdownlatch底层原理,定义锁资源:0,当资源为0才叫拿到锁,所以countdownlatch也叫做倒数器,拿锁的时候判断是不是0,不是就park,然后countdown的时候,会-state的时,当state的值为1的时候,park的现场就会醒过来在我的理解下,CountDownLatch可以理解为就是一个同步器,让谁先做,
上海第一shen 深情
·
2024-01-12 17:45
#
java并发
java
开发语言
Java并发
Java多线程
Java并发
之互斥二:ReentrantLock(基于公平锁)
1.构造方法不传参数默认是非公平锁根据传的fair是否公平来创建锁基于公平锁来分析一下``所以最终我们又需要看到AQS这个类中,AQS是一个抽象的队列同步器AQS:AQS内部类(对应同步队列的每一个节点):staticfinalclassNode{//枚举:共享模式staticfinalNodeSHARED=newNode();//枚举:独占模式staticfinalNodeEXCLUSIVE=n
上海第一shen 深情
·
2024-01-12 17:15
#
java并发
java
linux
java多线程
ReentrantLock
Java并发
之同步三:Condition条件队列
一、总览二、源码分析2.1人口publicConditionnewCondition(){returnsync.newCondition();}finalConditionObjectnewCondition(){returnnewConditionObject();}publicclassConditionObjectimplementsCondition,java.io.Serializabl
上海第一shen 深情
·
2024-01-12 17:13
#
java并发
java
开发语言
java多线程
java并发
Contiditon
Java并发
编程——伪共享和缓存行问题
在
Java并发
编程中,伪共享(FalseSharing)和缓存行(CacheLine)是与多线程访问共享数据相关的两个重要概念。
ByeDark
·
2024-01-12 10:10
Java
java
缓存
编程笔记
html5&css&js 035 HTML 地理定位
编程笔记
html5&css&js035HTML地理定位一、HTML5地理定位二、处理错误和拒绝三、getCurrentPosition()方法-返回数据四、Geolocation对象-其他有趣的方法五、
明月看潮生
·
2024-01-12 09:51
#
html5
css3
javascript
少年工程师
Java并发
- Final关键字
1.final方法的基础使用1.1final修饰变量在声明基本类型的变量时,我们可以使用final关键字使其成为常量。一旦赋值,这个值将无法再被修改。finalintMAX_VALUE=100;//MAX_VALUE=200;//重新给MAX_VALUE赋值时,编译错误,无法修改final变量1.2引用类型的final变量对于引用类型的变量,final关键字确保引用不会再指向其他对象,但并不表示引
--土拨鼠--
·
2024-01-12 06:21
Java
java
开发语言
jvm
springboot 多数据源怎么配置在控制台的sql打印日志
最近整理了一波电子书籍资料,包含《EffectiveJava中文版第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》,《
Java并发
编程实战》等等获取方式:关注公众号并回复电子书领取
飞乐鸟
·
2024-01-11 21:16
mybatis
spring
boot
java
编程笔记
html5&css&js 030 HTML音频
编程笔记
html5&css&js030HTML音频一、``元素二、属性三、事件三、使用CSS设置样式练习小结有时候网页上也需要嵌入音频。比如播放歌曲或老师讲课的音频等。
明月看潮生
·
2024-01-11 19:21
#
html5
css3
javascript
少年工程师
判断UIViewController是使用pop,dismiss返回到上级视图控制器
判断UIViewController是使用pop,dismiss返回到上级视图控制器@(
编程笔记
)[iOS开发]ifself.navigationController?.
tsiic
·
2024-01-11 16:22
编程笔记
html5&css&js 033 HTML SVG
编程笔记
html5&css&js033HTMLSVG一、HTML5SVG二、什么是SVG?三、SVG优势四、SVG与Canvas两者间的区别五、练习小结svg也是绘图,不过绘制的是矢量图。
明月看潮生
·
2024-01-11 09:26
#
html5
css3
javascript
少年工程师
Java并发
编程的艺术:深度剖析线程池的设计与应用
Java并发
编程作为应对这一挑
喔的 喔的嘛呀
·
2024-01-11 08:24
java
开发语言
使用SnapKit时 center 和snp.center 的区别
使用SnapKit时center和snp.center的区别@(
编程笔记
)[iOS开发,UI布局]以我们想让titleLabel水平➕垂直居中为例:1:titleLabel.snp.makeConstraints
tsiic
·
2024-01-11 07:47
编程笔记
html5&css&js 034 HTML MathML
编程笔记
html5&css&js034HTMLMathML一、HTML5MathML二、看实例小结网页上什么都可以出现呀,数学公式是不是也需要显示出来呀?这东西就叫MathML。
明月看潮生
·
2024-01-11 06:39
#
html5
css3
javascript
少年工程师
MathML
【Java 面试题合集】ThreadPoolExecutor 线程池面试题
文章目录自定义的线程池的7个参数如何合理设置核心线程数corePoolSize的大小《
JAVA并发
编程实战》中的方案java开发手册中为什么不允许使用Executors默认的实现?
秀强
·
2024-01-10 16:50
并发编程
JUC
源码解析
java
一篇文章讲清楚
Java并发
理论基础
文章目录前言一、计算机操作系统的木桶效应二、CPU、内存和I/O设备之间的速度不匹配的问题解决三、并发出现线程不安全的根源:可见性、原子性和有序性问题四、JAVA是怎么解决并发问题的:JMM(Java内存模型)前言大家好,我是佩洛君,致力于新手友好地讲清楚Java开发问题的来龙去脉。一、计算机操作系统的木桶效应有过电脑硬件设备DIY的小伙伴们都知道,CPU显卡内存主板,如果哪一个很拉,整个电脑就会
佩洛君
·
2024-01-10 15:10
面试
学习Java必看
java
开发语言
上一页
2
3
4
5
6
7
8
9
下一页
按字母分类:
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
其他