自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

专注于技术研究与开发

https://github.com/javahongxi

原创 Java生态研究

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

2019-05-17 07:40:05 516 0

原创 Java核心技术解析

JUC JMM与线程安全 JUC 指令重排与内存屏障 JUC Java内存模型FAQ JUC 同步和Java内存模型 JUC volatile实现原理 JUC AQS详解 JUC AQS理解 JUC synchronized优化 JUC 线程和同步 JUC 线程状态 JUC 线...

2020-06-21 17:16:23 147 0

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

前言 设计一个缓存系统,不得不要考虑的问题就是:缓存穿透、缓存击穿与失效时的雪崩效应。 缓存穿透 缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大...

2019-05-11 20:27:18 288 0

转载 Dubbo2.7 三大新特性详解

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

2019-03-22 07:50:03 8329 0

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

转自 https://maimai.cn/article/detail?fid=1057432698&efid=vnXzd0cl0pDwUW6f6iMpGA&from=single_feed 为什么写这篇文章? 首先,缓存由于其高并发和高性能的特性,已经在项目中...

2019-01-25 13:43:38 302 0

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

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

2019-01-24 15:59:50 545 0

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

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

2019-01-22 16:21:37 1858 4

原创 Mybatis multi database in spring boot 2

@Configuration public class MybatisConfig { @MapperScan(basePackages = "org.hongxi.whatsmars.boot.sample.mybatis.dao.user", sq...

2019-01-09 16:25:22 265 0

原创 rocketmq-spring-boot-starter使用指南

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

2019-01-09 16:24:02 19003 21

原创 dubbo-spring-boot-starter使用指南

https://github.com/apache/incubator-dubbo-spring-boot-project.git dependencies <dependency> &am...

2019-01-09 16:21:52 1835 0

原创 RocketMQ客户端简单封装

public class ClientConfig { protected String namesrvAddr = System.getProperty(MixAll.NAMESRV_ADDR_PROPERTY, System.getenv(MixAll.NAMESRV_ADDR_EN...

2019-01-09 16:17:09 1482 0

原创 Redis客户端简单封装

public class ShardedRedisClient implements FactoryBean<ShardedJedisPool>, InitializingBean, DisposableBean { private Shard...

2019-01-08 23:13:26 339 0

转载 Apache kafka原理与特性(0.8V)

https://shift-alt-ctrl.iteye.com/blog/1930345 前言: kafka是一个轻量级的/分布式的/具备replication能力的日志采集组件,通常被集成到应用系统中,收集"用户行为日志"等,并可以使用各种消费终端(consumer)将消...

2018-12-19 22:27:34 204 0

转载 RocketMQ消费失败消息深入分析

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

2018-12-14 21:31:09 3260 0

转载 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...

2018-12-14 21:28:55 222 0

原创 RocketMQ吐血总结

RocketMQ吐血总结 架构   概念模型 最基本的概念模型与扩展后段概念模型  存储模型   RocketMQ吐血总结 User Guide RocketMQ是一款分布式消息中间件,最初是由阿里巴巴消息中间件团队研发并大规模应用于生产系统,满足线上海量...

2018-12-09 20:36:36 42767 15

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

本文来自知乎官方技术团队的“知乎技术专栏”,感谢原作者陈鹏的无私分享。 1、引言 知乎存储平台团队基于开源Redis 组件打造的知乎 Redis 平台,经过不断的研发迭代,目前已经形成了一整套完整自动化运维服务体系,提供很多强大的功能。本文作者陈鹏是该系统的负责人,本次文章深入介绍了该系统的方...

2018-09-19 08:39:02 788 0

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

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

2018-08-09 12:34:02 406 0

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

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

2018-06-24 11:49:53 15794 15

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

引言在阿里内部,流行着许多有意思的工程实践。有些实践通过工具和流程嵌在集团的大环境里,外界不容易复制,有些实践则是流露在大家的日常习惯里,被默默的遵守。比如分支管理这件事,其实属于工具和习惯各占一半,并且颇有阿里特色的成分,适合作为一个例子。阿里有很多的研发团队,不同事业部使用的发布流程、分支策略...

2018-04-14 10:42:59 575 0

转载 浅析IO模型

也许很多朋友在学习NIO的时候都会感觉有点吃力,对里面的很多概念都感觉不是那么明朗。在进入Java NIO编程之前,我们今天先来讨论一些比较基础的知识:I/O模型。下面本文先从同步和异步的概念 说起,然后接着阐述了阻塞和非阻塞的区别,接着介绍了阻塞IO和非阻塞IO的区别,然后介绍了同步IO和异步I...

2018-03-23 14:50:53 274 0

转载 微博CacheService架构浅析

http://www.infoq.com/cn/articles/weibo-cacheservice-architecture/微博作为国内最大的社交媒体网站之一,每天承载着亿万用户的服务请求,这些请求的背后,需要消耗着巨大的计算、内存、网络、I/O等资源。而且因为微博的产品特性,节假日、热门事...

2018-03-23 14:48:35 1003 0

转载 ActiveMQ与虚拟通道

郑重提示,本文转载自http://shift-alt-ctrl.iteye.com/blog/2065436   ActiveMQ提供了虚拟通道的特性(Virtual Destination),它允许一个逻辑通道(logical destination)映射成一个或者多个物理通道(physic...

2018-03-23 14:43:18 246 0

转载 RabbitMQ基础概念详细介绍

你是否遇到过两个(多个)系统间需要通过定时任务来同步某些数据?你是否在为异构系统的不同进程间相互调用、通讯的问题而苦恼、挣扎?如果是,那么恭喜你,消息服务让你可以很轻松地解决这些问题。消息服务擅长于解决多系统、异构系统间的数据交换(消息通知/通讯)问题,你也可以把它用于系统间服务的相互调用(RPC...

2018-03-23 14:41:17 223 0

转载 数据库建立索引的原则

使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的 值进行排序的一种结构,例如 employee 表的姓(lname)列。如果要按姓查找 特定职员,与必须搜索表中的所有行相比,索引会帮助您更快地获得该信息。         索引是一个单独的、物理的数据库结构,它是某个表中一列或...

2018-03-23 14:37:34 470 1

原创 Mac mongodb

mongodb启动     bin/mongod    -----    waiting for connections on port 27017  表示等待连接即可以通过客户端(Robomongo)或程序连接了mongo shell     bin/mongo localhost:~ java...

2018-03-23 14:33:37 206 0

原创 Mac OS终端提示符前缀”bogon”

像往常一样新打开一个终端,却发现一个很有意思的现象,以前的提示符的组成为:[机器名]:~[用户名]以前:YangGavin’s MacBook Pro:~ yanggavin$现在:bogon:~ yanggavin$最麻烦的是我本地用IDEA调试web应用,控制台会提示下面错误:Error: E...

2018-03-23 14:23:31 1286 0

转载 分布式事务综述(XA, TCC)

https://mp.weixin.qq.com/s?__biz=MzUzMzU5Mjc1Nw==&mid=2247483681&idx=1&sn=05845495c5ef33683addd98fffc72106&chksm=faa0...

2018-03-23 14:05:16 5583 0

原创 分布式事务简单处理

解决分布式事务最简单的方案就是向前或向后,即补充或回滚。业务逻辑有如下三步:调用A服务冻结金额调用B服务增加额度记录数据库进行到第2步失败 -> 写task,回滚第1步(通知A服务方去回滚)进行到第3步失败 -> 写task,从A/B服务处同步数据至数据库还有一种方案就...

2018-03-09 18:10:34 337 0

转载 支付宝分布式事务服务DTS

分布式事务服务 DTS二如何玩转 DTS,基本上使用 DTS 对发起方的配置要求会多一点。添加 DTS 的依赖NOTE: 发起方和参与方都需要添加依赖。如果使用 SOFA Lite,只需按照样例工程里的方式添加依赖:<dependency> <gr...

2018-03-09 18:09:03 909 0

转载 Spring之@Configuration配置解析

 1.简单的示例: @Configuration 2 @EnableConfigurationProperties({DemoProperties.class}) 3 public class DemoConfiguration { 4 5 @Bean 6 public Bo...

2018-03-09 18:08:12 931 0

转载 Maven生成可以直接运行的jar包的多种方式

转自 http://blog.csdn.net/xiao__gui/article/details/47341385    Maven可以使用mvn package指令对项目进行打包,如果使用java -jar xxx.jar执行运行jar文件,会出现"no main manifes...

2018-03-09 18:07:15 212 0

转载 Gradle Installation

InstallationHelpful InformationInstallInstall with a package managerInstall manuallyUpgrade with the Gradle WrapperOlder ReleasesHelpful InformationY...

2018-03-09 18:06:26 456 0

转载 Gradle 完整指南(Android)

�本文谢绝转载,非要转载,请注明出处http://www.jianshu.com/p/9df3c3b6067a前言为什么需要学Gradle?Gradle 是 Android 现在主流的编译工具,虽然在Gradle 出现之前和之后都有对应更快的编译工具出现,但是 Gradle 的优势就在于它是亲儿子...

2018-03-09 18:05:40 232 0

转载 使用Jenkins配置SpringBoot的自由成长之路

一、相关阅读1、使用Jenkins配置Git+Maven的自动化构建http://blog.csdn.net/xlgen157387/article/details/503533172、Jenkins部署Maven多环境项目(dev、beta、prod)的参数设置3、使用Generic Webho...

2018-03-09 18:03:23 3756 4

转载 简单理解token机制

什么是tokentoken的意思是“令牌”,是服务端生成的一串字符串,作为客户端进行请求的一个标识。当用户第一次登录后,服务器生成一个token并将此token返回给客户端,以后客户端只需带上这个token前来请求数据即可,无需再次带上用户名和密码。简单token的组成;uid(用户唯一的身份标识...

2018-03-09 18:02:09 3219 0

转载 【转】Tomcat中Connector常用配置(备忘)

本文转载自http://deep.hongxi.org Tomcat中server.xml有些配置信息是需要我们了解的,最起码知道如何进行简单的调试.   <Connector port="8080" protocol="HTTP/1.1&quo...

2018-03-09 17:50:36 1100 0

原创 Spring对循环依赖的处理

https://github.com/javahongxi 3.2.1  什么是循环依赖        循环依赖就是循环引用,就是两个或多个Bean相互之间的持有对方,比如CircleA引用CircleB,CircleB引用CircleC,CircleC引用CircleA,则它们最终反映为一个...

2018-03-09 17:50:33 1329 1

转载 JVM宕机分析

   一、能够引起JVM崩溃的常见原因有: 线程阻塞 CPU 使用率过高 JVM Crash 堆内存不足 类装载 Java虚拟机自身的Bug JDK与服务器(CPU、内存、操作系统)的兼容性 内存溢出 二、日志文件 hs_err_p...

2018-03-09 17:50:30 1640 0

原创 Servlet3.1规范翻译 - 注解和可插拔性

https://github.com/javahongxi 本文转载自kaitao.hongxi.org 注解和可插拔性 本章讨论Servlet 3.0规范定义的注解和使web应用内使用的框架和库能够可插拔的增强。 8.1 注解和可插拔性 在web应用中,使用注解的类仅当它们位于WEB-...

2018-03-09 17:50:27 123 0

提示
确定要删除当前文章?
取消 删除