blog.hongxi.org

Java生态研究 hongxi.org

Java生态研究 - github.com/javahongxi

whatsmarsmvn clean package -Dmaven.test.skip jdk8+ maven3.3.1+ Java生态研究(Spring Boot + Redis + Dubbo + RocketMQ) Spring Boot 系列(Servlet, Tomcat, Sprin...

2017-06-21 23:56:54

阅读数:1170

评论数:3

Spring AOP实现声明式事务代码分析

众所周知,Spring的声明式事务是利用AOP手段实现的,所谓“深入一点,你会更快乐”,本文试图给出相关代码分析。   AOP联盟为增强定义了org.aopalliance.aop.Advice接口,Spring由Advice接口扩展了5中类型的增强(接口),AOP联盟自身提供了Introduc...

2017-06-27 14:38:55

阅读数:190

评论数:0

Spring AOP实现原理

对Spring平台或者说生态系统来说,AOP是Spring框架的核心功能模块之一。AOP与IOC容器的结合使用, 为应用开发或者Spring自身功能的扩展都提供了许多便利。Spring AOP的实现和其他特性的实现一样,非常丰富,除了可以使用Spring本身提供的AOP实现之外,还封装了业界优秀的...

2017-06-27 14:37:38

阅读数:164

评论数:0

深入理解Java内存模型 - volatile

volatile的特性 当我们声明共享变量为volatile后,对这个变量的读/写将会很特别。理解volatile特性的一个好方法是:把对volatile变量的单个读/写,看成是使用同一个监视器锁对这些单个读/写操作做了同步。下面我们通过具体的示例来说明,请看下面的示例代码: class ...

2017-06-23 08:07:50

阅读数:212

评论数:0

全面剖析synchronized

剖析 Synchronized Synchronized 介绍 Synchronized 方面的文章网上有很多了。它主要是用来进行同步操作。也被称为重量级的锁,它的同步包括: 对于普通方法同步,锁是当前实例对象对于静态方法同步,锁是当前类的 Class 对象对于方法块同步,锁...

2017-06-23 07:56:43

阅读数:312

评论数:0

Dubbo架构设计详解

Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合)。从服务模型的角度来看,Dubbo采用的是一种非常简单的模型,要么是提供方提供服务,要么是消费方消费服务,所以基于这一点可以抽象出服务提供方(Provide...

2017-06-23 07:52:15

阅读数:228

评论数:0

深入理解Redis中的主键失效及其实现机制

作为一种定期清理无效数据的重要机制,主键失效存在于大多数缓存系统中,Reids也不例外。在Redis提供的诸多命令中,EXPIRE、EXPIREAT、PEXPIRE、PEXPIREAT以及SETEX和PSETEX均可以用来设置一条Key-Value对的失效时间,而一条Key-Value对一旦被关联...

2017-06-23 07:47:37

阅读数:309

评论数:0

Redis Cluster原理

一、CLUSTER MEET 命令的实现    通过向节点 A 发送 CLUSTER MEET 命令,客户端可以让接收命令的节点 A 将另一个节点 B 添加到节点 A 当前所在的集群里面:    CLUSTER MEET <ip> &lt...

2017-06-23 07:42:33

阅读数:255

评论数:0

Redis客户端简单封装

Redis客户端简单封装并集成spring   Xml代码   xml version="1.0" encoding="UTF-8"?>   beans xmlns="http://www.springframework.org/...

2017-06-23 07:36:52

阅读数:475

评论数:0

Netty的线程模型

1. 背景1.1. Java线程模型的演进1.1.1. 单线程时间回到十几年前,那时主流的CPU都还是单核(除了商用高性能的小机),CPU的核心频率是机器最重要的指标之一。在Java领域当时比较流行的是单线程编程,对于CPU密集型的应用程序而言,频繁的通过多线程进行协作和抢占时间片反而会降低性能。...

2017-06-19 01:09:39

阅读数:239

评论数:0

深入解读zookeeper一致性原理

一、ZooKeeper 的实现1.1 ZooKeeper处理单点故障我们知道可以通过ZooKeeper对分布式系统进行Master选举,来解决分布式系统的单点故障,如图所示。图 1.1 ZooKeeper解决单点故障那么我们继续分析一下,ZooKeeper通过Master选举来帮助分布式系统解决单...

2017-06-19 01:06:06

阅读数:500

评论数:1

Redis复制

在Redis中,用户可以通过执行SLAVEOF命令或者设置slaveof选项,让一个服务器去复制(replicate)另一个服务器,我们称呼被复制的服务器为主服务器(master),而对主服务器进行复制的服务器则被称为从服务器(slave)。    127.0.0.1:12345&...

2017-06-19 01:03:32

阅读数:147

评论数:0

RocketMQ高并发读写

RocketMQ的并发读写能力扛住了2016年双十一,每秒17.5万笔订单的创建(单笔订单衍生出N条消息,实际tps是17.5*n 万),下面对其高并发读写原理进行探讨。主要体现在两方面:客户端收发消息,服务器接收消息并持久化(重点)。客户端(RocketMQ-client)1,客户端发送消息有负...

2017-06-09 13:28:27

阅读数:1816

评论数:2

RocketMQ架构模块解析

RocketMQ是一个分布式开放消息中间件,底层基于队列模型来实现消息收发功能。RocketMQ集群中包含4个模块:Namesrv, Broker, Producer, Consumer。 Namesrv: 存储当前集群所有Brokers信息、Topic跟Broker的对应关系。Broker: ...

2017-06-09 13:27:23

阅读数:1956

评论数:1

你好,RocketMQ

http://rocketmq.apache.org/编者按这些年开源氛围越来越好,各大IT公司都纷纷将一些自研代码开源出来。2012年,阿里巴巴开源其自研的第三代分布式消息中间件——RocketMQ。经过几年的技术打磨,阿里称基于RocketMQ技术,目前双十一当天消息容量可达到万亿级。2016...

2017-06-06 20:08:26

阅读数:903

评论数:0

dubbo请求调用过程分析

服务消费方发起请求当服务的消费方引用了某远程服务,服务的应用方在spring的配置实例如下:<dubbo:referenceid="demoService"interface="com.alibaba.dubbo.demo...

2017-06-06 11:49:22

阅读数:511

评论数:0

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