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底层学习
虚拟机、JavaGC、Java并发编程等方面,参考的主要几本书籍有:《深入理解Java虚拟机》——周志明《深入理解Java虚拟机第二版》——美BillVenners《Java性能调优指南》——也是老美的《
Java
爆米花9958
·
2020-07-12 17:32
Java相关
Java
深入理解
Java高并发
编程之synchronized关键字(二)
上一篇文章讲了synchronized的部分关键要点,详见:
Java高并发
编程之synchronized关键字(一)本篇文章接着讲synchronized的其他关键点。
这里一片荒芜
·
2020-07-12 12:44
Java开发
synchronized(
java高并发
下的唯一性验证)
一般会遇到唯一性的问题,比如添加用户要求用户名称或登陆名唯一,我们通常的做法是:先根据条件去数据中查询是否存在,如果存在则提示已经存在了,不允许添加,否则插入。但是这种做法在两种情况下很容易出现问题:1.当添加用户这个过程耗时比较长时,如果两个人同时添加了一个相同名称的用户,低并发的情况下容易两个验证都通过。比如:第一个添加还没有进入数据库,第二个已经通过了验证,准备执行添加操作时。2.当添加用户
tianshi1017
·
2020-07-12 00:00
锁
【
Java高并发
】AQS自定义同步器
【
Java高并发
】AQS原理及其优化一、AQS概述二、基于AQS实现自定义同步器1.基于AQS实现的不可重入的独占锁2.使用自定义锁实现生产—消费模型一、AQS概述AQS队列:线程等待队列,一个FIFO
太阳下的兰花草
·
2020-07-11 23:48
Java基础
java高并发
处理,限制同一接口访问次数
第一种实现方式1、首先在打开拦截器,拦截访问的接口。packagecom.zh.config;importjava.nio.charset.Charset;importjava.util.List;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Config
renkai721
·
2020-07-11 21:35
JAVA
Java高并发
之魂:synchronized深度解析
一、概念1.Synchronized释义: synchronized中文释义使同步化。2.一句话说出Synchronized的作用: 能够保证在同一时刻最多只有一个线程执行某段代码,以达到保证并发安全的效果。3.不使用并发的后果: 案例:两个线程,同时分别对一条数据进行累加10万次。 结果:最终,i值小于20万。 结果分析:i++的过程可分为三步:①从内存中读取i值;②i值加一
Delete丶94
·
2020-07-11 20:45
高并发
高并发
SSM框架项目开发过程整理
SSM框架项目开发过程整理本项目构建自慕课网《
Java高并发
秒杀API》课程系列http://www.imooc.com/course/programdetail/pid/59开发轨迹业务分析DAO层实现接口设计
LeonXu97
·
2020-07-11 15:40
spring
java高并发
、多线程(三)--synchronized
java高并发
、多线程(三)synchronized加锁的方式synchronized的性质synchronized锁升级优化注意事项synchronized先看下面例子:publicclassSynchronizedTest
little_programmer_
·
2020-07-11 11:18
多线程
高并发
java
多线程
Java高并发
--CPU多级缓存与Java内存模型
CPU多级缓存为什么需要CPU缓存:CPU的频率太快,以至于主存跟不上,这样在处理器时钟周期内,CPU常常需要等待主存,浪费了资源。所有缓存的出现是为了缓解CPU和主存之间速度不匹配的问题——将运算所需数据复制到缓存中,使得运算能快速进行;当运算结束后再将缓存同步回内存中,这样处理器无需等待缓慢的内存读写。缓存并非存储了所有的数据,那么它存在的意义是什么?1)时间局部性:如果某个数据被访问,那么它
lemonmini
·
2020-07-11 10:57
高并发
Java架构
多级缓存
Java高并发
之魂:synchronized深度解析 —— 学习笔记
Java高并发
之魂:synchronized深度解析——学习笔记课程链接https://www.imooc.com/learn/1086第2章Synchronized简介代码演示原因分析第3章Synchronized
笑虾
·
2020-07-11 09:13
Java
java高并发
的解决
一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单,随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都有了很高的要求,已经不是
i_sweet
·
2020-07-11 08:33
Feign 核心原理 (图解)
Feign原理(核心图解)疯狂创客圈
Java高并发
【亿级流量聊天室实战】实战系列【博客园总入口】疯狂创客圈正在进行分布式和高并发基础原理的研习,进行已经发布一些基础性的文章:一、版本1:springcloud
疯狂创客圈
·
2020-07-11 04:24
java
Java高并发
分布式项目学习(4)
复盘四4.1Java文件服务器FastDFS的搭建4.11什么是FastDFS?https://github.com/happyfish100/fastdfs4.12主要功能:FastDFS::Filestoring,syncing,accessing(fileuploadingandfiledownloading)文件存储同步访问(上传下载)Resolvethehighcapacityandlo
cfcoolya
·
2020-07-11 03:39
项目
Java高并发
之魂:synchronized深度解析
本文整理自慕课网的讲师悟空老师,教学地址:http://www.imooc.com/learn/1086文章目录一、synchronized简介1synchronized作用1.1官方翻译1.2一句话概括synchronized作用1.3如何实现2synchronized地位3不用并发手段的后果3.1代码实战:两个线程同时a++,最后结果会比预计的少二、synchronized两类用法2.1用法介
_chenyl
·
2020-07-10 18:05
并发
Java高并发
编程学习--10. synchronized的缺陷
一、synchronized的缺陷测试代码packagecommunication;importjava.util.concurrent.TimeUnit;/***@ClassNameSynchronizedDefect*@DescriptionTODO*synchronized的缺陷:*1.无法控制阻塞的时长*2.阻塞不可被中断*@AuthorCays*@Date2019/3/148:40*@V
毕九生
·
2020-07-10 18:23
java
一文看透
Java高并发
:Synchronized锁的性质、原理及其缺陷
前置知识了解Java基本语法了解多线程基本知识知识介绍Synchronized简介:作用、地位、不控制并发的后果两种用法:对象锁和类锁多线程访问同步方法的7种情况:是否是static、Synchronized方法等Synchronized的性质:可重入、不可中断原理:加解锁原理、可重入原理、可见性原理Synchronized的缺陷:效率低、不够灵活、无法预判是否成功获取锁常见问题:如何选择Lock
Java坑太深
·
2020-07-10 15:49
JAVA高并发
JAVA高级互联网架构师大型分布式电商项目实战
最全精品JAVA高级互联网架构师,微服务,高并发,分布式,性能优化,高可用,集群部署,源码解读,设计模式,数据结构,服务器,数据库,持续集成,自动化部署落地,项目实战,团队协作,大厂高薪面试系列视频教程技术涵盖但不限于--SpringBootSpringCloudSpring5MybatisRabbitMQRedisMongodbDubboZookeeperKafkaJvmNginxTomcatD
weixin_47574072
·
2020-07-10 11:33
java高并发
编程(一)
读马士兵
java高并发
编程,引用他的代码,做个记录。
weixin_33901641
·
2020-07-10 07:20
Java高并发
之ReentrantLock、读写锁
1.可重入锁ReentrantLock①重进入之前在学习同步器时,实现了独占锁Mutex。该锁存在一个缺陷:当一个线程调用Mutex的lock()方法获取锁之后,如果再次调用Mutex的lock()方法获取该锁,该线程将会被阻塞。即Mutex不支持重进入,在实现时没有考虑到占有锁的线程再次获取锁的场景。synchronized支持隐式的重进入,在递归调用synchronized方法时,不会发生阻塞
晓之木初
·
2020-07-10 05:12
java相关
浅析
Java高并发
下的ReadWriteLock读写锁
对于高频读/低频写的应用场景,使用Lock或者使用synchronized来做同步显然是不太合理的,那么有其他的方式来提高并发性能吗?在Java的并发包中有许多功能不同的类,今天我们介绍其中的一个,读写锁ReadWriteLock。这种锁在工作中应用场景非常广泛,普遍的使用场景是:对于读多写少的场景。经常用到的例如存储元数据,缓存基础数据等等,这些都是典型的读多写少的应用场景。使用缓存可以极大提升
冲天猴Corbett
·
2020-07-09 23:19
Java
Web
java
并发编程
jdk1.8 hashmap多线程put不会造成死循环
今天在看《
java高并发
程序设计》的时候,书中提到“但是这个(hashmap)死循环的问题在jdk8中已经不存在了。
impbb
·
2020-07-09 22:13
java
实战
Java高并发
程序设计之ReadWriteLock
ReadWriteLock维持着一对关联的锁.一个仅仅为读操作,一个仅仅为写操作.只要没有写操作,读锁不是互斥的.然而写锁是互斥的所有ReadWriteLock实现必须保证writeLock操作的内存同步效果对于相关的readLock而言也是一样的.也就是说,一个线程成功获取读锁定将会看到在之前释放的写锁定所做的所有更新.读写分离锁可以有效的帮助减少锁竞争,以提升性能。用锁分离的机制来提升性能非常
MJ丶
·
2020-07-09 20:04
读书笔记
诺禾;诺禾阐述
java高并发
JavaSpring高级进阶2020-05-3110:30:00Java并发包有很大一部分内容都是关于并发容器的,因此学习和搞懂这部分的内容很有必要。Java1.5之前提供的同步容器虽然也能保证线程安全,但是性能很差,而Java1.5版本之后提供的并发容器在性能方面则做了很多优化,并且容器的类型也更加丰富了。下面我们就对比二者来学习这部分的内容。一、同步容器及其注意事项Java中的容器主要可以分为
百度刘超
·
2020-07-09 13:29
诺禾
9.实战
java高并发
程序设计(全书总结)
1.了解同步(Synchronous)异步(Asynchronous)的区别同步方法调用一旦开始,调用者必须等到方法调用返回后,才能继续后续的行为。异步方法调用更像一个消息传递,一旦开始,方法调用就会立即返回,2.并发(Concurrency)和并行(Parallelism)的区别并行的多个任务是真的同时执行,而对于并发来说,这个过程只是交替的,一会儿执行任务A,一会儿执行任务B,系统会不停地在两
sunhyly
·
2020-07-09 13:43
并发编程
2.实战
java高并发
程序设计--java并行程序基础
2.1有关线程你必须知道的事进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。用一句简单的话来说,你在Windows中看到的后缀为.exe的文件都是程序。不
sunhyly
·
2020-07-09 13:43
并发编程
并发编程
Java高并发
编程——常见问题、举例(3)
1、深入理解synchronized关键字synchronized锁住的是对象你是怎么理解synchronized的呢?看看以下的一段代码,synchronized锁住的是花括号里面的代码吗?其实synchronized锁住的是一个对象(即以下代码的o对象)。publicclassT{privateintcount=10;privateObjecto=newObject();publicvoidm
大灰狼学编程
·
2020-07-09 12:19
java学习
(必备技能)玩转
java高并发
系列,估计有50篇,已连载17篇
java高并发
系列
java高并发
系列-第1天:必须知道的几个概念
java高并发
系列-第2天:并发级别
java高并发
系列-第3天:有关并行的两个重要定律
java高并发
系列-第4天:JMM相关的一些概念
java
a502297457760202
·
2020-07-09 12:54
Java高并发
编程案例
文章目录synchronized关键字对象加锁修饰方法锁定静态方法同步和非同步方法同时调用脏读可重入锁异常释放锁同步监视器变化volatile线程之间的可见性对比synchronizedAtomXXX淘宝面试题Reentrantlock生产者--消费者使用wait+notify使用Lock+ConditionThreadLocal同步容器ConcurrentMapCopyOnWriteArrayL
TJtulong
·
2020-07-09 12:36
高并发
JAVA高并发
(JUC)之ThreadPool线程池api及工作原理简析
这次讲解的是JUC的线程池,对于ThreadPool,我们可以理解为已经为我们创建了一堆线程,然后再让这些线程去做我们指定的事情。首先先看看继承图:Executors创建线程的三种方法:ExecutorServicethreadPool=Executors.newFixedThreadPool(5);//固定容量ExecutorServicethreadPool=Executors.newSing
每天多学一dd
·
2020-07-09 11:42
高并发
javase
全网最全—1.5w字的
Java高并发
相关知识点梳理和研究(建议收藏)
1.知识点思维导图(图比较大,可以右键在新窗口打开)2.经典的wait()/notify()/notifyAll()实现生产者/消费者编程范式深入分析&synchronized注:本节代码和部分分析参考了你真的懂wait、notify和notifyAll吗。看下面一段典型的wait()/notify()/notifyAll()代码,对于值得注意的细节,用注释标出。importjava.util.A
IT茶馆技术斋
·
2020-07-09 11:56
Java高并发
编程基础
注:该篇文章已与我的个人博客同步更新。欢迎移步https://cqh-i.github.io/体验更好的阅读效果。进程进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程。比如在Windows系统中,一个运行的exe就是一个进程。线程线程是指进程中的一个执行路径,一个进程中可以运行多个线程。同一类的线程共享代码和数据空间,每个线程使用其所属进程的栈空间。
DreamflyChen
·
2020-07-09 10:34
Java
Java高并发
编程学习笔记(二)-并发基础
1.CPU多级缓存左图为最简单的高速缓存的配置,数据的读取和存储都经过高速缓存,CPU核心与高速缓存有一条特殊的快速通道;主存与高速缓存都连在系统总线上(BUS)这条总线还用于其他组件的通信在高速缓存出现后不久,系统变得越来越复杂,高速缓存与主存之间的速度差异被拉大,直到加入了另一级缓存,新加入的这级缓存比第一缓存更大,并且更慢,而且经济上不合适,所以有了二级缓存,甚至是三级缓存CPU多级缓存为什
薛定谔的猫_1406
·
2020-07-08 19:39
Java高并发
异步Socket编程
为什么80%的码农都做不了架构师?>>>Java可扩展IODougLee大纲可扩展的网络服务事件驱动Reactor模式基础版多线程版其他变体java.io包中分阻塞IOAPI一览网络应用服务器Web服务器,分布式对象系统等等它们的共同特点Read请求解码请求报文业务处理编码响应报文发送响应实际应用中每一个步骤的不一样XML解析文件传输动态生成网页计算型服务经典的服务设计每个线程运行一个handle
weixin_34050519
·
2020-07-08 16:26
java高并发
锁的三种实现
提到锁大家会想到Synchronized同步关键字,使用它确实可以解决一切并发问题,但是对于体统吞吐量要求更高,在这里提供了几个小技巧。帮助大家减少锁粒度。提高系统的并发能力一、乐观锁试用场景:读不会冲突、写会冲突、同时读的频率远远大于写二、乐观锁一、定义1.悲观锁:即很悲观,每次拿数据的时候都觉得数据会被人更改,所以拿数据的时候就把这条记录锁掉,这样别人就没法改这条数据了,一直到你的锁释放。2.
weixin_30480583
·
2020-07-08 13:52
分布式高并发IM服务器从零架构思想 (一)
,防止到开发的时候遗忘,如对大家有帮助,同样欢迎留言探讨(作者孔令宽2012年毕业于山科从事Android原生/混合开发、前端VUE富客户端开发、JAVA后台开发等相关领域,目前专注于基于Netty的
JAVA
孔令宽
·
2020-07-08 12:45
分布式高并发IM服务器
Java高并发
之锁总结、常见的面试问题
1.锁的分类①乐观锁与悲观锁悲观锁:对共享数据进行访问时,悲观锁总是认为一定会有其他线程修改数据。如果不加锁,肯定会出问题。因此,悲观锁无论是否出现共享数据的争用,在访问数据时都会先加锁。Java中同步互斥都是采用这种悲观的并发策略,synchronized关键字和Lock接口的实现类都是悲观锁。乐观锁:对共享数据进行访问时,乐观锁总是认为不会有其他线程修改数据修改数据。于是直接执行操作,只是在更
晓之木初
·
2020-07-08 11:06
java相关
GitHub上260K Stars的P8架构师纯手写的
Java高并发
编程详解
本书围绕Java编程中多线程编程的基础与应用设计分为四个部分来展开讲解,包括多线程技术知识、JavaClassLoader、深入理解volatile关键字、多线程设计架构模式。Java编程语言是工业级的编程语言,在诸多应用、诸多场景下被广泛使用,多线程技术作为Java语言和应用的基础能力,对其的学习、理解和掌握,不仅仅能够提升我们的技能,更能作为我们更好地理解面向对象编程、并发编程、高性能编程、分
java搬砖工人
·
2020-07-07 14:00
LinkedBlockingQueue vs ConcurrentLinkedQueue
点击上方IT牧场,选择置顶或者星标技术干货每日送达1.简单的开篇LinkedBlockingQueue和ConcurrentLinkedQueue是
Java高并发
场景中最常使用的队列。
ITMuch.com
·
2020-07-07 13:06
Java高并发
解决方案
Java高并发
解决方案对于我们开发的网站,如果网站的访问量非常大的话,那么我们就需要考虑相关的并发访问问题了。
林中轩
·
2020-07-07 03:43
Java
Java 线程与并发
索引目录1.基本概念NO.CHAPTER1Java并行与并发2Java进程与线程3JavaThread类4Java创建线程5Java线程池6Java线程的状态与转换7
Java高并发
及线程安全8Java关键字
Regino
·
2020-07-07 00:04
Java
java
多线程
[java并发]
java高并发
系列 - 第25天:掌握JUC中的阻塞队列
原文链接:查看原文感谢公众号“路人甲Java”的分享,如有冒犯,请联系删除,快去关注他吧本文主要内容:掌握Queue、BlockingQueue接口中常用的方法介绍6种阻塞队列,及相关场景示例重点掌握4种常用的阻塞队列Queue接口队列是一种先进先出(FIFO)的数据结构,java中用Queue接口来表示队列。Queue接口定义了6个方法:publicinterfaceQueueextendsCo
Aran_
·
2020-07-06 20:41
Java
#
Java并发
每天花四小时看这些java、spring、Redis、JVM、分布式、高并发
精选
JAVA高并发
分布式架构课程视
weixin_46062001
·
2020-07-06 06:19
java高并发
系统之异步非阻塞
2019独角兽企业重金招聘Python工程师标准>>>同步阻塞调用即串行调用,响应时间为所有服务的响应时间总和;publicclassTest{publicstaticvoidmain(String[]args)throwsException{RpcServicerpcService=newRpcService();HttpServicehttpService=newHttpService();/
weixin_33971130
·
2020-07-05 23:09
Java高并发
分析介绍
一、线程和线程池1.线程池介绍如果每个任务都新开一个线程,并且还需要销毁开销太大,不需要给每个任务都开一个线程,可以线程复用避免反复开启和销毁线程;在任务少时可以维护固定数量线程,任务多会有最大线程数以及任务队列,动态扩容和缩容应对突发流量以及资源利用率。2.线程池创建和停止线程池2.1参数介绍corePoolSize:一直会保持的线程数,对每一个到来的任务只要没有空闲线程就会创建;maxPool
下一秒,待续
·
2020-07-05 14:36
高并发系统
Java高并发
系统的限流策略
概要在大数据量高并发访问时,经常会出现服务或接口面对暴涨的请求而不可用的情况,甚至引发连锁反映导致整个系统崩溃。此时你需要使用的技术手段之一就是限流,当请求达到一定的并发数或速率,就进行等待、排队、降级、拒绝服务等。在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。缓存缓存比较好理解,在大型高并发系统中,如果没有缓存数据库将分分钟被爆,系统也会瞬间瘫痪。使用缓存不单单能够提升系统访问速度
MichaelSongs
·
2020-07-05 14:25
分布式
001--
java高并发
初步
一般说的
java高并发
,基本是讲3个方面的01,同步,包括synchronized和各种锁02,同步容器,比如ConcurrentHashMap等03,线程池01,synchronized跟ReentrantLock
song_suo
·
2020-07-05 11:03
java2
图灵学院:
Java高并发
之BlockingQueue
1:BlockingQueue继承关系java.util.concurrent包里的BlockingQueue是一个接口,继承Queue接口,Queue接口继承CollectionBlockingQueue----->Queue-->Collection图:队列的特点是:先进先出(FIFO)2:BlockingQueue的方法BlockingQueue具有4组不同的方法用于插入、移除以及对队列中的
Java这点事
·
2020-07-05 09:27
【
Java高并发
学习】读写锁、倒计时器、LockSupport、线程池
1.ReadWriteLock读写锁JDK5中提供了读写锁,可以有效地减少锁竞争提高性能。比如线程A1、A2、A3进行写操作,B1、B2、B3进行读操作,在使用重入锁、内部锁(synchronized)时,理论上所有的读之间、写之间、读写之间都是串行的。当B1在进行读操作时,B2、B3也得等待B1的锁资源释放,但是读操作并不会破坏数据的完整性,这种等待便没有了意义。读写读非阻塞阻塞写阻塞阻塞imp
炒熟的番茄
·
2020-07-05 04:21
Java高并发
Java高并发
编程(十):Java并发工具类
1.等待多线程完成的CountDownLatchCountDownLatch允许一个或多个线程等待其他线程完成操作。1.1应用场景假如有这样一个需求:我们需要解析一个Excel里多个sheet的数据,此时可以考虑使用多线程,每个线程解析一个sheet里的数据,等到所有的sheet都解析完之后,程序需要提示解析完成。1.2CountDownLatch实现原理publicvoidawait()thro
MasterT-J
·
2020-07-05 03:51
Java并发编程
Java高并发编程
java高并发
之有返回值的多线程并发
需求:工作流策略的一个节点,需要查询13个第三方的数据,并返回查询结果变量,由于时间的要求,必须实现并行查询,而且要求13个查询全部完成才能返回工作流节点。实现在节点创建13个线程并实现由返回值的线程并发。以下是实现参考的例子JAVA多线程实现的四种方式Java多线程实现方式主要有四种:继承Thread类、实现Runnable接口、实现Callable接口通过FutureTask包装器来创建Thr
li_ch_ch
·
2020-07-05 02:53
高并发
上一页
8
9
10
11
12
13
14
15
下一页
按字母分类:
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
其他