8 武汉红喜

我要认证

专注于技术研究与开发

等级
TA的排名 2w+

Java核心技术解析

JUC JMM与线程安全 JUC 指令重排与内存屏障 JUC Java内存模型FAQ JUC 同步和Java内存模型 JUC volatile实现原理 JUC AQS详解 JUC AQS理解 JUC synchronized优化 JUC 线程和同步 JUC 线程状态 JUC 线程通信 JUC ThreadLocal介绍及原理 JUC 死锁及避免方案 JUC 读写锁简单实现 JUC 信号量 JUC 阻塞队列 NIO Overview NIO Channel NIO Buff

2020-06-21 17:16:23

Java生态研究

Java语言之所以经久不衰,长期霸占编程语言排行榜前两名,除了简单、跨平台、安全和性能不错之外,更重要的是它在开源的基础上逐渐形成了无与伦比的技术生态。Java生态里的开源技术数不胜数,而程序员的学习精力是有限的,而且也完全没必要什么都学,所以非常有必要搞清楚自己应该学习什么,由此本人特地探索了一套Java生态学习模式。这套生态学习模式是基于当前微服务架构大行其道的实践,之所以称为生态模...

2019-05-17 07:40:05

缓存穿透,缓存击穿,缓存雪崩解决方案分析

前言设计一个缓存系统,不得不要考虑的问题就是:缓存穿透、缓存击穿与失效时的雪崩效应。缓存穿透缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时,可能DB就挂掉了,要是有人利用不存在的key频繁攻击我们的应用,这就是漏洞。解决方案有很多种...

2019-05-11 20:27:18

Dubbo2.7 三大新特性详解

自 2017 年 7 月阿里重启 Dubbo 开源,到目前为止 github star 数,contributor 数都有了非常大的提升。2018 年 2 月 9 日阿里决定将 Dubbo 项目贡献给 Apache,经过一周的投票,顺利成为了 Apache 的孵化项目,也就是大家现在看到的Incubator Dubbo。预计在 2019 年 4 月,Dubbo 可以达成毕业,成为 Apache ...

2019-03-22 07:50:03

分布式之数据库和缓存双写一致性方案解析

转自 https://maimai.cn/article/detail?fid=1057432698&efid=vnXzd0cl0pDwUW6f6iMpGA&from=single_feed为什么写这篇文章?首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作。但是在更新缓存方面,对于更新完数据...

2019-01-25 13:43:38

开发者如何玩转 RocketMQ?附最全源码解读 【Remoting篇】

借用一句话“消息队列的本质在于消息的发送、存储和接收”。那么,对于一款消息队列来说,如何做到消息的高效发送与接收是重点和关键。前排友情提示:这是一篇很硬的干货。 RocketMQ中Remoting通信模块概览 RocketMQ消息队列的整体部署架构如下图所示: 先来说下RocketMQ消息队列集群中的几个角色: NameServer:在MQ集群中做的是...

2019-01-24 15:59:50

Dubbo 2.7背后的思考和实现方式

Dubbo 2.7 将围绕 异步支持优化、元数据改造,引入JDK8的特性、Netty4.0的特性以及MetricsAPI 5个方面提升服务调用和服务治理的效率,以及可扩展性,同时将修复社区提出的若干问题。据悉,2.7.x会作为Dubbo在Apache社区的毕业版本,Dubbo将有机会成为继RocketMQ后,来自阿里巴巴的又一个Apache顶级项目(TLP)。 优化对异步的支持...

2019-01-22 16:21:37

Mybatis multi database in spring boot 2

