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
高并发编程
详解》第0集
昨天晚上终于阅读完《java
高并发编程
详解》这本书。get到了不少新姿势。
David_lou
·
2018-11-28 19:08
java
并发
编程
Java
高并发编程
详解:多线程与架构设计
网站更多书籍点击进入>>CiCi岛下载电子版仅供预览及学习交流使用,下载后请24小时内删除,支持正版,喜欢的请购买正版书籍电子书下载(皮皮云盘-点击“普通下载”)购买正版封页编辑推荐m立足于线程源码剖析,从基础入手,逐层渐进深入,环环紧扣,针对技术细节进行了细致归纳,在解读源码的时候又引入了优秀的架构设计。m以业务场景下的真实问题作为导向,详细阐述每一个解决方案的来龙去脉,突出“身临其境”的阅读效
CiCi岛
·
2018-11-27 19:59
以抢红包为例带你走进
高并发编程
目录1.写在前面2.模拟超发现象2.1概述2.2数据库建表2.3编写SQL2.4编写Mapper接口2.5编写Service2.6编写Controller2.7模拟用户请求2.8测试超发现象3.解决并发之-悲观锁3.1概述3.2改写Sql3.3测试悲观锁3.4悲观锁存在的问题4.解决并发之-乐观锁4.1概述4.2改写sql4.3乐观锁重入机制4.3.1概述4.3.2代码实现4.4测试乐观锁5.解决
乔治在哪里
·
2018-11-22 20:57
高并发
高并发编程
系列:4大并发工具类的功能、原理、以及应用场景
通常我们所说的并发包也就是java.util.concurrent,集中了Java并发工具类和并发容器等,今天主要介绍Java并发编程的工具类,我先从Java并发工具包谈起。01—并发工具包涵盖范围1.并发工具类提供了比synchronized更加高级的各种同步结构:包括CountDownLatch、CyclicBarrier、Semaphore等,可以实现更加丰富的多线程操作。2.并发容器提供各
jacljh
·
2018-11-12 21:29
java技术
多线程
高并发编程
高并发需掌握点第一部分:synchronizer同步器第二部分:jdk的同步容器concurrentMapconcurrentListCopyOnWriteArrayListblockingQueue等第三部分:ThreadPoolexecutor
清风追梦enjoy
·
2018-11-01 00:52
Java
高并发
Android高级开发必读书单
如何写好的Java代码)Java解惑(介绍烂Java代码是什么样的)(b)多线程、并发Java并发编程实战(系统全面的介绍了Java的并发,如何设计支持并发的数据结构)java多线程编程核心技术Java
高并发编程
详解
CTO_1649900265
·
2018-10-19 10:29
android
Android高级开发必读书单
如何写好的Java代码)Java解惑(介绍烂Java代码是什么样的)(b)多线程、并发Java并发编程实战(系统全面的介绍了Java的并发,如何设计支持并发的数据结构)java多线程编程核心技术Java
高并发编程
详解
CTO_1649900265
·
2018-10-19 10:29
android
Python 经验 - 异步编程与 Asyncio
高并发编程
三个要素:事件循环+IO多路复用+回调函数(驱动生成器,即协程);包括各种特定系统实现的模块化事件循环(select、poll、epoll);传输和协议抽象;对TCP、UDP、SSL、子进程、
千反田爱瑠爱好者
·
2018-10-09 13:19
多线程与
高并发编程
之基础知识(上)
文章目录前言多线程的应用场景自定义线程的实现方式一:继承Thread类方式二:实现Runnable接口方式三:实现Callable接口小结线程的生命周期线程的状态转换线程类Thread源码结尾前言几乎所有的程序员都知道,现代操作系统进行资源分配的最小单元是进程,而操作系统进行运算调度的最小单元是线程,其实,在Linux中线程也可以看作是一种轻量级的进程,那么线程是包含于进程之中的,是进程中实际的运
boker_han
·
2018-10-01 00:00
Java多线程
多线程与并发编程
马士兵老师
高并发编程
之6大线程池
Executor执行器,这是一个接口,内部维护了一个方法execute它负责执行一项任务。参数为Runnable,方法的具体实现由我们自己来执行。如下面的代码,我们既可以使用单纯的方法调用也可以新启一个新的线程去执行Runnable的run方法。importjava.util.concurrent.Executor;publicclassT01_MyExecutorimplementsExecut
Regularization
·
2018-09-15 14:52
java
[转] 《Java并发编程的艺术》笔记
volatile的使用优化:共享变量会被频繁读写时,可以通过追加为64字节以提
高并发编程
的效率。因为目前主流处理器高速缓存行是64个字
Da_n_n_y
·
2018-09-14 11:42
[转] 《Java并发编程的艺术》笔记
volatile的使用优化:共享变量会被频繁读写时,可以通过追加为64字节以提
高并发编程
的效率。因为目前主流处理器高速缓存行是64个字
Da_n_n_y
·
2018-09-14 11:42
马士兵老师
高并发编程
同步容器
手写固定同步容器写一个固定容量同步容器,拥有put和get方法,以及getCount方法,能够支持2个生产者线程以及10个消费者线程的阻塞调用。使用wait与notify思路:使用一个集合来当做生产或者消费的中转站,然后每当生产或者消费的时刻都判断集合的容量,如果不满足条件那么就对这种操作进行阻塞也就是wait同时notify其它的所有线程。当其它线程启动之后也会遇到“不合格的线程”这时候也会阻塞
Regularization
·
2018-09-13 11:45
java
马士兵老师
高并发编程
基础入门(修订版)
锁是指谁?Objecto=newObject();Synchronized(o);我们一般认为Synchronized锁定的是这段代码块但事实上,Synchronized锁定的是锁这个对象。不仅如此Synchronized锁定的是heap内存中的这个对象而不是这个引用。一个例子/***锁定某对象o,如果o的属性发生改变,不影响锁的使用*但是如果o变成另外一个对象,则锁定的对象发生改变*应该避免将锁
Regularization
·
2018-09-05 15:54
java
多线程与
高并发编程
进阶(二)
前言:前文多线程与高并发入门中,已经介绍了多线程编程的目的以及实际应用中可能会遇到的问题,本文接着叙述关于多线程并发机制的底层原理–volatile以及synchronized;一般来说,Java代码从编写到最后的执行会经历以下的过程:Java源代码(.java文件)––Java字节码(.class文件)––汇编指令(CPU执行);Java中的并发机制依赖于JVM以及CPU指令,这些具体的实现原理
boker_han
·
2018-09-03 22:30
Java多线程
多线程与并发编程
多线程与
高并发编程
进阶(一)
前言:使用多线程的目的:充分利用CPU资源,提高程序运行速度使用多线程面临的挑战:上下文切换、死锁、计算机软硬件资源的限制等问题结论:不是一味地开启线程就能够让程序最大限度地并发执行,以及提升执行速度,想利用多线程提升程序运行速度需要结合实际情况考虑上下文切换、死锁以及软硬件资源限制等因素,只有这样才能够合理地使用多线程来提升程序运行效率上下文切换:通过为每个线程分配CPU时间片来实现多线程执行代
boker_han
·
2018-09-03 20:49
Java多线程
多线程与并发编程
Java中如何限制方法访问的并发数
阅读更多并发编程一直是Java基础中的高地,但很多只要有两三年Java基础的工程师,会在简历中很明确的标明“熟悉多线程编程、有
高并发编程
经验”,来凸显自己编程能力有多厉害,但实际上可能只是看了《JavaConcurrencyinPractice
manzhizhen
·
2018-08-04 17:00
Java并发
Java限制并发数
Java中如何限制方法访问的并发数
阅读更多并发编程一直是Java基础中的高地,但很多只要有两三年Java基础的工程师,会在简历中很明确的标明“熟悉多线程编程、有
高并发编程
经验”,来凸显自己编程能力有多厉害,但实际上可能只是看了《JavaConcurrencyinPractice
manzhizhen
·
2018-08-04 17:00
Java并发
Java限制并发数
Java中如何限制方法访问的并发数
并发编程一直是Java基础中的高地,但很多只要有两三年Java基础的工程师,会在简历中很明确的标明“熟悉多线程编程、有
高并发编程
经验”,来凸显自己编程能力有多厉害,但实际上可能只是看了《JavaConcurrencyinPractice
大步流星Java
·
2018-08-04 17:52
Java
高并发编程
-1
概念:1-继承Thread类创建线程类2-通过Runable接口创建线程类3-通过Callable和FutureTask创建线程a.创建Callable接口的实现类,并实现call()方法;b.创建Callable实现类的实例,使用FutureTask类来包装Callable对象,该FutureTask对象封装了该Callback对象的call()方法的返回值;c.使用FutureTask对象作为
_TangGod
·
2018-07-26 10:57
网络
高并发下Java多线程编程基础
Java线程同步与异步线程池无锁化的实现方案分布锁的实现方案分享的目的:进一步掌握多线程编程和应用的技巧,希望对大家在平时的开发中应对
高并发编程
有所帮助Java线程同步与异步1.同步相关的方法有wait
阿里云云栖社区
·
2018-07-24 00:00
高并发
数据库
线程
java
编程语言
java面试
主要包括以下几个部分:Java基础知识点Java常见集合
高并发编程
(JUC包)JVM内存管理Java8知识点网络协议相关数据库相关MVC框架相关大数据相关Linux命令相关面试,是大家从学校走向社会的第一步
TheOne_6e96
·
2018-07-10 01:00
Java
高并发编程
(二):Java并发机制的底层实现机制
Java代码在编译后会变成Java字节码,字节码在之后被类加载机制加载到JVM中,JVM执行字节码,最终需要转换为汇编指令在CPU上执行,Java中所使用的并发机制依赖于JVM的实现和CPU的指令。1深入理解Volatile关键字volatile是轻量级的synchronized,它在处理器开发中保证了共享变量的“可见性”。可见性的意思就是当一个线程修改一个共享变量的时候,另一个线程就能读到这个修
MasterT-J
·
2018-06-28 22:48
Java并发编程
Java高并发编程
Java面试常见问题——
高并发编程
高并发编程
在Java5.0提供了java.util.concurrent(简称JUC)包,在此包中增加了在并发编程中很常用的实用工具类,用于定义类似于线程的自定义子系统,包括线程池、异步IO和轻量级任务框架
zghgchao
·
2018-06-12 15:36
java
秒杀系统设计架构与实现
抢购/秒杀是如今很常见的一个应用场景,是
高并发编程
的一个挑战,在网上也找了一些资料,大部分都是理论,关于java的实现也是很少,就算有也是很简单的demo,为此,决定将此次实现的秒杀系统整理一番,发布出来
javaEE小菜鸟
·
2018-06-11 21:28
面试题(三):
高并发编程
高并发编程
在Java5.0提供了java.util.concurrent(简称JUC)包,在此包中增加了在并发编程中很常用的实用工具类,用于定义类似于线程的自定义子系统,包括线程池、异步IO和轻量级任务框架
Adam`
·
2018-06-04 00:00
♥Java学习♥
Java面试题系列
Java 面试知识点解析(六)——数据库篇
前序文章链接:Java面试知识点解析(一)——基础知识篇Java面试知识点解析(二)——
高并发编程
篇Java面试知识点解析(三)——JVM篇Ja
我没有三颗心脏
·
2018-05-21 14:46
Java 面试知识点解析(五)——网络协议篇
前序文章链接:Java面试知识点解析(一)——基础知识篇Java面试知识点解析(二)——
高并发编程
篇Java面试知识点解析(三)——JVM篇Ja
我没有三颗心脏
·
2018-05-18 16:47
Java 面试知识点解析(四)——版本特性篇
前序文章链接:Java面试知识点解析(一)——基础知识篇Java面试知识点解析(二)——
高并发编程
篇Java面试知识点解析(三)——JVM篇对于
我没有三颗心脏
·
2018-05-17 16:36
[Java
高并发编程
](七)单例模式
本博客根据《Java多线程编程核心技术》和《实战高并发程序设计》总结整理概述单例模式是设计模式中使用最为普遍的模式之一。它是一种对象创建模式,用于产生一个对象的具体实例,它可以确保系统中一个类只产生一个实例。在java中,这样的行为能带来两大好处:对于频繁使用的对象,可以省略new操作花费的时间,这对于那些重量级对象而言,是非常可观的一笔系统开销由于new操作的次数减少,因而对系统内存的使用频率也
王洪玉
·
2018-05-12 18:59
꧁JAVA꧂
Java多线程技术
高并发编程
之面试题一
题目:实现一个容器,提供两个方法,add,size。写两个线程,线程1添加10个元素到容器中,线程2实现监控元素的个数,当个数到5个时,线程2给出提示并结束。程序一,分析下面程序能否实现Listlists=newArrayList(); publicvoidadd(Objecto){ lists.add(o); } publicintsize(){ returnlists.size(); }
迷途未远
·
2018-05-12 00:00
java
高并发
Java 面试知识点解析(二)——
高并发编程
篇
前序文章链接:Java面试知识点解析(一)——基础知识篇(一)
高并发编程
基础知识这里涉及到一些基础的概念,我重新捧起了一下《实战Java高并发程
我没有三颗心脏
·
2018-05-10 20:56
JAVA
高并发编程
synchronized关键字同步方法同步代码块锁的底层实现锁的种类volatile关键字wait¬ifyAtomicXxx类型组CountDownLatch门闩锁的重入ReentrantLock同步容器Map/SetListQueueThreadPool&ExecutorExecutorExecutorServiceFutureCallableExecutorsFixedThreadPoolCa
困境囚徒
·
2018-05-07 00:00
java
Java多线程实现(3)---Callable实现多线程
这个开发包主要是进行
高并发编程
使用。在这个包里新的接口就是所说的接口了。在这个接口里有两个特殊的点:1、Callable接口有返回值2、Callable会抛出异常对比Runnable中的run(
Devil_Net
·
2018-05-03 01:46
java
[Java
高并发编程
](四)Lock的使用之ReentrantReadWriteLock读写锁
本博客根据《Java并发编程的艺术》学习整理而来在之前我们提到的ReentrantLock可重入锁等锁基本上都是排他锁,这些锁在同一时刻只允许一个线程进行访问,而读写锁在同一时刻可以允许多个读线程访问,但是在写线程访问时,所有的读线程和其他写线程均被阻塞。读写锁维护了一对锁,一个读锁和一个写锁,通过分离读锁和写锁,使得并发性相比一般的排他锁有了很大的提升。ReadWriteLock是JDK5中提供
王洪玉
·
2018-04-30 08:11
Java面试题
主要包括以下几个部分:Java基础知识点Java常见集合
高并发编程
(JUC包)JVM内存管理Java8知识点网络协议相关数据库相关MVC框架相关大数据相关Linux命令相关面试,是大家从学校走向社会的第一步
kdy
·
2018-04-26 10:00
Java高级技术第五章——
高并发编程
之从synchronized关键字到事务并发的若干问题
前言前言点击此处查看:http://blog.csdn.net/wang7807564/article/details/79113195synchronized关键字通过该关键字的使用,保证可见性和原子性。synchronized锁定的是一个对象而不是一个变量,由于保证每个经过synchronized修饰后的代码区域只能由一个线程来占有,这种锁也成为互斥锁。这个具体锁定的对象,可以是实例化后的某一
WotChin
·
2018-04-19 17:30
JAVA高级编程系列
并发与
高并发编程
实战04--线程安全性之原子性
定义:当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些进程将如何交替执行,并且在主调代码中不需要任何额外的同步或者协同,这个类都能表现出正确的行为,那么就称这个类是线程安全的.原子性:提供了互斥访问,同一个时刻只能有一个线程来对它操作原子性核心代码compareAndSwapInt简称CAS。不断进行do-while循环直到,当前的值与底层的相等,才进行相加操作可见性:一个线程对主内
听世界在喧嚣
·
2018-04-18 10:09
并发与高并发
Java的
高并发编程
系列(七) ThreadLocal线程局部变量和线程安全的单例模式
ThreadLocal线程局部变量publicclassThreadLocal1{volatilestaticPersonp=newPerson();publicstaticvoidmain(String[]args){newThread(()->{try{TimeUnit.SECONDS.sleep(2);}catch(Exceptione){e.printStackTrace();}Syste
海蓝星上
·
2018-03-29 15:37
java
Java的
高并发编程
系列(四)
实现一个容器,提供两个方法,add,size,写两个线程,线程1添加10个元素到容器中,线程2实现监控元素的个数,当个数到5个时,线程2给出提示并结束,给lists添加volatile之后,t2能够接到通知,但是,t2线程的死循环很浪费cpu,如果不用死循环,该怎么做呢?这里使用wait和notify做到,wait会释放锁,而notify不会释放锁,需要注意的是运用这种方法,必须要保证t2先执行,
海蓝星上
·
2018-03-28 16:39
java
Java的
高并发编程
系列(二)volatile
挥发性关键字,使一个变量在多个线程间可见AB线程都用到一个变量,java默认是A线程中保留一份copy,这样如果B线程修改了该变量,则A线程未必知道,使用volatile关键字,会让所有线程都会读到变量的修改值。在下面的代码中,running是存在于堆内存的t对象中当线程t1开始运行的时候,会把running值从内存中读到t1线程的工作区,在运行过程中直接使用这个copy,并不会每次都去读取堆内存
海蓝星上
·
2018-03-28 16:11
java
10本Java网站开发必看书籍
《Java并发编程从入门到精通》作者结合自己10多年Java并发编程经验,详细介绍了Java并发编程的基础概念、工作原理、编程技巧和注意事项,对Java高性能
高并发编程
有极大的参考价值。
misthee
·
2018-03-14 20:21
Java
高并发编程
——常见的锁及实现方式(2)
1、如何实现锁1.1JAVA同步synchronized关键字加同步格式:synchronized(需要一个任意的对象(锁)){ 代码块中放操作共享数据的代码} synchronized是java中的一个关键字,也就是说是Java语言内置的特性。如果一个代码块被synchronized修饰了,当一个线程获取了对应的锁,并执行该代码块时,其他线程便只能一直等待,等待获取锁的线程释放锁,而这里获取锁
大灰狼学编程
·
2018-03-12 00:00
java学习
谈谈并发编程中的协程
高并发编程
里多线程(进程)的弊端其实从著名的C10K问题的时候,就谈到了
高并发编程
时,采用多线程(或进程)是一种不可取的解决方案,核心原因是因为线程(或进程)本质上都是操作系统的资源,每个线程需要额外占用
灿哥哥
·
2018-03-10 16:23
多线程与
高并发编程
之基础知识(下)
文章目录前言线程调度线程优先级线程调度抢占式线程调度协同式线程调度两种线程调度方式的优缺点结论线程安全线程安全的定义线程安全的分类线程安全问题的解决方法线程安全问题重现synchronized关键字的使用方式synchronized关键字的应用实例synchronized同步锁的使用注意点线程间通信等待通知机制生产者消费者模式总结注意细节前言在多线程与
高并发编程
之基础知识
boker_han
·
2018-03-07 09:40
Java多线程
多线程与并发编程
python服务器
高并发编程
python服务器
高并发编程
1.socket相关概念注意:请别关注图从哪里来,我只是想把知识点讲清楚进程与进程通信的方式[]管道(无名、高级、有名)[]消息队列(messagequeue)[]信号量[]
一手好厨艺的IT民工
·
2018-03-03 10:47
java
高并发编程
-java线程池浅析
java线程池在多线程应用场景中被广泛使用,作此记录以便后面翻看,如发现有错误,烦请大家指正。带着如下问题,我们来了解下java提供的线程池技术1,为什么要用线程池?2,java提供的线程池有哪几种?API怎么用?3,jdk提供的线程池是一个什么原理,其内部是怎么实现的?我们带着这些问题来看一下。首先,为什么要有线程池呢?或者说传统的线程模式存在什么问题需要我们使用线程池?传统的创建和销毁线程是需
江湖萧萧声
·
2018-01-24 23:44
JAVA高并发多线程
高并发编程
-08-Lock
1,回顾到目前,我们讲了3个跟多个线程操作一个资源的技术点,主要涉及以下几个点:synchronized:原子性,重量级锁volatile:可见性,不保证原子性采用JDK提供的原子类2,Lock在JDK1.5后,为我们提供了Lock接口主要有三个特点1,明确加锁和解锁lock(),unlock()publicclassLockTest{privateLocklock=newReentrantLoc
HuangGuiZhao
·
2018-01-13 10:20
高并发
公平锁
Lock
并发编程
马士兵
高并发编程
学习
思考题1:A线程正在执行一个对象中的同步方法,B线程是否可以同时执行同一个对象中的非同步方法?2:同上,B线程是否可以同时执行同一个对象中的另一个同步方法?3:线程抛出异常会释放锁吗?4:volatile和synchronized区别?5:写一个程序,证明AtomXXX类比synchronized更高效6:AtomXXX类可以保证可见性吗?请写一个程序来证明7:写一个程序证明AtomXXX类的多个
Solace_0e71
·
2018-01-13 10:19
高并发编程
-07-JDK提供的原子类操作及原理
1,原子类介绍:针对数据类型的操作,JDK提供的原子类来方便我们的线程安全控制。所有的类保存在java.util.concurrent.atomic包中基本数据类型AtomicInteger数组类型AtomicIntegerArray2,举个使用的例子:解决之前的i++安全性问题如何解决?AtomicIntegercount=newAtomicInteger(0);count.incrementA
HuangGuiZhao
·
2018-01-13 09:05
原子性
Lock
CAS
并发编程
上一页
7
8
9
10
11
12
13
14
下一页
按字母分类:
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
其他