![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并发
文章平均质量分 91
软件开发随心记
这个作者很懒,什么都没留下…
展开
-
浅谈高性能队列Disruptor
Disruptor是英国外汇交易公司LMAX开发的一个高性能队列,研发的初衷是解决内存队列的延迟问题。基于Disruptor开发的系统单线程能支撑每秒600万订单,2010年在QCon演讲后,获得了业界关注。我们所熟知的**《重构-改善既有代码的设计》作者Martin Fowler**,也曾在2011年专门撰写长文介绍过Disruptor,同年它还获得了Oracle官方的Duke’s 程序框架创新奖。原创 2023-10-23 01:08:53 · 194 阅读 · 0 评论 -
浅谈高性能的Netty
文章目录1.什么是Netty?2.Netty的特点?2.1零拷贝2.1.1系统层面的零拷贝2.1.2Netty中的零拷贝2.2 Netty的线程模型3.Netty能做什么?4.Echo Server实战服务端两个类:客户端两个类:5.结语1.什么是Netty?笔者最近在业余时间正好在看netty的一个课程,感觉netty挺有意思的,和我们熟悉的spring mvc那一套有点不一样,而他也是挺主...原创 2019-12-15 22:34:05 · 458 阅读 · 0 评论 -
从concurrent下的Atomic原子类说起
前言在使用多线程并发的时候,我们经常会使用到JDK1.5版本开始引入的原子处理类,如AtomicInteger、AtomicBoolean、AtomicReference、AtomicStampedReference等。 本文将从AtomicInteger的实现出发,探讨多线程下的无锁实现及相关的知识,包括乐观锁与悲观锁及CAS算法思想。AtomicInteger介绍Atomic...原创 2018-07-02 00:25:26 · 281 阅读 · 0 评论 -
数据库连接池原理
一、JDBC介绍1.jdbc的定义 JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。 2.jdbc的用途 简单地说,JDBC 可做三件事:...原创 2018-08-27 10:01:32 · 373 阅读 · 0 评论 -
初步认识Apache Ignite
什么是Apache Ignite? Ignite是一个以内存为中心的分布式数据库、缓存和处理平台,可以在PB级数据中,以内存级的速度进行事务性、分析性以及流式负载的处理。上述引用了Ignite的官方介绍,通俗来讲,Ignite就是一个内存数据库,它包括了很多特性,它既是一个分布式缓存,也是一个分布式数据库,同时也支持一定程度的ACID事务。关键字:固化内存、并置处理固化内存...原创 2018-09-09 23:12:34 · 6986 阅读 · 0 评论 -
浅谈并发的数据竞争(可见性)与竞态条件(原子性)
其实并发比较根源的原因就是操作的原子性和状态的可见性无法保证个人理解: 1. 数据竞争?指的是并发条件下,状态属性信息不同步,产生读写误差。之所以会有误差,请参考JVM线程和堆的变量副本问题(缓存)。 2. 竞态条件?指的是并发复合操作,结果不可预测问题。两者容易混淆/** * Created by mori.wang on 2018/7/30. * 经典数据竞争:成...原创 2018-09-23 03:17:28 · 962 阅读 · 0 评论 -
财务系统库存重构现有量方案追忆
背景:小陈在老王和龙哥的要求下,要重构一个旧的财务库存系统。那么第一件事就是了解财务库存系统干啥的。财务库存系统,系统主要职能在于处理上游wms(仓储系统-物理仓储)推送的库存指令,对应处理,生成财务库存数据,作为结算依据。(简单理解,对比物理仓储,增加了财务信息,如公司,税,供应商,po-采购批次,成本计算等)上下游:wms(物理仓储) -> inv(财务库存) -> ap(...原创 2018-12-02 22:48:29 · 316 阅读 · 0 评论 -
使用MYSQL做为数据库项目中出现的异常: Communications link failure 二种场景的问题解析
在一次版本线上慢查询事件中,发现大量的Communications link failure 异常我将这种异常分为二类:1.低于120秒,莫名原因导致 mysql server端强杀2.超过120秒(公司设定mysql server端120秒强杀)项目采用的数据层分库分表的技术组件:当当网的ShardingJdbc问题场景复现及解决方案1.低于120秒,莫名原因导致 my...原创 2018-12-28 21:17:17 · 11964 阅读 · 0 评论 -
学习笔记——I/O多路复用
前言我们在学习或者使用nginx、redis或者netty的时候,总是惊讶于它们的高并发性能。但有没有想过系统是如何在高并发下实现高性能I/O。什么是I/O多路复用I/O多路复用解决的就是并发性效率问题。举个例子,一个繁忙的WEB服务器每天都要处理上百万个请求,在网站高峰期的时候必然会同时生成多个请求,处理多个请求最低效的方法是排队,在处理其中一个请求时,其他所有请求都被阻塞掉,等待前面的请...原创 2019-09-27 07:06:18 · 296 阅读 · 0 评论