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
【高并发编程】
多线程
高并发编程
(6) -- Semaphere、Exchanger源码分析
一.Semaphere1.概念一个计数信号量。在概念上,信号量维持一组许可证。如果有必要,每个acquire()都会阻塞,直到许可证可用,然后才能使用它。每个release()添加许可证,潜在地释放阻塞获取方。但是,没有使用实际的许可证对象;Semaphore只保留可用数量的计数,并相应地执行。即一个Semaphore维护了一组permits【许可证】。每次调用acquire()方法都会阻塞,直到
码猿手
·
2020-07-05 14:52
nio
高并发编程
之前http://blog.csdn.net/sunmenggmail/article/details/8638480已经整理过,这次是2.0版参考:http://daizuan.iteye.com/blog/1112909http://daizuan.iteye.com/blog/1113471http://www.cnblogs.com/pingh/archive/2013/07/30/322
sunmenggmail
·
2020-07-05 13:53
java
高性能建站
高并发编程
-02-并发编程存在的风险
多线程的
高并发编程
提高了我们的CPU利用率及简化开发模式,但是又同时给我们带来了风险,使用不当就会有风险,那到底有什么风险?
LoveCoding
·
2020-07-05 10:02
Java并发机制的底层实现原理
线程内存模型确保所有线程看到这个变量的值是一致的Lock前缀的指令在多核处理器会引发两件事情:1)将当前处理器缓存行的数据2)写回操作会使在其他CPU里缓存了该内存地址的数据无效volatile的使用优化追加64字节能够提
高并发编程
的效率
斗希冠
·
2020-07-05 04:34
Java
高并发编程
(十):Java并发工具类
1.等待多线程完成的CountDownLatchCountDownLatch允许一个或多个线程等待其他线程完成操作。1.1应用场景假如有这样一个需求:我们需要解析一个Excel里多个sheet的数据,此时可以考虑使用多线程,每个线程解析一个sheet里的数据,等到所有的sheet都解析完之后,程序需要提示解析完成。1.2CountDownLatch实现原理publicvoidawait()thro
MasterT-J
·
2020-07-05 03:51
Java并发编程
Java高并发编程
高并发编程
系列:4种常用Java线程锁的特点,性能比较、使用场景
高并发编程
系列:4种常用Java线程锁的特点,性能比较、使用场景http://youzhixueyuan.com/4-kinds-of-java-thread-locks.html在Java并发编程中,
jiaoyajieqianyi
·
2020-07-04 19:41
多线程
汪大神Java多线程编程实战
下载地址:汪大神Java多线程编程实战课程目录:├─1│├─Java并发编程.png│├─源码+ppt.rar│├─
高并发编程
第一阶段01讲、课程大纲及主要内容介绍.wmv│├─
高并发编程
第一阶段02讲
Fasimlal
·
2020-07-04 13:59
Java多线程
高并发编程
代码笔记(二)
文章目录ReentrantLock可以用来代替synchronizedReentrantLock可以进行尝试锁定tryLock()ReentrantLock的lockInterruptibly方法ReentrantLock可以指定为公平锁面试题使用wait和notifyAll方法来实现使用Lock和Condition来实现ThreadLocal线程局部变量参考源代码ReentrantLock可以用
c.
·
2020-07-04 12:06
Java
Java多线程
高并发编程
代码笔记(四)
文章目录ExecutorExecutorServiceCallableExecutorsFuture线程池FixedThreadPoolCachedThreadPoolSingleThreadPoolScheduledThreadPoolWorkStealingPoolForkJoinPool线程池的底层实现ThreadPoolExecutorFixedThreadPoolCachedThread
c.
·
2020-07-04 12:06
Java
Java多线程
高并发编程
代码笔记(三)
文章目录线程安全的单例模式多线程安全单例模式(不使用同步锁)多线程安全单例模式(使用同步方法)多线程安全单例模式(使用双重同步锁)多线程安全单例模式(延迟/懒加载使用静态内部类)多线程安全单例模式(枚举实现)并发容器多线程卖票问题使用线程不安全的容器List使用线程安全的容器Vector在判断和操作放在同步代码块中使用队列(Queue)来实现List、MapConcurrentHashMap和Co
c.
·
2020-07-04 12:35
Java
Java
高并发编程
:原子类
1.并发编程概念原子性一个操作不能被再拆分了;即一个操作或者多个操作要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。一个很经典的例子就是银行账户转账问题。增量操作符++,不是原子的操作,它是先读取旧值,然后写回新值,包含2个操作可见性可见性是指当多个线程访问同一个变量时,一个线程修改了这个变量的值,其他线程能够立即看得到修改的值。有序性即程序执行的顺序按照代码的先后顺序执行。但是指令
Jack-Chan
·
2020-07-04 11:32
Java高并发编程
java
高并发编程
之线程间通信
5.1同步阻塞与异步非阻塞异步非阻塞的优势非常明显,首先客户端不用等到结果处理结束之后才能返回,从而提高了系统的吞吐量和并发量;其次若服务端的线程数量在一个可控的范围之内是不会导致太多的CPU上下文切换从而带来额外的开销的;再次服务端线程可以重复利用,这样就减少了不断创建线程带来的资源浪费。但是异步处理的方式同样也存在缺陷,比如客户端想要得到结果还需要再次调用接口方法进行查询。5.2单线程通信5.
大鹏视界U
·
2020-07-04 01:24
Java并发编程
「冰河技术」部分精华文章目录汇总
1.高并发专题
高并发编程
一直是程序员比较头疼的事项,它不像那些简单的业务编程,能够快速定位到异常。往往在并发编程中,出现的异常都是比较诡异的,而且并不是每次都会复现。
冰 河
·
2020-07-02 07:47
Java8
高并发专题
个人成长
文章精华
分类汇总
冰河技术
冰
河
高并发秒杀场景下订单超卖bug,又让你头疼了?
现如今市场
高并发编程
、分布式、负载均衡、集群等可以说是现在高级架构后端求职的必备技能。每一个技术方向的背后都包含了众多技术细节。
程序猿DD_
·
2020-07-02 05:01
Java多线程- 自定义Future模式
Future模式释义来源于《Java
高并发编程
详解》假设有个任务需要执行比较长的时间,通常需要等待任务执行结束或者出错才能返回结果,在些期间调用者只能陷入阻塞苦苦等待,对此Future设计模式提供了一种凭据式的解决方案
劉胡來
·
2020-07-01 21:39
java
设计模式
物联网
高并发编程
之单台服务器最大并发TCP连接数
[TOC]前言曾几何时我们还在寻求网络编程中C10K问题的解决方案,但是现在从硬件和操作系统支持来看单台服务器支持上万并发连接已经没有多少挑战性了。我们先假设单台服务器最多只能支持万级并发连接,其实对绝大多数应用来说已经远远足够了,但是对于一些拥有很大用户基数的互联网公司,往往面临的并发连接数是百万,千万,甚至腾讯的上亿(注:QQ默认用的UDP协议)。虽然现在的集群,分布式技术可以为我们将并发负载
weixin_34381666
·
2020-07-01 06:51
Java
高并发编程
(马士兵老师视频)笔记(二)并发容器
本篇主要总结了:线程安全的单例模式和并发容器。其中并发容器包含:ConcurrentHashMap、ConcurrentSkipListMap、CopyOnWriteArrayList和队列相关的内部加锁的并发队列ConcurrentLinkedQueue以及阻塞队列BlockingQueue(LinkedBlockingQueue、ArrayBlockingQueue、DelayQueue、Tr
zl_StepByStep
·
2020-06-30 18:32
Java
面试
Java基础
JavaWeb 并发编程 与 高并发解决方案
在这里写写我学习到和自己所理解的Java
高并发编程
和高并发解决方案。
开发小牛进阶
·
2020-06-30 09:43
JavaWeb
【
高并发编程
】再谈同步、异步、阻塞、非阻塞
同步、异步、阻塞、非阻塞的概念一直是计算机学科中很重要的概念,而这种细微的差别常常被大家混淆,我自己在过一段时间后也需要复习。今天再次翻出这个概念,仍然觉得不够清晰,今天再次深入了解了这四大天王。以前转过一篇博客:http://blog.csdn.net/xxxxxx91116/article/details/12083613但是始终太抽象,每次都要重头看,其次,这篇文章仍然没有很清晰的表达四大天
xxxxxx91116
·
2020-06-30 04:34
操作系统开发篇
生产者和消费的模式的一种实现
1.概念在并发编程中,经常会提到生产者和消费者模式这一概念,这个东西往往是用来提
高并发编程
的效率的。所谓生产者就是产生数据的线程,所谓消费者,就是消费数据的线程。
Solinzon
·
2020-06-30 04:50
other
并发
生产者
消费者
IT学习笔记--Java
高并发编程
1.线程的介绍对计算机来说,每一个任务就是一个进程,在每一个进程内部至少要有一个线程是在运行中,有时线程也称为轻量级的进程。线程是程序执行的一个路径,每一个线程都有自己的局部变量表、程序计数器(指向正在执行的指令指针)以及各自的生命周期。线程启动必须在其中一个任务之前,否则线程将永远得不到启动,因为前一个任务永远不会结束。只用调用了Thread的start方法,才代表派生了一个新的线程,否则与普通
xudasong123
·
2020-06-30 03:00
Java高并发编程
高并发编程
之生产者—消费者设计模式
一、生产者—消费者模式介绍生产者消费者模式是通过一个容器来解决生产者和消费者的强耦合问题。生产者和消费者彼此之间不直接通讯,而通过阻塞队列来进行通讯,所以生产者生产完数据之后不用等待消费者处理,直接扔给阻塞队列,消费者不找生产者要数据,而是直接从阻塞队列里取,阻塞队列就相当于一个缓冲区,平衡了生产者和消费者的处理能力。这个阻塞队列就是用来给生产者和消费者解耦的。二、为什么要使用生产者和消费者模式在
住手丶让我来
·
2020-06-29 03:19
并发
高并发编程
之AtomicReference讲解
一、AtomicReference介绍①.AtomicReference和AtomicInteger非常类似,不同之处就在于AtomicInteger是对整数的封装,而AtomicReference则对应普通的对象引用。也就是它可以保证你在修改对象引用时的线程安全性。②.AtomicReference是作用是对”对象”进行原子操作。提供了一种读和写都是原子性的对象引用变量。原子意味着多个线程试图改
住手丶让我来
·
2020-06-29 03:19
并发
Java
高并发编程
笔记
观老齐《Java
高并发编程
笔记》笔记。老齐的IT加油站网址:http://www.itlaoqi.com/什么是并发并发就是指程序同时处理多个任务的能力。
子游i
·
2020-06-29 02:52
高并发与多线程
Java
高并发编程
---读写锁
前面提到的锁基本都是排他锁,就是在同一时刻只允许一个线程访问的锁。现在有一个新的概念:读写锁。这种锁分离了读和写操作,因而允许在同一时刻多个读线程访问,而只能有一个写线程访问,这一模式使得并发性相比一般的排他锁有了很大的提升。 除了保证写操作对读操作的可见性以及并发性的提升之外,读写锁能够简化读写交互场景的编程方式。 一般情况下,读写锁的性能都会比排它锁好,因为大多数场景读是多于写的。在读多于写
喜三仔
·
2020-06-29 02:26
笔记
年薪50万的Java后端标准,值得参考!
高并发编程
、分布式框架、Spring等常用框架可以说是现在Java后端求职的必备技能。
后端技术精选
·
2020-06-28 21:49
高并发下Java多线程编程基础
Java线程同步与异步线程池无锁化的实现方案分布锁的实现方案分享的目的:进一步掌握多线程编程和应用的技巧,希望对大家在平时的开发中应对
高并发编程
有所帮助Java线程同步与异步1.同步相关的方法有wait
weixin_33923148
·
2020-06-28 08:47
Java
高并发编程
(四)
一、Executor执行器1.Executor接口,java线程池框架中的顶层接口,提供一个execute方法来执行任务importjava.util.concurrent.Executor;publicclassT01_MyExecutorimplementsExecutor{publicstaticvoidmain(String[]args){newT01_MyExecutor().execu
weixin_30918633
·
2020-06-28 02:42
[高并发]Java
高并发编程
系列开山篇--线程实现
Java是最早开始有并发的语言之一,再过去传统多任务的模式下,人们发现很难解决一些更为复杂的问题,这个时候我们就有了并发.引用多线程比多任务更加有挑战。多线程是在同一个程序内部并行执行,因此会对相同的内存空间进行并发读写操作。这可能是在单线程程序中从来不会遇到的问题。其中的一些错误也未必会在单CPU机器上出现,因为两个线程从来不会得到真正的并行执行。然而,更现代的计算机伴随着多核CPU的出现,也就
weixin_30399155
·
2020-06-27 19:45
Java马士兵
高并发编程
视频学习笔记(一)
1.同一个资源,同步和非同步的方法可以同时调用packagecom.dingyu;publicclassY{publicsynchronizedvoidm1(){System.out.println(Thread.currentThread().getName()+"m1begin---------");try{Thread.sleep(5000);}catch(InterruptedExcept
weixin_30237281
·
2020-06-27 15:20
高并发编程
知识体系
1.问题1、什么是线程的交互方式?2、如何区分线程的同步/异步,阻塞/非阻塞?3、什么是线程安全,如何做到线程安全?4、如何区分并发模型?5、何谓响应式编程?6、操作系统如何调度多线程?2.关键词同步,异步,阻塞,非阻塞,并行,并发,临界区,竞争条件,指令重排,锁,amdahl,gustafson3.全文概要上一篇我们介绍分布式系统的知识体系,由于单机的性能上限原因我们才不得不发展分布式技术。那么
wanshibugong119
·
2020-06-27 14:58
Java
高并发编程
之第一阶段,多线程基础深入浅出
汪文君
高并发编程
第一阶段01讲-课程大纲及主要内容介绍汪文君
高并发编程
第一阶段02讲-简单介绍什么是线程汪文君
高并发编程
第一阶段03讲-创建并启动线程汪文君
高并发编程
第一阶段04讲-线程生命周期以及start
wangwenjun69
·
2020-06-27 13:36
java
在ubuntu16下编译openJDK11
又比如java
高并发编程
艺术一书中说final在构造函数return之前会添加一个StoreStore内存屏障,在初次读取前会添加一个LoadLoad内存屏障
xixi和heihei
·
2020-06-27 01:58
ubuntu
java
编译
jvm
调试
Java——一篇文章了解
高并发编程
基础知识点
synchronized关键字synchronized的含义:Java中每一个对象都可以成为一个监视器(Monitor),该Monitor由一个锁(lock),一个等待队列(waitingqueue),一个入口队列(entryqueue).对于一个对象的方法,如果没有synchronized关键字,该方法可以被任意数量的线程,在任意时刻调用。对于添加了synchronized关键字的方法,任意时刻
mrhaoqi
·
2020-06-26 22:17
Java
10本Java网站开发必看书籍,大神级别必修书籍,吐血推荐!!!
《Java并发编程从入门到精通》作者结合自己10多年Java并发编程经验,详细介绍了Java并发编程的基础概念、工作原理、编程技巧和注意事项,对Java高性能
高并发编程
有极大的参考价值。
张振华-Jack
·
2020-06-26 19:14
互联网
JAVA基础
《实战设计模式》
spring
java
web
server
apache
git
《Java
高并发编程
详解-多线程架构与设计》JVM类加载器
摘自《Java
高并发编程
详解-多线程架构与设计》第九章p158-p176文章目录总结1.内置三大类加载器1.1根加载器BoostrapClassLoader1.2扩展类加载器ExtClassLoader1.3
thewindkee
·
2020-06-26 18:06
Java
读书笔记
《Java
高并发编程
详解-多线程架构与设计》线程间的通信
摘自《Java
高并发编程
详解-多线程架构与设计》第五章文章目录同步、异步、阻塞、非阻塞概念Monitor锁wait与notify使用wait的注意事项使用notify的注意例子:测试主动interrupt
thewindkee
·
2020-06-26 18:33
Java
读书笔记
《Java
高并发编程
详解-多线程架构与设计》Java Classloader
摘自《Java
高并发编程
详解-多线程架构与设计》第九章p144-p157Java语言规范文章目录重点:1.类加载的三个过程-简述2.类的主动使用和被动使用主动使用的场景-new,反射,使用静态部分,子导致父初始化被动使用
thewindkee
·
2020-06-26 18:33
Java
读书笔记
《Java
高并发编程
详解-多线程架构与设计》Thread API
摘自《Java
高并发编程
详解-多线程架构与设计》第三章文章目录1.sleep不会释放monitor锁的所有权2.使用TimeUnit.XX.sleep代替Thread.sleep3.yield让出CPU
thewindkee
·
2020-06-26 18:03
Java
读书笔记
在ubuntu16下编译openJDK11
又比如java
高并发编程
艺术一书中说final在构造函数return之前会添加一个StoreStore内存屏障,在初次读取前会添加一个LoadLoad内存屏障
bangiao
·
2020-06-26 17:00
作为java开发工作人员必备的
高并发编程
知识体系
高并发编程
知识体系1.问题1、什么是线程的交互方式?2、如何区分线程的同步/异步,阻塞/非阻塞?3、什么是线程安全,如何做到线程安全?4、如何区分并发模型?5、何谓响应式编程?
java架构大数据浅析
·
2020-06-25 23:40
java
编程语言
高并发编程
java
编程语言
高并发编程
程序员
玩转Java
高并发编程
进程和线程的区别进程是资源分配的最小单位,线程是CPU调度的最小单位进程是一个资源的容器,为进程里的所有线程提供共享资源,是对程序的一种静态描述,线程是计算机最小的调度和运行单位,是对程序的一种动态描述,一静一动,正好组成了完整的程序线程和进程的区别是什么?线程的生命周期创建线程的方式一、继承Thread类创建线程类(1)定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表
喜欢钻研的小白
·
2020-06-25 22:50
高并发编程
系列:NIO的详细介绍,3个核心设计、Java NIO框架选型
高并发编程
系列:NIO的详细介绍,3个核心设计、JavaNIO框架选型优知学院2018-11-1619:29:40谈到并发编程就不得不提到NIO,以及相关的JavaNIO框架Netty等,并且在很多面试中也经常提到
qq_992833908
·
2020-06-25 20:18
多线程与
高并发编程
(六)【容器】
多线程容器一、容器补充知识(主要从多线程的使用角度上讲)1.在物理结构上实际上容器只有两种:数组Array,链表Linked2.在逻辑结构上的容器非常多。3.Collection一共三种List、Set、Queue(多线程最重要的)4.容器发展过程 1)从HashTable到CHM 2)从Vector到Queue 3)sync与cas二、多线程容器1.ConcurrentHashMap()2.Co
啊啊啊能改名不
·
2020-06-25 10:43
多线程与高并发
多线程与
高并发编程
(七)【线程池一】
多线程与
高并发编程
(七)【线程池一】一、线程池前置1.Executor接口executor()2.ExecutorSevice接口,定义了很多线程池的生命周期的方法3.Callable接口(定义了call
啊啊啊能改名不
·
2020-06-25 10:12
多线程与高并发
多线程与
高并发编程
(三)
atomic、sync、longAdder 在大量、特别多并发线程情况下,atomic比sync效率高,longAdder比atomic效率高。 sync慢是因为可能会去申请重量级锁 longAdder内部用了分段锁,分组一起处理,最后合并(比如1000个线程都++,分成四段每段250++,最后四个合并)【只有在特别大并发的情况下才有优势,一般情况下可能还不如其他两种】一、各种同步锁synchr
啊啊啊能改名不
·
2020-06-25 10:12
队列
多线程
java
并发编程
多线程与
高并发编程
(九)
多线程与
高并发编程
(九)一、JMH(测试方法工具)简单介绍1.测试准备步骤2.注解二、Disruptor1.特点:无锁高并发,使用环形Buffer,直接覆盖(不清除)旧的数据,降低GC频率,实现了基于事件的生产者消费者模式
啊啊啊能改名不
·
2020-06-25 10:12
多线程与高并发
java
多线程
多线程与
高并发编程
(一)
一、Thread.sleep()当前线程睡眠指定时间后回到就绪状态(回到等待队列)Thread.yield()当前线程直接回到就绪状态(回到等到队列)Thread.join()让其他线程在此行执行后优先执行,等他执行完了,当前才开始执行this.getState()当前线程的状态(六大状态,runnable自己算一种,下图里面最大的块是runnable状态)禁止stop()方法interrupt(
啊啊啊能改名不
·
2020-06-25 10:12
多线程
高并发编程
(12) -- 阻塞算法实现ArrayBlockingQueue源码分析
一.前言前文探究了非阻塞算法的实现ConcurrentLinkedQueue安全队列,也说明了阻塞算法实现的两种方式,使用一把锁(出队和入队同一把锁ArrayBlockingQueue)和两把锁(出队和入队各一把锁LinkedBlockingQueue)来实现,今天来探究下ArrayBlockingQueue。ArrayBlockingQueue是一个阻塞队列,底层使用数组结构实现,按照先进先出(
码猿手
·
2020-06-25 10:00
JAVA面试总结
主要包括以下几个部分:Java基础知识点Java常见集合
高并发编程
(JUC包)JVM内存管理Java8知识点网络协议相关数据库相关MVC框架相关大数据相关Linux命令相关面试,是大家从学校走向社会的第一步
夏至&未至
·
2020-06-25 09:40
上一页
4
5
6
7
8
9
10
11
下一页
按字母分类:
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
其他