6 亦山

尚未进行身份认证

我的个人主页: http://it-mentor.cn

等级
TA的排名 5k+

英雄帖-Alibaba-企业智能事业部-技术专家/高级Java工程师

前言如题,本文是招贤纳士帖。岗位和博主一个团队,欢迎大家一起过来搞事情!如果你对我有想法,简历甩过来吧,我们可以成为同事;如果你对Alibaba有想法,简历也请甩过来吧,我来给你内推!如果面试通过,我请你吃大餐,大餐,大餐~职位:企业智能事业部-技术专家/高级Java工程师-杭州(P6/P7)发布时间:2019-07-31工作地点:杭州工作年限:三年以上...

2019-08-08 17:21:21

《Spring设计思想-事务篇》2.数据库隔离级别

0.前言数据库的事务隔离级别是关系型数据库事务的理论基础,本文将从资源互斥的角度从上到下依次进行阐释。1.数据库的事务隔离级别1.1事务的隔离级别,隔离的是什么?在阐述数据库事务的隔离级别时,我们首先应当明确一下,这个隔离,到底隔离的是什么。什么是事务?从数据库的事务定义来看,其具备ACID特性(即Atomic,原子性,Consistency一致性,Isolation,隔离性,D...

2019-07-10 11:55:00

Alibaba Sentinel RESTful 接口流控处理优化

0.前言笔者最近打算使用Sentinel替换掉之前的Hystrix作为微服务架构的熔断/断路组件。整体上,Sentinel的设计比Hystrix要易用很多。在实际使用的过程中,也存在了一些问题。本文将介绍Sentinel在处理RESTful风格的web项目过程中存在的问题。问题描述:在SpringCloud架构下,如果Http请求格式是按照RESTful风格设计的,当大规模的Http...

2019-06-12 21:50:33

《深入理解RocketMQ》- MQ消息的投递机制

0.前言RocketMQ的消息投递分分为两种:一种是生产者往MQBroker中投递;另外一种则是MQbroker往消费者投递(这种投递的说法是从消息传递的角度阐述的,实际上底层是消费者从MQbroker中Pull拉取的)。本文将从模型的角度来阐述这两种机制。1.RocketMQ的消息模型RocketMQ的消息模型整体并不复杂,如下图所示:一个Topic(消息主题)可能对...

2019-06-10 12:19:47

《Spring设计思想-事务篇》1.数据库连接和Java线程的关系

0.前言Spring作为Java框架王者,当前已经是基础容器框架的实际标准。Spring除了提供了IoC、AOP特性外,还有一个极其核心和重要的特性:数据库事务。事务管理涉及到的技术点比较多,想完全理解需要花费一定的时间,本系列《Spring设计思想-事务篇》将通过如下几个方面来阐述Spring的数据库事务:数据库连接java.sql.Connection的特性、事务表示、以及和Jav...

2019-06-03 22:33:56

Spring Cloud组件那么多超时设置,如何理解和运用?

前言SpringCloud作为微服务解决方案全家桶,集合了丰富的微服务组件,如Gateway、Feign、Hystrix,Ribbon、OkHttp、Eureka等等。而作为服务调用环节涉及到的几个组件:Feign、Hystrix,Ribbon、OkHttp都有超时时间的设置,SpringCloud是如何优雅地把它们协调好呢?本文将为你揭晓答案。1.SpringCloud中发...

2019-05-31 22:57:12

Spring Cloud Hystrix设计原理

0.Hystrix是什么?Hystrix的本意是指豪猪的动物,它身上长满了很长的较硬的空心尖刺,当受到攻击时,通过后退的方式使其尖刺刺入敌方的身体。作为这种特征的引申,Netflix公司在分布式微服务架构的践行下,将其保护服务的稳定性而设计的客户端熔断和断路器的解决方案,称之为Hystrix。Hystrix的设计目的是将应用中的远程系统访问、服务调用、第三方依赖包的调用入口,通过资源控...

2019-05-24 00:50:04

Spring Cloud OkHttp设计原理

SpringCloud框架最底层核心的组件就是服务调用方式,一般SpringCloud框架采用的是HTTP的调用框架,本文将在SpringCloud应用场景下,介绍组件OkHttp3的设计原理。1.SpringCloud的接口调用工作模式SpringCloud作为组合式的分布式微服务解决方案,再服务调用上,至少需要解决如下几个环节:面向接口的编程形式接口调用过程,除了拼...

2019-05-22 00:20:07

RocketMQ 添加监控和系统告警通知

前言最近由于RocketMQ在使用过程中,发现在某些时候消息堆积,并且还是长时间堆积不消费,这种情况下没能及时发现,导致客户投诉,所以就有给RocketMQ增加监控,当出现特定异常时,能够及时告警,及时处理。首先提出我们的监控诉求,出现如下情况时,希望能够及时接收到系统告警通知:RocketMQ服务宕机RocketMQ消费者下线RocketMQ消息出现长时间或者大量堆积本文将...

2019-03-02 17:27:01

Spring Cloud- Ribbon设计原理

Ribbon是netflix公司开源的基于客户端的负载均衡组件,是SpringCloud大家庭中非常重要的一个模块;Ribbon应该也是整个大家庭中相对而言比较复杂的模块,直接影响到服务调度的质量和性能。全面掌握Ribbon可以帮助我们了解在分布式微服务集群工作模式下,服务调度应该考虑到的每个环节。本文将详细地剖析Ribbon的设计原理,帮助大家对SpringCloud有一个更好的认...

2018-10-15 16:08:10

Spring Cloud-Feign设计原理

什么是Feign?Feign是一个http请求调用的轻量级框架,可以以Java接口注解的方式调用Http请求,而不用像Java中通过封装HTTP请求报文的方式直接调用。Feign通过处理注解,将请求模板化,当实际调用的时候,传入参数,根据参数再应用到请求上,进而转化成真正的请求,这种请求相对而言比较直观。Feign支持文本方式下的调用。Feign解决了什么问题?封装了Http调用流程,更...

2018-09-26 15:42:50

《Spring设计思想》AOP实现原理(基于JDK和基于CGLIB)

在上篇文章《Spring设计思想》AOP设计基本原理中阐述了SpringAOP的基本原理以及基本机制,本文将深入源码,详细阐述整个SpringAOP实现的整个过程。读完本文,你将了解到:1、Spring内部创建代理对象的过程2、SpringAOP的核心---ProxyFactoryBean3、基于JDK面向接口的动态代理JdkDynamicAopProxy生成代理对象4、基于Cglib子类继承方式的动态代理CglibAopProxy生成代理对象

2016-04-16 19:10:58

《Spring设计思想》AOP设计基本原理

Spring提供了AOP(AspectOrientedProgramming)的支持,那么,什么是AOP呢?本文将通过一个另外一个角度来诠释AOP的概念,帮助你更好地理解和使用SpringAOP。读完本文,你将了解到:1.Java程序运行在JVM中的特征2.Java程序的执行流【了解AOP、连接点(JoinPoint)、切入点(pointcut)的概念】3.引入了代理模式的Java程序执行流(AOP实现的机制)4.

2016-04-10 20:36:07

《Java虚拟机原理图解》5. JVM类加载器机制与类加载过程

一、Java语言的跨平台性的含义Java语言之所以说它是跨平台的、可以在当前绝大部分的操作系统平台下运行,是因为Java语言的运行环境是在Java虚拟机中。Java虚拟机消除了各个平台之间的差异,只要操作系统平台下安装了Java虚拟机,那么使用Java开发的东西都能在其上面运行。如下图所示:        Java虚拟机对各个平台而言,实质上是各个平台上的一个可

2016-01-23 19:17:23

《Maven进阶》1.maven 项目生命周期与构建原理

maven是一个非常经典的和通用的项目管理工具,虽然现在热炒gradle将作为下一代项目管理工具来取代maven,但是由于maven强大和健全的功能,maven还有很强的生命力。本文将介绍maven对于项目生命周期的设计以及原理。读完本文,你将了解到:一、maven对项目生命周期的抽象--三大项目生命周期二、maven对项目默认生命周期的抽象三、maven指令与生命周期阶段的关系四、maven生命周期各个阶段的行为与maven默认行为

2016-01-15 14:19:34

《Java虚拟机原理图解》4.JVM机器指令集

1.Java虚拟机运行时数据区JVM位每一个线程在内存中分配了一个虚拟机栈,来表示线程的运行状态和信息,如下所示:为了给读者一个直观的感受,我们定义一个简单的Java类,然后执行这个运行这个类,逐步分析整个Java虚拟机的运行时信息的组织:packageorg.louis.jvm.codeset;/***JVM原理简单用例*@authorlouis

2016-01-08 20:53:38

Intellij IDEA 14中使用MyBatis-generator 自动生成MyBatis代码

IntellijIDEA14作为JavaIDE神器,接触后发现,非常好用,对它爱不释手,打算离开eclipse和myeclipse,投入IntellijIDEA的怀抱。    然而在使用的过程中会发现IntellijIDEA也有一些不尽如意的地方,难免会有些不爽:IntellijIDEA的插件库远不及eclipse的丰富。mybatis-generator在eclipse

2015-01-27 13:01:50

[Java基础要义]HashMap、LinkedHashMap元素遍历机制探讨

Map作为键值对Entry的的容器,对其内部键值对Entry的遍历总归是要有一个顺序的。     本文重点讨论HashMap及其子类LinkedHashMap的遍历机制,总结出两者的特点和适用情况。1.HashMap的遍历机制             HashMap提供了两个遍历访问其内部元素Entry的接口:             1.      Set

2015-01-22 15:08:43

高性能缓存库Memcached 基础教程

高性能缓存库memcached基础教程,读完本文,你将学习到:1.memcached的安装2.memcached的启动和关闭3.memcached各种数据指令操作

2015-01-07 14:21:04

如何细粒度地控制你的MyBatis二级缓存(mybatis-enhanced-cache插件实现)

本文介绍如何细粒度地控制你的MyBatis二级缓存,以及对应的mybatis-enhanced-cache插件实现

2014-12-09 11:31:00

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。