mikechen

22
获赞数
0
关注数
23
粉丝数
IP 属地四川
2020-07-23 加入
浏览 6.2k

十余年BAT架构经验倾囊相授,博客:https://mikechen.cc

63 声望|新手
java
62
后端
32
架构
14
架构师
9
微服务
8
黄金勋章
暂未获得该勋章
如何获得
白银勋章
暂未获得该勋章
如何获得
1 青铜勋章
个人动态
  • 发布了文章2022-12-22
    Redis集群的三种方式详解(附优缺点及原理区别)
    Redis提供了三种集群方式,下面我重点详解Redis三种集群方式的原理及优缺点等区别@mikechen目录[**]()Redis主从复制模式Redis哨兵模式Redis集群模式Redis主从复制模式1.Redis主从复制定义主从模式是三种模式中最简单的,主从模式指的是使用一个Redis实例作为主机,其...
  • 发布了文章2022-11-02
    G1 垃圾收集器深入剖析(图文超详解)
    G1 同 CMS 垃圾回收器一样,关注最小时延的垃圾回收器,适合大尺寸堆内存的垃圾收集。G1 最大的特点是引入分区的思路,弱化了分代的概念,合理利用垃圾收集各个周期的资源,解决了其他收集及 CMS 的很多缺陷。
  • 发布了文章2022-11-01
    Kafka 架构和原理机制 (图文全面详解)
    目录一:Kafka 简介二:Kafka 基本架构三:Kafka 基本原理四:Zookeeper 在 kafka 的作用五:Kafka 的特性六:Kafka 的应用场景一:Kafka 简介Apache Kafka 是分布式发布-订阅消息系统,在 kafka 官网上对 kafka 的定义:一个分布式发布-订阅消息传递系统。Kafka 最...
  • 发布了文章2022-10-31
    Java 动态代理原理图解 (附:2种实现方式详细对比)
    动态代理在 Java 中有着广泛的应用,例如:Spring AOP 面向切面编程,Hibernate 数据查询、以及 RPC Dubbo 远程调用等,都有非常多的实际应用@mikechen
  • 发布了文章2022-10-25
    微服务 Zipkin 链路追踪原理(图文详解)
    一个看起来很简单的应用,可能需要数十或数百个服务来支撑,一个请求就要多次服务调用。当请求变慢、或者不能使用时,我们是不知道是哪个后台服务引起的。这时,我们使用 Zipkin 就能解决这个问题。
  • 发布了文章2022-10-25
    5大负载均衡算法 ( 原理图解 )
    负载均衡,是分布式架构的必备技术,也是进阶的 必学技术,需要重点掌握。 本文我会重点详解负载均衡的 5 大核心算法 @mikechen 我们先来看一张典型的集群和负载均衡架构图: 当一台机器不能承受访问压力时,我们大多会通过横向增加两台、或者多台服务器,来共同承担...
  • 发布了文章2022-10-24
    Dubbo 原理和机制详解 (非常全面)
    Dubbo是一款Java RPC 框架,致力于提供高性能的RPC远程服务调用方案。下面我重点详解Dubbo的原理机制@mikechen目录Dubbo核心功能Dubbo核心组件Dubbo的架构设计Dubbo调用流程Dubbo核心功能Dubbo主要提供了3大核心功能:面向接口的远程方法调用,智能容错和负载均衡,...
  • 发布了文章2022-10-13
    雪花算法详解(原理优缺点及代码实现)
    目录雪花算法简介雪花算法的优缺点雪花算法原理雪花算法代码实现雪花算法简介雪花算法,英文名为snowflake,翻译过来就是是雪花,所以叫雪花算法。在大自然雪花形成过程中,会形成不同的结构分支,所以说不存在两片完全一样的雪花,表示生成的id如雪花般独一无二。雪...
  • 发布了文章2022-10-10
    什么是缓存雪崩?服务器雪崩的场景与解决方案
    目录什么是应用服务雪崩雪崩效应产生的几种场景缓存雪崩的解决方案雪崩的整体解决方案熔断设计隔离设计超时机制设计如何提前发现雪崩什么是应用服务雪崩雪崩问题分布式系统都存在这样一个问题,由于网络的不稳定性,决定了任何一个服务的可用性都不是 100% 的。当网...
  • 发布了文章2022-09-30
    Java 读写锁 ReadWriteLock 原理与应用场景详解
    读写锁并不是JAVA所特有的读写锁(Readers-Writer Lock)顾名思义是一把锁分为两部分:读锁和写锁,其中读锁允许多个线程同时获得,因为读操作本身是线程安全的,而写锁则是互斥锁,不允许多个线程同时获得写锁,并且写操作和读操作也是互斥的。
  • 发布了文章2022-09-29
    RabbitMQ 原理和架构图解 (附 6 大工作模式)
    为什么要使用RabbitMQ?1.解耦系统A在代码中直接调用系统B和系统C的代码,如果将来D系统接入,系统A还需要修改代码,过于麻烦。2.异步将消息写入消息队列,非必要的业务逻辑以异步的方式运行,加快响应速度。3.削峰并发量大的时候,所有的请求直接怼到数据库,造成数...
  • 发布了文章2022-09-28
    Java线程同步的四种方式详解(建议收藏)
    ​ Java线程同步属于Java多线程与并发编程的核心点,需要重点掌握,下面我就来详解Java线程同步的4种主要的实现方式@mikechen目录什么是线程同步线程同步的几种方式1、使用synchronized关键字2.使用ReentrantLock3.使用原子变量实现线程同步4.ThreadLocal实现线程同步...
  • 发布了文章2022-09-27
    分布式ID详解(5种分布式ID生成方案)
    如在金融、电商、支付、等产品的系统中,数据日渐增长,对数据分库分表后需要有一个唯一ID来标识一条数据或消息,数据库的自增ID显然不能满足需求,此时一个能够生成全局唯一ID的系统是非常必要的。
  • 发布了文章2022-09-26
    搞透 IOC,Spring IOC 看这篇就够了!
    IOC与AOP属于Spring的核心内容,如果想掌握好Spring你肯定需要对IOC有足够的了解 @mikechenIOC的定义IOC是Inversion of Control的缩写,多数书籍翻译成“控制反转”。IOC不是一种技术,只是一种思想,一个重要的面向对象编程的法则,它能指导我们如何设计出松耦合、更...
  • 发布了文章2022-09-22
    消息队列MQ核心原理全面总结(11大必会原理)
    消息队列已经逐渐成为分布式应用场景、内部通信、以及秒杀等高并发业务场景的核心手段,它具有低耦合、可靠投递、广播、流量控制、最终一致性 等一系列功能。
  • 发布了文章2022-09-21
    Mybatis一级缓存和二级缓存原理区别(图文详解)
    Java面试经常问到Mybatis一级缓存和二级缓存,今天就给大家重点详解Mybatis一级缓存和二级缓存原理与区别@mikechenMybatis缓存缓存就是内存中的数据,常常来自对数据库查询结果的保存,使用缓存可以避免频繁与数据库进行交互,从而提高查询响应速度。MyBatis 提供了...
  • 发布了文章2022-09-20
    Kafka为什么性能这么快?4大核心原因详解
    Kafka 是基于操作系统 的页缓存(page cache)来实现文件写入的,我们也可以称之为 os cache,意思就是操作系统自己管理的缓存。
  • 发布了文章2022-09-19
    Java 异步编程 (5 种异步实现方式详解)
    ​ 同步操作如果遇到一个耗时的方法,需要阻塞等待,那么我们有没有办法解决呢?让它异步执行,下面我会详解异步及实现@mikechen目录什么是异步?一、线程异步二、Future异步三、CompletableFuture异步四、SpringBoot @Async异步五、Guava异步Java异步编程小结什么是...
  • 发布了文章2022-08-18
    Spring AOP全面详解(超级详细)
    AOP (Aspect Orient Programming),直译过来就是 面向切面编程,AOP 是一种编程思想,是面向对象编程(OOP)的一种补充。
  • 发布了文章2022-08-17
    9大性能优化经验总结,强烈建议收藏!
    有一些性能问题,完全是由于代码写的不合理,通过直接修改一下代码就能解决问题的,比如for循环次数过多、作了很多无谓的条件判断、相同逻辑重复多次等,这样的优化成本是最低的。