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实现两个线程交替打印1-100
这道java基础题主要考察的是对
java并发
基础知识的掌握,一般需要掌握多线程中的wait(),notify(),notifyAll(),join(),yield(),sleep()等方法的灵活使用。
chris_irving
·
2021-06-26 05:11
Java并发
编程:Lock的使用,可重入锁、读写锁、排他锁、乐观锁、悲观锁等
概述Lock顾名思义就是锁,也能实现同步的效果,主要学习ReentrantLock(可重入锁)、ReentrantReadWriteLock(可重入读写锁)ReentrantLock在Java多线程中,可以使用synchronized关键字来实现线程之间同步互斥,ReentrantLock类也能达到同样的效果,并且在扩展功能上也更加强大,比如具有嗅探锁定、多路分支通知等功能,而且在使用上也比syn
singleZhang2010
·
2021-06-25 09:28
Java并发
编程的笔记
1.简介操作系统为独立的进程分配资源->内存/文件句柄/安全证书资源利用率/公平性/便利性促使进程出现3.对象的共享访问共享的可变状态需要正确的管理共享和发布对象安全的多个线程同时访问我们希望某个线程在使用对象状态另一个修改状态线程能够看到状态的变化。1)可见性为了确保多个线程对内存写入操作的可见性必须使用同步机制非volatile类型的64位数职变量的读写绘分解为两个32位的操作。加锁的含义不仅
zwzch
·
2021-06-25 01:03
Java阻塞队列源码(1)-ArrayBlockingQueue
Java并发
包下有个BlockingQueue接口,并提供了多种阻塞队列的实现方式。阻塞队列通常被用于生产者消费者模型、消息队列、并行任务等并发场景,并通过内部的锁和并发控制实现线程安全。
_kkk
·
2021-06-25 01:26
这本Java高并发核心编程让我迈进字节跳动,月薪30k确实不错!
多线程、线程池、内置锁、JMM、CAS、JUC、高并发设计模式等
Java并发
编程方面的面试题,从以前的加
·
2021-06-24 18:15
java高并发并发并发编程面试
这本Java高并发核心编程让我迈进字节跳动,月薪30k确实不错!
多线程、线程池、内置锁、JMM、CAS、JUC、高并发设计模式等
Java并发
编程方面的面试题,从以前的加
·
2021-06-24 18:21
java高并发并发并发编程面试
java并发
编程工具类JUC第一篇:BlockingQueue阻塞队列
JavaBlockingQueue接口java.util.concurrent.BlockingQueue表示一个可以存取元素,并且线程安全的队列。换句话说,当多线程同时从JavaBlockingQueue中插入元素、获取元素的时候,不会导致任何并发问题(元素被插入多次、处理多次等问题)。从javaBlockingQueue可以引申出一个概念:阻塞队列,是指队列本身可以阻塞线程向队列里面插入元素,
字母哥课堂
·
2021-06-24 18:29
JAVA并发
编程与高并发解决方案 - 并发编程 五
JAVA并发
编程与高并发解决方案-并发编程五版本作者内容2018.7.4chuIllusionsJ.U.C组件拓展相关文章
JAVA并发
编程与高并发解决方案-并发编程一之并发相关知识
JAVA并发
编程与高并发解决方案
Apple_Boy
·
2021-06-24 10:17
9.Java中的线程池
Java并发
编程的艺术笔记1.并发编程的挑战2.
Java并发
机制的底层实现原理3.Java内存模型4.
Java并发
编程基础5.Java中的锁的使用和实现介绍6.
Java并发
容器和框架7.Java中的12
不干活就没饭吃
·
2021-06-24 01:56
JDK7 和 JDK8 的 ConcurrentHashMap
ConcurrentHashMap的JDK7/JDK8区别同样是线程安全,相较于HashTable是使用synchronized关键字加锁的原理(就是对对象加锁),ConcurrentHashMap类是
Java
日常更新
·
2021-06-23 23:08
Java并发
编程实战 PDF 下载
小时内务必删除,支持正版,喜欢的请购买正版书籍:http://product.dangdang.com/22606835.html下载地址:图书简介:本书深入浅出地介绍了Java线程和并发,是一本完美的
Java
java经验总结
·
2021-06-23 19:35
Java并发
编程之详解CyclicBarrier线程同步
CyclicBarrier线程同步java.util.concurrent.CyclicBarrier提供了一种多线程彼此等待的同步机制,可以把它理解成一个障碍,所有先到达这个障碍的线程都将将处于等待状态,直到所有线程都到达这个障碍处,所有线程才能继续执行。举个例子:CyclicBarrier的同步方式有点像朋友们约好了去旅游,在景点入口处集合,这个景点入口就是一个Barrier障碍,等待大家都到
·
2021-06-23 14:33
Java并发
编程之可见性,有序性,原子性
1.原子性问题引入publicclassT01_Volatile{privatebooleanrunning=true;privatevoidm(){System.out.println("mstart");while(running){}System.out.println("mend");}publicstaticvoidmain(String[]args)throwsInterruptedE
门心叼龙
·
2021-06-23 11:16
读《
java并发
编程实战》
《
java并发
编程实战》是一本讲解多线程并发变成实践的书,书中详细阐述了线程安全出现的原因,结合场景分析了什么情况下能够避免安全问题,以及讲解了通过java的concurrent包提供的多种解决线程安全问题的工具
飞飞的蜗牛
·
2021-06-23 04:17
JAVA并发
梳理(二)线程的状态转换
关于线程状态之间的转换了不少东西,也看了一些源码,每次看都是一遍加深理解的过程。今天再理一遍。先借用别人的一张图。(觉得有点不够全面,回头把自己的补上来。)线程间状态转换EnumThread.State补充说明之前先贴上EnumThread.State的定义。保留了源码注释,以方便查看。为什么要从这里说起?是因为我们平时说到线程状态的时候,总是会说阻塞,而有时候说的阻塞其实是等待,总是傻傻分不清楚
萌妈码码
·
2021-06-22 19:59
数据结构与算法基础总结
随着工作之余,看了几本书,读了一些高质量的专栏,也接触了一些有关梦想的故事,发现很多技术的底层都离不开数据结构,像Redis的跳表、Mysql中innodb引擎用到的B+树、
java并发
包用到的各种锁等等
李大酱的大脖子
·
2021-06-22 18:39
Java并发
指南2:深入理解Java内存模型JMM
https://github.com/h2pl/Java-Tutorial喜欢的话麻烦点下Star哈文章同步发于我的个人博客:www.how2playlife.com本文是微信公众号【Java技术江湖】的《
Java
Java技术江湖
·
2021-06-22 17:11
[
java并发
编程之深入理解]Synchronized的使用
1.为什么要使用synchronized在并发编程中存在线程安全问题,主要原因有:1.存在共享数据2.多线程共同操作共享数据。关键字synchronized可以保证在同一时刻,只有一个线程可以执行某个方法或某个代码块,同时synchronized可以保证一个线程的变化可见(可见性),即可以代替volatile。2.实现原理synchronized可以保证方法或者代码块在运行时,同一时刻只有一个方法
·
2021-06-22 17:49
Java并发
基础
参考原文地址前言当我们使用计算机时,可以同时做许多事情,例如一边打游戏一边听音乐。这是因为操作系统支持并发任务,从而使得这些工作得以同时进行。那么提出一个问题:如果我们要实现一个程序能一边听音乐一边玩游戏怎么实现呢?image.png我们使用了循环来模拟过程,因为播放音乐和打游戏都是连续的,但是结果却不尽人意,因为函数体总是要执行完之后才能返回。那么到底怎么解决这个问题?下面来说。并行与并发并行性
流年划破容颜_cc55
·
2021-06-22 09:55
Java并发
编程 - ReentrantReadWriteLock
ReentrantReadWriteLock使用示例importjava.util.concurrent.locks.Lock;importjava.util.concurrent.locks.ReentrantReadWriteLock;publicclassReadWriteLockTest{privateReentrantReadWriteLocklock=newReentrantReadW
HRocky
·
2021-06-22 07:30
java内存模型
java并发
采用的是共享内存的模型。2、java内存模型(JMM)是一种抽象模型,它定义了线程和主内存之间的关系
圣村的希望
·
2021-06-22 06:08
Java并发
编程之Executor接口的使用
一、Executor接口的理解Executor属于java.util.concurrent包下;Executor是任务执行机制的核心接口;二、Executor接口的类图结构由类图结构可知:ThreadPoolExecutor继承了AbstractExecutorService接口;AbstractExecutorService接口实现了ExecutorService接口;ExecutorServi
·
2021-06-21 18:55
JMM核心概念之Happens-before原则
设计者的难题与完美的解决方案三、8条Happens-before规则四、“时间上的先发生”与“先行发生”五、Happens-before与as-if-serial一、前言关于Happens-before,《
Java
·
2021-06-21 12:29
Java并发
编程 - 等待/通知
Java语言为线程的通信提供了支持,其中的一种方式就是等待/通知机制,java.lang.Object的wait、notify和notifyAll方法为这种机制的实现提供了支持。现在有这样的一个场景:假如你是一个畅销书作者,正在写一本书,书写完后读者来购买。从编程的角度出发,你和读者(现在假设就只有一个人愿意买)分别都是一个线程,你这个线程做的事就是写书,读者这个线程就是等你写完后买书。下面这个场
HRocky
·
2021-06-21 05:15
死磕 java魔法类之Unsafe解析
简介本章是
java并发
包专题的第一章,但是第一篇写的却不是
java并发
包中类,而是java中的魔法类sun.misc.Unsafe。
架构师Javaspring
·
2021-06-21 05:03
Java并发
指南5:JMM中的final关键字解析
https://github.com/h2pl/Java-Tutorial喜欢的话麻烦点下Star哈文章首发于我的个人博客:www.how2playlife.com本文是微信公众号【Java技术江湖】的《
Java
Java技术江湖
·
2021-06-21 00:55
Java并发
编程专题之LockSupport
LockSupport概述LockSupport是一个编程工具类,主要是为了阻塞和唤醒线程。它的所有方法都是静态方法,它可以让线程在任意位置阻塞,也可以在任意位置唤醒。它可以在阻塞线程时为线程设置一个blocker,这个blocker是用来记录线程被阻塞时被谁阻塞的,用于线程监控和分析工具来定位原因。LockSupport类与每个使用它的线程都会关联一个许可证,在默认情况下调用LockSuppor
tongji4m3
·
2021-06-20 10:00
Java并发
之AQS详解
谈到并发,不得不谈ReentrantLock;而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer(AQS)!类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖于它,如常用的ReentrantLock/Semaphore/CountDownLatch...。它维护了一个volatileintstate(代表
青城楼主
·
2021-06-19 22:19
android 多线程 — 锁基础
权威书籍的资料更全面,连贯老规矩,妹子镇楼,抚慰心灵锁涉及到的点锁涉及到的点很多,这里从底层向上列举出来:AQS(抽象队列同步器)、非阻塞数据结构和原子变量类等基础类都是基于volatile变量的读/写和CAS实现,是
Java
前行的乌龟
·
2021-06-19 20:24
Java并发
编程-阶段性总结:活跃性问题
并发编程有3道关卡,分别是:安全性问题、活跃性问题、性能问题,如果三关全过,也就掌握并发编程这门高阶技能。今天,我们就来过第二关:解决活跃性问题。活跃性问题所谓活跃性问题,是指程序没法执行下去。比如说,公司有一个转账的业务,你已经实现了线程安全,解决了安全性问题,并发再高也不出错。那这样是不是完全没问题了呢?当然不是,程序还会出现活跃性问题,包括:死锁、饥饿、活锁。其中,活锁是难度最低的一个问题,
·
2021-06-19 18:43
java后端并发并发编程
【细谈
Java并发
】谈谈ReentrantReadWriteLock
读本文前建议先阅读AQS:【细谈
Java并发
】谈谈AQS以及ReentrantLock【细谈
Java并发
】谈谈ReentrantLock。
蹲厕所的熊
·
2021-06-19 17:38
Java基础+集合+多线程+JVM(一)
目录1Java基础2Java集合3Java多线程4JVM5常见问题汇总参考资料·《Java编程思想》·《JavaWeb技术内幕》·《
Java并发
编程实战》1Java基础1.1对象1.1.1创建对象1.1.1.1
小小千千
·
2021-06-19 10:54
「Java 路线」| 并发编程的基础概念
(联系方式在GitHub)前言并发编程是面试的重点,同时也是Java开发从入门到精通遇到的第一个坎;这篇文章是
Java并发
系列的第一篇文章,为了帮助小白们渐进深入,我们先来介绍并发编程中的基础概念。
彭旭锐
·
2021-06-19 10:05
《
JAVA并发
编程实战》 第三章 对象的共享
程序清单3-1在没有同步的情况下共享变量(不要这么做)主线程和读线程都将访问共享变量:ready和number可能结果1、主线程先运行完,读线程后运行:读线程在控制台打印输出42,2、读线程先执行完,主线程后执行:读线程在控制台打印输出03、NoVisibility根本无法终止,读线程可能永远都看不到ready的值4、重排序(Reordering):读线程看到了主线程中顺序靠后写入的ready的值
小超_8b2f
·
2021-06-19 09:09
Java并发
-- 线程池
创建线程创建普通对象,只是在JVM的堆里分配一块内存而已创建线程,需要调用操作系统内核的API,然后操作系统需要为线程分配一系列资源,成本很高线程是一个重量级对象,应该避免频繁创建和销毁,采用线程池方案一般的池化资源//假设Java线程池采用一般意义上池化资源的设计方法classThreadPool{//获取空闲线程Threadacquire(){}//释放线程voidrelease(Thread
编程小世界
·
2021-06-19 08:20
Java并发
编程:CountDownLatch、CyclicBarrier和 Semaphore
在java的java.util.concurrent包中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch,CyclicBarrier和Semaphore,今天我们就来学习一下这三个辅助类的用法。以下是本文目录大纲:一.CountDownLatch用法二.CyclicBarrier用法三.Semaphore用法一.CountDownLatch用法CountDown
秃顶小学生
·
2021-06-19 05:36
java并发
编程(二)
java多线程编程(二)volatile、synchronized及锁对比volatile的使用优化1、追加字节能优化性能如果队列的头节点和尾节点都不足64字节的话,处理器会将他们都读到同一个高速缓存行中,在多处理器下每个处理器都会缓存同样的头、尾节点,当一个处理器试图修改头节点时,会将整个缓存行锁定,会导致其他处理器不能访问自己高速缓存中的尾节点。通过填充字节来填满高速缓存行,避免头节点和尾节点
RoundYuan
·
2021-06-18 22:49
Java并发
编程之Executors类详解
一、Executors的理解Executors类属于java.util.concurrent包;线程池的创建分为两种方式:ThreadPoolExecutor和Executors;Executors(静态Executor工厂)用于创建线程池;工厂和工具方法Executor,ExecutorService,ScheduledExecutorService,ThreadFactory和Callable
·
2021-06-18 21:18
阿里面试失败后,一气之下我图解了Java中18把锁
《死磕
Java并发
编程》系列连载中,大家可以关注一波:「死磕
Java并发
编程04」说说JavaAtomic原子类的实现原理「死磕
Java并发
编程03」阿里二面,面试官:说说JavaCAS原理?
爱笑的架构师
·
2021-06-17 23:34
死磕Java并发编程
java
后端
Java并发编程
Java锁
多线程编程
Java面试:并发常见问题之CAS
查看原文请点击:原文地址一、前情回顾上篇文章给大家聊了一下volatile的原理,具体参见:《大白话聊聊
Java并发
面试问题之volatile到底是什么?》。
one_little_boy
·
2021-06-16 10:49
Java 并发编程系列(二) 锁之 LockSupport 工具 、Condition接口
LockSupport工具类Condition与Object对比(来自
Java并发
编程的艺术一书)Condition提供了一系列的方法Condition方法await():造成当前线程在接到信号或被中断之前一直处于等待状态
Gxgeek
·
2021-06-15 09:36
Java并发
编程 - 深入剖析Condition
Java并发
编程-深入剖析ReentrantLock之非公平锁加锁流程(第1篇)
Java并发
编程-深入剖析ReentrantLock之非公平锁解锁流程(第2篇)Java语言规范中规定了每个对象都和一个监视器关联
HRocky
·
2021-06-15 05:11
java并发
编程学习笔记之cpu实现原子操作
两种实现方式:总线锁定:通过锁定总线,也就是锁定后,总线数据的传输将被阻塞缓存锁定:通过缓存一致性实现原子操作,缓存一致性常用MESI控制协议实现MESI控制协议:MESI是四种状态,用来表明缓存中数据的状态。M(modify):表示缓存中数据修改,与内存中不一致,只能有一个缓存拥有这个状态,且其他拥有该数据的缓存为i状态E(exclusive):表示别的缓存中没有该数据,只有该缓存独占,当别的缓
一人_e0fb
·
2021-06-15 04:55
Java并发
基础
并发基础线程表示一条单独的执行流,有自己自己单独的程序计数器和栈;1.1创建方法继承Thread类实现Runnable接口如果不是调用Thread.start开启线程,而是直接调用其run方法,那就不会有开启一个新线程的作用,这种情况下,run方法只是作为一个普通方法被调用的;1.2基本属性id和nameid是一个递增的整数,每创建一个线程就会加一;优先级Java中1-10,默认为5;这里需要注意
_Once1
·
2021-06-15 04:53
阿里P6-P7面试准备
电话面试:第一次面试关注的问题,1)java基础:jvm内存回收,垃圾回收基本原理,
Java并发
包的线程池,Java8的新特性。nio堆排序。
JimmyJava
·
2021-06-15 03:00
Java并发
之JUC-AQS(3)
1、简介JUC指的是java.util.concurrent包。AQS是AbstractQueuedSynchronizer或AbstractQueuedLongSynchronizer这两个类的缩写。AbstractQueuedSynchonizer和AbstractQueuedLongSynchronizer的唯一区别就是其内部state变量的类型:AbstractQueuedSynchoni
小马蛋
·
2021-06-15 03:54
Java并发
编程(十):JMM 和底层实现原理
JMM基础-计算机原理Java内存模型即JavaMemoryModel,简称JMM。JMM定义了Java虚拟机(JVM)在计算机内存(RAM)中的工作方式。JVM是整个计算机虚拟模型,所以JMM是隶属于JVM的。Java1.5版本对其进行了重构,现在的Java仍沿用了Java1.5的版本。Jmm遇到的问题与现代计算机中遇到的问题是差不多的。物理计算机中的并发问题,物理机遇到的并发问题与虚拟机中的情
逆风fei扬
·
2021-06-14 22:54
java并发
之AQS详解【转载】
https://www.cnblogs.com/waterystone/p/4920797.html
jerrik
·
2021-06-14 19:35
Java 并发的底层原理
参考:
java并发
编程此文只用于整体的认知,细节还是要看书为什么会有并发问题Java代码在编译后会变成Java字节码,字节码被类加载器加载到JVM里,JVM执行字节码,最终需要转化为汇编指令在CPU上执行
lionel880
·
2021-06-14 14:46
JAVA并发
容器-阻塞队列
在并发编程中,有时候需要使用线程安全的队列。如果要实现一个线程安全的队列有两种方式:一种是使用阻塞算法,另一种是使用非阻塞算法。使用阻塞算法的队列可以用一个锁(入队和出队用同一把锁)或两个锁(入队和出队用不同的锁)等方式来实现。非阻塞的实现方式则可以使用循环CAS的方式来实现。阻塞队列阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作支持阻塞的插入和移除方法。支持
xiaolyuh
·
2021-06-14 11:16
上一页
45
46
47
48
49
50
51
52
下一页
按字母分类:
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
其他