高并发

【多线程与高并发原理篇:3_java内存模型】

1. 概述 Java 内存模型即 Java Memory Model,简称 JMM。从抽象的角度来看,JMM 定义了线程和主内存之间的抽象关系,线程之间的共享变量存储在主内存中,每个线程都有一个私有的工作内存,工作内存中存储了该线程以读/写共享变量的副本。工作内存是 JMM 的一个抽象概念,并不真实 ... »

im即时通讯开发技术:100到1000万高并发的架构演进

在介绍架构之前,为了避免部分读者对架构设计中的一些概念不了解,下面对几个最基础的概念进行介绍。 1)什么是分布式? 系统中的多个模块在不同服务器上部署,即可称为分布式系统,如Tomcat和数据库分别部 »

keyunshiwo

【高并发】深度解析线程池中那些重要的顶层接口和抽象类

大家好,我是冰河~~ 在上一篇《【高并发】不得不说的线程池与ThreadPoolExecutor类浅析》一文中,从整体上介绍了Java的线程池。如果细细品味线程池的底层源码实现,你会发现整个线程池体系的设计是非常优雅的!这些代码的设计值得我们去细细品味和研究,从中学习优雅代码的设计规范,形成自己的设 ... »

SimpleDateFormat类的安全问题,这6个方案总有一个适合你

摘要:你使用的SimpleDateFormat类还安全吗?为什么说SimpleDateFormat类不是线程安全的?带着问题从本文中寻求答案。 本文分享自华为云社区《【高并发】SimpleDateFormat类的线程安全问题和解决方案(附6种解决方案)》,作者: 冰 河。 首先问下大家:你使用的Si ... »

谈谈高并发系统的一些解决方案

本文结合项目经验,整理一份大纲,供参考。 常用指标 RT(Response Time):响应时间。可能会衍生出 TP999、TP99、TP95、TP90等指标。一般在几毫秒到几百毫秒之间。 QPS(Query Per Second):每秒查询量。这是我们最常说的一个指标了。视业务复杂度不同而不同,轻 ... »

高并发下如何保证数据库和缓存的数据一致性?

前言 数据库和缓存(比如:redis)双写数据一致性问题,是一个跟开发语言无关的公共问题。尤其在高并发的场景下,这个问题变得更加严重。 我很负责的告诉你,该问题无论在面试,还是工作中遇到的概率非常大,所以非常有必要跟大家一起探讨一下。 今天这篇文章我会从浅入深,跟大家一起聊聊,数据库和缓存双写数据一 ... »

Apache Tomcat如何高并发处理请求

介绍 作为常用的http协议服务器,tomcat应用非常广泛。tomcat也是遵循Servelt协议的,Servelt协议可以让服务器与真实服务逻辑代码进行解耦。各自只需要关注Servlet协议即可。 对于tomcat是如何作为一个高性能的服务器的呢?你是不是也会有这样的疑问? tomcat是如何接 ... »

高并发场景下优化加锁方式:线程等待与通知机制

摘要:很多时候,我们在并发编程中,涉及到加锁操作时,对代码块的加锁操作真的合理吗?还有没有需要优化的地方呢? 本文分享自华为云社区《【高并发】讲讲高并发场景下如何优化加锁方式?》,作者: 冰 河 。 互斥条件、不可剥夺条件、请求与保持条件、循环等待条件,这是产生死锁时的四个必要条件,只有四个条件同时 ... »

为什么我建议线上高并发量的日志输出的时候不能带有代码位置

个人创作公约:本人声明创作的所有文章皆为自己原创,如果有参考任何文章的地方,会标注出来,如果有疏漏,欢迎大家批判。如果大家发现网上有抄袭本文章的,欢迎举报,并且积极向这个 github 仓库 提交 issue,谢谢支持~ 本文是“为什么我建议”系列第二篇,本系列中会针对一些在高并发场景下,我对于组内 ... »

性能指标、响应时间、并发量…聊聊性能优化的衡量指标

摘要:今天,我们就来说说在高并发场景下做性能优化有哪些衡量标准,以及做优化时需要注意哪些问题。 本文分享自华为云社区《【高并发】性能优化有哪些衡量指标?需要注意什么?》,作者:冰 河 。 最近,很多小伙伴都在说,我没做过性能优化的工作,在公司只是做些CRUD的工作,接触不到性能优化相关的工作。现在出 ... »

java系统高并发解决方案(转载)

一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单,随着互联网业务的不断丰富,网站 »

huideng

G1垃圾回收器在并发场景调优

一、序言 目前企业级主流使用的Java版本是8,垃圾回收器支持手动修改为G1,G1垃圾回收器是Java 11的默认设置,因此G1垃圾回收器可以用很长时间,现阶段垃圾回收器优化意味着针对G1垃圾回收器优化。 为了简化讨论,下面假设针对4C/16G物理机器进行优化。 二、G1概览 (一)了解G1 1、最 ... »

java高并发之ConcurrentSkipListMap的那些事

注意:本文内容基于JDK11,不同版本会有差异 ConcurrentSkipListMap的结构 ConcurrentSkipListMap是以链表(自然排序)的形式进行数据存储的。即在类中通过定义Node内部类来存储单个节点的数据,通过Node中的next属性,来记录链表的下一个节点。同时会对No ... »

请求合并与拆分在并发场景中应用

一、序言 在并发场景中,当热点缓存Key失效时,流量瞬间打到数据库中,此所谓缓存击穿现象;当大范围的缓存Key失效时,流量也会打到数据库中,此所谓缓存雪崩现象。 当使用分布式行锁时,能够有效解决缓存击穿问题;当使用分布式表锁时,能够解决缓存雪崩问题。实际操作中,分布式表锁不在考虑范围,理由是降低并发 ... »

高并发之下订单

商品详情页-购买-订单确认页(此时还没有生产订单只是商品数据可来自缓存)-提交订单(执行2-7逻辑)-支付页 缓存中预热的(提前从数据库中把数据放入缓存)是要参加秒杀商品信息(包括库存数量),并对商品 »

guy1022

「万字干货」高并发系统分析与大型互联网架构介绍

(篇幅较长,建议大家先收藏再看哦~) 在初步地学习并掌握了基础的编程之后,如何提高编程能力是每个开发者关心的问题。对于 Java 的学习者来说,高并发是每个开发者技术进阶的必经之路。但是高并发的技术要求和业务场景本身就是比较复杂的,这就会给大家的学习之路带来一定的难度。 下面我们带大家了解高并发系统的应用场景、市场需求以及目前市面上比较成熟的大型互联网的系统架构基线是怎样的,让大家对于高并发有一个 »

[转]高并发访问下避免对象缓存失效引发Dogpile效应

避免Redis/Memcached缓存失效引发Dogpile效应 Redis/Memcached高并发访问下的缓存失效时可能产生Dogpile效应(Cache Stampede效应). 推荐阅读:高并发下的 Nginx 优化方案 http://www.linuxidc.com/Linux/2013-01/78791.htm 避免Memcached缓存的Dogpile效应 Memcached的r »