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高并发
之synchronized详解
1.synchronized(java并发编程中的元老,重量级锁)1synchronized提供了一种锁的机制、能够保证共享变量的互斥,保证数据唯一性.2synchronized包含了monitorenter和monitorexit两个JVM指令,monitorenter保证了任何执行到monitorenter之前的数据都要从主内存中获取,monitorexit保证了任何执行结束的都要把数据刷新到
沉默的hello world
·
2020-10-15 16:14
JAVA高并发
Java 高并发之无锁(CAS)
Java高并发
之无锁(CAS)本篇主要讲Java中的无锁CAS,无锁顾名思义就是以不上锁的方式解决并发问题,而不使用synchronized和lock等。。
Aska小强
·
2020-10-11 10:16
java
Java相关
Java容器底层原理
Java高并发
内容JVM一.容器底层原理ArrayList由数组实现,初始化数组长度,每次增加都会变成之前的1.5倍(扩容)。
Entry_1
·
2020-10-10 06:09
Java高并发
面试题夺命40问,30多家公司高频面试题总结附答案。
1、线程与进程的区别?进程是操作系统分配资源的最小单元,线程是操作系统调度的最小单元。一个程序至少有一个进程,一个进程至少有一个线程。2、什么是多线程中的上下文切换?多线程会共同使用一组计算机上的CPU,而线程数大于给程序分配的CPU数量时,为了让各个线程都有执行的机会,就需要轮转使用CPU。不同的线程切换使用CPU发生的切换数据等就是上下文切换。这里也整理了2020年最新的面试题,需要的朋友可以
程序员三金
·
2020-09-28 17:13
读书笔记
Java技术
java
面试
多线程
高并发
队列
Java高并发
——设计线程安全的类
设计线程安全的类将现有的线程安全的组件组合为更大规模的组件或程序。通过使用封装技术可以使得在不对整个程序进行分析的情况下就可以判断一个类是否是线程安全的。1基本要素1.1找出对象状态的所有变量如果对象中所有的域都是基本类型的变量,那么这些域将构成对象的全部状态如果对象的域中引用了其他对象,那么改对象的状态包括被引用的对象的域final域越多越能简化对象可能状态的分析过程。1.2找出约束状态变量的不
Java_supermanNO1
·
2020-09-17 15:47
并发编程
Java
并发
后端开发
程序人生
架构师之路
Java高并发
编程实战(一)
线程池线程和进程的区别是什么?线程的生命周期线程池的组成部分任务队列拒绝策略(抛出异常,直接丢弃,阻塞,临时队列)初始大小init(最少线程个数)min活跃大小active最大线程个数max关系:min{System.out.println(SingletonObject7.getInstance());});thread[i].start();}}}waitsetpublicclassWaitS
喜欢钻研的小白
·
2020-09-17 14:08
Java
Java虚拟机
设计模式
并发编程
java
多线程
java高并发
1、HTML静态化其实大家都知道,效率最高、消耗最小的就是纯静态化的html页面,所以我们尽可能使我们的网站上的页面采用静态页面来实现,这个最简单的方法其实也是最有效的方法。但是对于大量内容并且频繁更新的网站,我们无法全部手动去挨个实现,于是出现了我们常见的信息发布系统CMS,像我们常访问的各个门户站点的新闻频道,甚至他们的其他频道,都是通过信息发布系统来管理和实现的,信息发布系统可以实现最简单的
kangpan康盼
·
2020-09-16 16:47
java
java高并发
的解决方案
一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单,随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都有了很高的要求,已经不是
Yee丶
·
2020-09-16 15:27
并发编程
自定义ClassLoader案例
首先说明,本文是参考《
Java高并发
编程详解》一书总结的。
说的就是你吧
·
2020-09-16 01:38
代码片段
classloader
java高并发
系列 - 第11天:线程中断的几种方式
java高并发
系列第11篇文章。本文主要探讨一下中断线程的几种方式。
a502297457760202
·
2020-09-15 07:35
Java多线程系列——从菜鸟到入门
参考自Java多线程系列目录(共43篇)、《Java并发编程实战》、《实战
Java高并发
程序设计》、《Java并发编程的艺术》。
weixin_34088583
·
2020-09-14 20:02
JAVA高并发
解决思路
对于开发的人来说,如果项目访问量非常大的话,那么我们就需要考虑相关的并发访问问题了。项目访问量非常大会引起服务器崩溃。为了应对这些高并发的问题,我们总需要做点什么?今天我们来介绍一下解决高并发的几个思路。1.垂直扩容提升并发的最好的办法,便是提升硬件,垂直扩容(纵向扩展)提高单个服务(服务器、数据库)自身能力水平扩容(横向扩展)增加更多服务成员但会增加网络、数据库IO开销、管理多个服务器的难度2.
冥王星开发
·
2020-09-13 23:01
高并发
技巧
java
Java高并发
实现限流算法
介绍1.常见限流算法常用的限流算法有:令牌桶,漏桶、滑动窗口算法。2.市面上常用实现限流框架有Nginx+Lua、Guava、Hystrix等令牌桶算法原理以规定的速率往令牌桶中存入Token,用户请求必须获取到令牌中的Token才可以处理请求,如果没有从令牌桶中获取到令牌则丢失该请求。例如:令牌桶中最多只能存放20个Token,以规定速率存入Token实现在高并发情况下限流优势:控制请求的速率匀
xiaobo5264063
·
2020-09-13 14:00
java高并发
-并行模式(下).md
高性能的生产者-消费者:无锁的实现在上文中,BlockingQueue用于实现生产者-消费者,其作为生产者和消费者的内存缓冲区,目的是为了方便共享数据,但BlockigQueue并不是一个高性能的实现,它完全使用锁和阻塞来实现线程间的同步,在高并发的场合下,它的性能不是很优越,ConcurrentLinkedQueue是一个高性能的队列,其秘诀在于大量使用了无锁的CAS操作;阻塞方式是指:当试图对
zhlflylinux
·
2020-09-13 09:01
java
高并发
Java高并发
之AQS的实现分析(同步队列、独占式与共享式获取与释放同步状态)
从同步器的同步队列、独占式获取和释放同步状态、共享式获取和释放同步状态等核心数据结构和模板方法,分析同步器的实现。1.同步队列①同步队列的基本结构同步器依赖内部的同步队列(一种FIFO双向队列)实现同步状态的管理:当前线程获取同步状态失败,同步器将当前线程和等待状态等信息封装成Node节点,添加到同步队列的尾部。同时,会阻塞当前线程。同步状态释放,会唤醒同步队列的首节点中的线程,使其再次尝试获取同
晓之木初
·
2020-09-13 09:46
java相关
java高并发
之CompletionService优化多线程并发
没看过上个帖子的可以看看
java高并发
之有返回值的多线程并发上一个帖子的实现是执行Callable任务后,可以获取一个Future的对象,在该对象上调用get就可以获取到Callable任务返回的Object
li_ch_ch
·
2020-09-13 08:47
高并发
多线程
并发
优化
java
线程并发java
java高并发
系列-第3天:有关并行的两个重要定律
java高并发
系列第3篇文章,一个月,咱们一起啃下
java高并发
,欢迎留言打卡,一起坚持一个月,拿下
java高并发
。有关为什么要使用并行程序的问题前面已经进行了简单的探讨。
路人甲Java
·
2020-09-13 08:11
纠正了:Feign 默认不用 短连接
Feign默认不是短连接疯狂创客圈
Java高并发
【亿级流量聊天室实战】实战系列【博客园总入口】疯狂创客圈(笔者尼恩创建的高并发研习社群)Springcloud高并发系列文章,将为大家介绍三个版本的高并发秒杀
疯狂创客圈
·
2020-09-13 08:04
java
基于Socket的服务端多线程模式——服务端和客户端代码
本文代码来源于《实战
java高并发
程序设计》葛一鸣郭超著学习这本书的过程中,感觉这一部分比较重要,自己做下总结,也希望能给大家提供些帮助。
相由心生fhy
·
2020-09-12 18:05
Java
Java高并发
秒杀项目
Java高并发
秒杀项目项目代码见github,欢迎issue、fork、star。
smile__su
·
2020-09-12 16:12
Java高并发秒杀项目
高并发
java
秒杀
Java高并发
,如何解决,什么方式解决
对于我们开发的网站,如果网站的访问量非常大的话,那么我们就需要考虑相关的并发访问问题了。而并发问题是绝大部分的程序员头疼的问题,但话又说回来了,既然逃避不掉,那我们就坦然面对吧~今天就让我们一起来研究一下常见的并发和同步吧。为了更好的理解并发和同步,我们需要先明白两个重要的概念:同步和异步1、同步和异步的区别和联系所谓同步,可以理解为在执行完一个函数或方法之后,一直等待系统返回值或消息,这时程序是
huangkai2012
·
2020-09-12 10:06
Java高并发
系列第二讲 并发级别
由于临界区的存在,多线程之间的并发必须受到控制。根据控制并发的策略,我们可以把并发的级别分为阻塞、无饥饿、无障碍、无锁、无等待几种。阻塞一个线程是阻塞的,那么在其他线程释放资源之前,当前线程无法继续执行。当我们使用synchronized关键字或者重入锁时,我们得到的就是阻塞的线程。synchronize关键字和重入锁都试图在执行后续代码前,得到临界区的锁,如果得不到,线程就会被挂起等待,直到占有
易兮科技
·
2020-09-12 10:39
Java高并发系列
多线程
java
Java高并发
系列第三讲 有关并行的两个重要定律
有关为什么要使用并行程序的问题前面已经进行了简单的探讨。总的来说,最重要的应该是处于两个目的。第一,为了获得更好的性能;第二,由于业务模型的需要,确实需要多个执行实体。在这里,我将更加关注第一种情况,也就是有关性能的问题。将串行程序改造为并发程序,一般来说可以提高程序的整体性能,但是究竟能提高多少,甚至说究竟是否真的可以提高,还是一个需要研究的问题。目前,主要有两个定律对这个问题进行解答,一个是A
易兮科技
·
2020-09-12 10:39
java
高并发
Java高并发
系列第四讲 JMM相关的一些概念
JMM(java内存模型),由于并发程序要比串行程序复杂很多,其中一个重要原因是并发程序中数据访问一致性和安全性将会受到严重挑战。如何保证一个线程可以看到正确的数据呢?这个问题看起来很白痴。对于串行程序来说,根本就是小菜一碟,如果你读取一个变量,这个变量的值是1,那么你读取到的一定是1,就是这么简单的问题在并行程序中居然变得复杂起来。事实上,如果不加控制地任由线程胡乱并行,即使原本是1的数值,你也
易兮科技
·
2020-09-12 10:39
Java高并发系列
java
多线程
Java高并发
第一讲 经典易混淆的基础概念
经典易混淆的基础概念1.同步(Synchronous)和异步(Asynchronous)同步和异步通常来形容一次方法调用,同步方法调用一旦开始,调用者必须等到方法调用返回后,才能继续后续的行为。异步方法调用更像一个消息传递,一旦开始,方法调用就会立即返回,调用者就可以继续后续的操作。而异步方法通常会在另外一个线程中“真实”地执行。整个过程,不会阻碍调用者的工作。上图中显示了同步方法调用和异步方法调
易兮科技
·
2020-09-12 10:03
Java高并发系列
java
多线程
并发编程
Java高并发
秒杀系统(一)
1开场白1.1项目概述重点:缓存+异步+分布式+优雅的代码1.2项目开发环境与框架搭建基于SpringBoot搭建项目SpringMVC配置繁多,而SpringBoot只有一个配置文件application.properties参考:《SpringBoot入门教程》1.2.1集成MyBatis参考文档@Transactional@
[email protected]
下部署Redis参考:
闲狗
·
2020-09-11 20:06
Concurrent
Programming
Openresty 的安装(图文死磕)
疯狂创客圈
Java高并发
【亿级流量聊天室实战】实战系列【博客园总入口】架构师成长+面试必备之高并发基础书籍【NettyZookeeperRedis高并发实战】前言Crazy-SpringCloud微服务脚手架
疯狂创客圈
·
2020-09-11 19:56
java
Springboot Websocket 推送(高性能版本)
疯狂创客圈
Java高并发
【亿级流量聊天室实战】实战系列【博客园总入口】架构师成长+面试必备之高并发基础书籍【NettyZookeeperRedis高并发实战】什么是Netty?
疯狂创客圈
·
2020-09-11 19:56
java
Java高并发
系列——检视阅读
Java高并发
系列——检视阅读参考
java高并发
系列liaoxuefengJava教程CompletableFutureAQS原理没讲,需要找资料补充。
卡斯特梅的雨伞
·
2020-09-11 16:00
Java高并发
服务器编程NIO(基础篇)
前言为了实现更高的并发性能,避免单一访问阻塞通讯节点。在java中使用Channel的方式进行。利用Selector作为访问事件的触发,管理多个操作队列,如Read、Write、Connection、Accept等。不同的操作分配给不同的线程进行。实现服务器的并发访问。提供一个简单的设计思路。线程职责接受事件Accept#0启动服务器端口,监听客户传来的连接请求。接收请求以后,对客户的连接进行设置
CplusydanFnew
·
2020-09-11 06:14
编程指南
java高并发
学习01——进程、线程、协程
1.进程、线程、协程1.1进程伪并行:在单处理器系统中,CPU由一个进程快速切换到另一个进程,使每个进程各运行几十或几百毫秒——严格来说,在某一个瞬间,CPU只能运行一个进程。但在1秒钟内,它可能运行了多个进程,这样就产生了并行的错觉,这种情形就被称为伪并行,以此来区分多出力系统的真正硬件并行。1.1.1进程模型在进程模型中,计算机上所有可运行的软件(包括操作系统),被组织成若干顺序进程,简称为进
bigkai12138
·
2020-09-10 17:19
高并发
java
并发编程
Java高并发
,如何解决,什么方式解决
对于我们开发的网站,如果网站的访问量非常大的话,那么我们就需要考虑相关的并发访问问题了。而并发问题是绝大部分的程序员头疼的问题,但话又说回来了,既然逃避不掉,那我们就坦然面对吧~今天就让我们一起来研究一下常见的并发和同步吧。为了更好的理解并发和同步,我们需要先明白两个重要的概念:同步和异步1、同步和异步的区别和联系所谓同步,可以理解为在执行完一个函数或方法之后,一直等待系统返回值或消息,这时程序是
寒风情
·
2020-08-26 23:06
高并发
高性能
高可用
java高并发
12——同步块
AJavasynchronizedblockmarksamethodorablockofcodeassynchronized.Javasynchronizedblockscanbeusedtoavoidraceconditions.Java同步块让一个方法或者代码块成为同步的。Java同步块被用于避免发生竞争条件。TheJavasynchronizedKeywordJavasynchornized
路人甲的路人乙
·
2020-08-26 14:28
java
Java高并发
编程:同步工具类
内容摘要这里主要介绍了java5中线程锁技术以外的其他同步工具,首先介绍Semaphore:一个计数信号量。用于控制同时访问资源的线程个数,CyclicBarrier同步辅助类:从字面意思看是路障,这里用于线程之间的相互等待,到达某点后,继续向下执行。CountDownLatch同步辅助类:在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。犹如倒计时计数器,然后是Exchang
Jack-Chan
·
2020-08-26 12:27
Java高并发编程
《
Java高并发
程序设计》总结--5. 并行模式与算法
1.探讨单例模式它是一种对象创建模式,用于产生一个对象的具体实例,确保系统中一个类只有一个实例。这样带来的好处主要有两点:1.对于频繁使用的对象,可以省略new操作花费的时间,这样对于那些重量级对象而言,可以节省非常可观的一笔系统开销。2.由于new操作的次数减少,因而对系统内存的使用频率也会降低,这将减轻GC压力,缩短GC停顿时间。下面给出了一个单例的实现,这个实习生非常简单的,但无疑是一个正确
南方使徒行者
·
2020-08-26 07:11
Java
秒懂:JMeter 使用 http 长连接
秒懂:JMeter中http长连接疯狂创客圈
Java高并发
【亿级流量聊天室实战】实战系列【博客园总入口】疯狂创客圈(笔者尼恩创建的高并发研习社群)Springcloud高并发系列文章,将为大家介绍三个版本的高并发秒杀
疯狂创客圈
·
2020-08-25 17:40
java
还不懂
Java高并发
的,建议看看这篇阿里大佬的总结,写的非常详细
前言进程是计算机中程序关于某几何数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。是操作系统结构的基础线程可以说是轻量级的进程,是程序执行的最小单位,使用多线程而不用多进程去进行并发程序的设计,是因为线程之间的切换与调度的成本远小于进程。线程的几种状态New状态表示刚刚创建的线程,这种线程还没有开始执行RUNNABLE:当线程创建好之后,调用线程的start方法就会进入就绪状态。BLO
前程有光
·
2020-08-25 14:02
java
高并发
jvm
阿里巴巴
面试
还不懂
Java高并发
的,建议看看这篇阿里大佬的总结,写的非常详细
前言进程是计算机中程序关于某几何数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。是操作系统结构的基础线程可以说是轻量级的进程,是程序执行的最小单位,使用多线程而不用多进程去进行并发程序的设计,是因为线程之间的切换与调度的成本远小于进程。线程的几种状态New状态表示刚刚创建的线程,这种线程还没有开始执行RUNNABLE:当线程创建好之后,调用线程的start方法就会进入就绪状态。BLO
前程有光
·
2020-08-25 14:01
java
高并发
jvm
阿里巴巴
面试
还不懂
Java高并发
的,建议看看这篇阿里大佬的总结,写的非常详细
前言进程是计算机中程序关于某几何数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。是操作系统结构的基础线程可以说是轻量级的进程,是程序执行的最小单位,使用多线程而不用多进程去进行并发程序的设计,是因为线程之间的切换与调度的成本远小于进程。线程的几种状态New状态表示刚刚创建的线程,这种线程还没有开始执行RUNNABLE:当线程创建好之后,调用线程的start方法就会进入就绪状态。BLO
前程有光
·
2020-08-25 14:14
java
高并发
JVM
Java后端知识汇总(部分)
Java后端知识汇总(部分)一、Java基础二、Redis知识详解三、计算机网络四、Spring知识体系五、Java虚拟机六、
Java高并发
(同一块知识建议结合着看,便于查漏补缺)强烈推荐:JavaGuide
泡泡历险记
·
2020-08-24 17:52
java学习
实战
java高并发
程序设计读书笔记一
基本概念同步异步同步和异步这两个是相对的概念用来描述方法的调用。同步指的是方法调用开始方法的调用者必须等待方法调用返回时,才能进行下一步操作。而相对的概念异步就是相反,调用者不需要进行等待。并发并行并发和并行两个概念特别的容易混淆,他们都表示两个以上的任务一起的执行,但是两个概念却又有稍微的区别。并发偏向于有多个相同的任务一起需要执行,具体的执行方式一般来说指的都是交替进行;而并行则是指通过多个异
SUNSUN314
·
2020-08-23 02:33
开卷有益
并发
性能优化
java
阿里架构大牛,整理实战
Java高并发
程序设计文档,吃透!大厂在望
推荐阅读:阿里P8架构师谈:工作1-5年的Java工程师,怎样提高核心竞争力前阿里P7架构师,分享工作心得及面试经验,助力圆梦大厂关于Java与并行由于单核CPU的主频逐步逼近极限,多核CPU架构成了一种必然的技术趋势,因此多线程并行程序便显得越来越重要。并行计算的一个重要应用场景就是服务端编程。目前服务端CPU的核心数已经轻松超越10个,而Java显然已经成为当下最流行的服务端编程语言,且已经更
mrchaochao
·
2020-08-23 02:55
面试
Java
架构
多线程入门1
改文章的图片来自
java高并发
程序设计这本书并发和并行并发:主要是指多个任务交替执行。而且这个情况可能出现串行的并行:一般是多个任务同时执行。
胖琪的升级之路
·
2020-08-22 18:35
《实战
Java高并发
程序设计》笔记
《实战
Java高并发
程序设计》笔记Linus:Theonlyplacewhereparallelismmattersisingraphicalortheserverside,wherewealreadylargelyhaveit.Pushingitanywhereisjustpointless
Pangzai
·
2020-08-22 13:30
java
并发编程
后端好书阅读与推荐(续三)
实战
Java高并发
程序设计实战
Java高并发
程序设计(豆瓣)https://book.douban.com/subje...这本书是国产书籍里面质量较高的一本了(很多国产书都是东拼西凑或者敷衍了事),作者从实际出发
MageekChiu
·
2020-08-22 10:53
java
计算机网络
docker
书单
架构
Feign Hystrix Ribbon 关系 : 史上最全
FeignHystrixRibbon关系(深度解析)疯狂创客圈
Java高并发
【亿级流量聊天室实战】实战系列之15【博客园总入口】前言在微服务架构的应用中,Feign、Hystrix,Ribbon三者都是必不可少的
疯狂创客圈
·
2020-08-22 01:27
java
java高并发
锁的3种实现
初级技巧-乐观锁乐观锁适合这样的场景:读不会冲突,写会冲突。同时读的频率远大于写。以下面的代码为例,悲观锁的实现:Java代码publicObjectget(Objectkey){synchronized(map){if(map.get(key)==null){//setsomevalues}returnmap.get(key);}}乐观锁的实现:Java代码publicObjectget(Obj
zhaorui2017
·
2020-08-21 23:42
Dubbo
Java
分布式架构
JAVA电商秒杀系统实战(一)
java高并发
商城秒杀(一)第一章项目框架的搭建springBoot环境搭建,微服务集成Thymeleaf的页面模板,Result类做结果输出(json输出)传统的springMVC是用jsp做页面模板
thunderwei
·
2020-08-21 20:31
java秒杀系统
Java高并发
之设计模式,设计思想
本文主要讲解几种常见并行模式,具体目录结构如下图.单例单例是最常见的一种设计模式,一般用于全局对象管理,比如xml配置读写之类的.一般分为懒汉式,饿汉式.懒汉式:方法上加synchronizedpublicstaticsynchronizedSingletongetInstance(){if(single==null){single=newSingleton();}returnsingle;}这种
码农突围
·
2020-08-21 17:05
Java
Java高并发
-服务降级 服务熔断
服务降级:服务器当压力剧增的时候,根据当前业务情况及流量,对一些服务和页面进行有策略的降级。以此缓解服务器资源的的压力,以保证核心业务的正常运行,同时也保持了客户和大部分客户的得到正确的相应。简单来讲:服务器处理不了,那么就给一个默认返回页面。根据不同的接口做默认的返回和定制,这样就比较灵活。自动降级:超时、失败次数、故障、限流配置好超时时间(异步机制探测回复情况);不稳的的api调用次数达到一定
Marlon666
·
2020-08-21 13:21
上一页
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
其他