@Configurationpublic class MybatisConfig { @MapperScan(basePackages = "org.hongxi.whatsmars.boot.sample.mybatis.dao.user", sqlSessionTemplateRef = "userSqlSessionTemplate") private class use...

2019-01-09 16:25:22

rocketmq-spring-boot-starter使用指南

https://github.com/apache/rocketmq-spring.git针对官方starter修改点 官方支持连接多个集群(订阅) (官方一个应用只能连接一个集群)顺序消息消费失败,可配重试次数 (非顺序消息默认重试16次,每次时间延后)发送延时消息方法参数优化(魔法参数改为枚举)优化getMessageType方法,支持 MyConsumer extends Abs...

2019-01-09 16:24:02

dubbo-spring-boot-starter使用指南

https://github.com/apache/incubator-dubbo-spring-boot-project.gitdependencies<dependency> <groupId>com.alibaba.boot</groupId> &a

2019-01-09 16:21:52

RocketMQ客户端简单封装

public class ClientConfig { protected String namesrvAddr = System.getProperty(MixAll.NAMESRV_ADDR_PROPERTY, System.getenv(MixAll.NAMESRV_ADDR_ENV)); protected String instanceName = System.ge...

2019-01-09 16:17:09

Redis客户端简单封装

public class ShardedRedisClient implements FactoryBean<ShardedJedisPool>, InitializingBean, DisposableBean { private ShardedJedisPool shardedJedisPool; private JedisPoolConfig jedisPoo...

2019-01-08 23:13:26

Apache kafka原理与特性(0.8V)

https://shift-alt-ctrl.iteye.com/blog/1930345前言: kafka是一个轻量级的/分布式的/具备replication能力的日志采集组件,通常被集成到应用系统中,收集"用户行为日志"等,并可以使用各种消费终端(consumer)将消息转存到HDFS等其他结构化数据存储系统中.因为日志消息通常为文本数据,尺寸较小,且对实时性以及数据可靠性要求不严格,但是...

2018-12-19 22:27:34

RocketMQ消费失败消息深入分析

前言消息队列是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。目前在生产环境,使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ等。由于每个消息队列都有它的优势和劣势,我们公司对于不同的场景使用了不同类型的消息队列。对于RocketMQ消费端存在消息消费失败的情况,通常有两种方式,一种是consumer端知道怎么...

2018-12-14 21:31:09

Java日志框架slf4j、jcl、jul、log4j1、log4j2、logback大总结

1 系列目录jdk-logging、log4j、logback日志介绍及原理 commons-logging与jdk-logging、log4j1、log4j2、logback的集成原理 slf4j与jdk-logging、log4j1、log4j2、logback的集成原理 slf4j、jcl、jul、log4j1、log4j2、logback大总结2各种jar包总结 log4...

2018-12-14 21:28:55

RocketMQ吐血总结

RocketMQ吐血总结架构 概念模型最基本的概念模型与扩展后段概念模型 存储模型 RocketMQ吐血总结UserGuideRocketMQ是一款分布式消息中间件,最初是由阿里巴巴消息中间件团队研发并大规模应用于生产系统,满足线上海量消息堆积的需求,在2016年底捐赠给Apache开源基金会成为孵化项目,经过不到一年时间正式成为了A...

2018-12-09 20:36:36

知乎技术分享:从单机到2000万QPS并发的Redis高性能缓存实践之路

本文来自知乎官方技术团队的“知乎技术专栏”,感谢原作者陈鹏的无私分享。1、引言知乎存储平台团队基于开源Redis 组件打造的知乎 Redis 平台,经过不断的研发迭代,目前已经形成了一整套完整自动化运维服务体系,提供很多强大的功能。本文作者陈鹏是该系统的负责人,本次文章深入介绍了该系统的方方面面,值得互联网后端程序员仔细研究。(本文同步发布于:http://www.52im.net...

2018-09-19 08:39:02

阿里云王牌架构师一问开发者:系统要改造成微服务吗

阿里云高级解决方案架构师 杨旭世界最大混合云的总架构师,4年前,开始作为双11阿里云技术负责人,负责搭建全球最大的混合云结构,把 “双11”的电商业务和技术场景在阿里云上实现,并保障这个混合云在双11当天能够满足全球客户的购物需求。正文:最近大家都在谈微服务,随着越来越多的在线业务需要提供更大并发的scale-up 和 scale out能力,微服务确实提供了比较好分布式服务的解决方案...

2018-08-09 12:34:02

为什么很多人不愿意用hibernate了?

先说hibernate厉害在哪,然后再来说为啥享受hibernate这些便利会有问题。hibernate让你可以不写sql,这不单可以让你的应用更好移植到其他数据库,更主要是让程序员可以更专注与业务逻辑,更关注于数据和数据、对象和对象之间的关系。hibernate对一对多,多对多关系实现的是非常好的。很关键的一点,它支持lazy,可以让你的数据只在需要的时候被load,听起来非常美是不是?hibe...

2018-06-24 11:49:53

在阿里,我们如何管理代码分支?

引言在阿里内部,流行着许多有意思的工程实践。有些实践通过工具和流程嵌在集团的大环境里,外界不容易复制,有些实践则是流露在大家的日常习惯里,被默默的遵守。比如分支管理这件事,其实属于工具和习惯各占一半,并且颇有阿里特色的成分,适合作为一个例子。阿里有很多的研发团队,不同事业部使用的发布流程、分支策略并非整齐划一,但总体上看是比较规整的。其中有一种主流的发布模式以及对应的分支使用方式,称为“AoneF...

2018-04-14 10:42:59

查看更多

勋章 我的勋章
  • 领英
    领英
    绑定领英第三方账户获取
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 脉脉勋章
    脉脉勋章
    绑定脉脉第三方账户获得
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。