我的程序人生(亦山札记)

Software Engineer, The Artist of Simulating the World.

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

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

2019-08-08 17:21:21

阅读数 116

评论数 0

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

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

2019-07-10 11:55:00

阅读数 374

评论数 5

Alibaba Sentinel RESTful 接口流控处理优化

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

2019-06-12 21:50:33

阅读数 402

评论数 2

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

0. 前言 RocketMQ的消息投递分分为两种:一种是生产者往MQ Broker中投递;另外一种则是MQ broker 往消费者 投递(这种投递的说法是从消息传递的角度阐述的,实际上底层是消费者从MQ broker 中Pull拉取的)。本文将从模型的角度来阐述这两种机制。 1. RocketMQ...

2019-06-10 12:19:47

阅读数 462

评论数 0

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

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

2019-06-03 22:33:56

阅读数 494

评论数 6

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

前言 Spring Cloud 作为微服务解决方案 全家桶,集合了丰富的微服务组件,如Gateway、Feign、Hystrix,Ribbon、OkHttp、Eureka等等。而作为服务调用环节涉及到的几个组件:Feign、Hystrix,Ribbon、OkHttp 都有超时时间的设置,Sprin...

2019-05-31 22:57:12

阅读数 206

评论数 0

Spring Cloud Hystrix设计原理

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

2019-05-24 00:50:04

阅读数 930

评论数 3

Spring Cloud OkHttp设计原理

Spring Cloud 框架最底层核心的组件就是服务调用方式,一般Spring Cloud框架采用的是HTTP的调用框架,本文将在 Spring Cloud应用场景下,介绍组件OkHttp3的设计原理。 1. Spring Cloud的接口调用工作模式 Spring Cloud作为组合式的分布...

2019-05-22 00:20:07

阅读数 278

评论数 0

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

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

2019-03-02 17:27:01

阅读数 1661

评论数 4

Spring Cloud- Ribbon设计原理

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

2018-10-15 16:08:10

阅读数 1796

评论数 3

Spring Cloud-Feign设计原理

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

2018-09-26 15:42:50

阅读数 3835

评论数 2

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

在上篇文章《Spring设计思想》AOP设计基本原理 中阐述了Spring AOP 的基本原理以及基本机制,本文将深入源码,详细阐述整个Spring AOP实现的整个过程。 读完本文,你将了解到: 1、Spring内部创建代理对象的过程 2、Spring AOP的核心---Pro...

2016-04-16 19:10:58

阅读数 23460

评论数 20

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

Spring 提供了AOP(Aspect Oriented Programming) 的支持, 那么,什么是AOP呢?本文将通过一个另外一个角度来诠释AOP的概念,帮助你更好地理解和使用Spring AOP。 读完本文,你将了解到: 1. Java程序运行在JVM中的特征 2...

2016-04-10 20:36:07

阅读数 32579

评论数 33

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

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

2016-01-23 19:17:23

阅读数 23104

评论数 34

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

maven是一个非常经典的和通用的项目管理工具,虽然现在热炒gradle将作为下一代 项目管理工具来取代maven,但是 由于maven强大和健全的功能,maven还有很强的生命力。 本文将介绍maven对于项目生命周期的设计以及原理。 读完本文,你将了解到: 一、mave...

2016-01-15 14:19:34

阅读数 9339

评论数 13

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

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

2016-01-08 20:53:38

阅读数 13040

评论数 9

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

Intellij IDEA 14 作为Java IDE 神器,接触后发现,非常好用,对它爱不释手,打算离开eclipse和myeclipse,投入Intellij IDEA的怀抱。      然而在使用的过程中会发现Intellij IDEA也有一些不尽如意的地方,难免会有些不爽:Intelli...

2015-01-27 13:01:50

阅读数 32561

评论数 6

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

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

2015-01-22 15:08:43

阅读数 22133

评论数 10

高性能缓存库Memcached 基础教程

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

2015-01-07 14:21:04

阅读数 6719

评论数 1

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

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

2014-12-09 11:31:00

阅读数 17330

评论数 14

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