随笔分类 -  大厂架构面试干货合集

摘要:Redis提供了三种集群方式,下面我重点详解Redis三种集群方式的原理及优缺点等区别@mikechen 目录 Redis主从复制模式 Redis哨兵模式 Redis集群模式 Redis主从复制模式 1.Redis主从复制定义 主从模式是三种模式中最简单的,主从模式指的是使用一个Redis实例作为主 阅读全文
posted @ 2022-12-22 11:02 mikechen的互联网架构 阅读(4396) 评论(0) 推荐(0) 编辑
摘要:G1(Garbage First)垃圾收集器,是目前垃圾回收技术最前沿的成果之一。G1 同 CMS 垃圾回收器一样,关注最小时延的垃圾回收器,适合大尺寸堆内存的垃圾收集。但G1 最大的特点是引入分区的思路,弱化了分代的概念,合理利用垃圾收集各个周期的资源,解决了其他收集及 CMS 的很多缺陷。官方推荐使用 G1 来代替 CMS。 阅读全文
posted @ 2022-11-02 16:03 mikechen的互联网架构 阅读(1084) 评论(0) 推荐(1) 编辑
摘要:图文详解 Kafka ,一文了解掌握 Kafka 的基本架构、原理、特性、应用场景,以及 Zookeeper 在 kafka 的作用。 阅读全文
posted @ 2022-11-01 09:51 mikechen的互联网架构 阅读(4009) 评论(0) 推荐(3) 编辑
摘要:​ 动态代理在 Java 中有着广泛的应用,例如:Spring AOP 面向切面编程,Hibernate 数据查询、以及 RPC Dubbo 远程调用等,都有非常多的实际应用@mikechen 目录 Java 动态代理原理 JDK 原生动态代理 CGLib 动态代理实现 JDK 动态代理与 CGLi 阅读全文
posted @ 2022-10-31 09:56 mikechen的互联网架构 阅读(1663) 评论(0) 推荐(1) 编辑
摘要:一个看起来很简单的应用,可能需要数十或数百个服务来支撑,一个请求就要多次服务调用。 当请求变慢、或者不能使用时,我们是不知道是哪个后台服务引起的。 这时,我们使用 Zipkin 就能解决这个问题。 由于业务访问量的增大,业务复杂度增加,以及微服务架构和容器技术的兴起,要对系统进行各种拆分。 微服务系 阅读全文
posted @ 2022-10-25 17:48 mikechen的互联网架构 阅读(6088) 评论(0) 推荐(3) 编辑
摘要:5大负载均衡算法 (原理图解)负载均衡,是分布式架构的必备技术,也是进阶的必学技术,需要重点掌握。本文深入详解负载均衡的5大核心算法,我们先来看一张典型的集群和负载均衡架构图:当一台机器不能承受访问压力时,我们大多会通过横向增加两台、或者多台服务器,来共同承担访问压力,来极大的降低后端的访问压力,提升用户的访问性能。但是,从一台扩展到多台服务器后,如何将客户端的流量、分发到具体的服务器呢?是通过服务器 1 、还是服务器 3 ?这就涉及到了具体的负载均衡算法。 阅读全文
posted @ 2022-10-25 09:41 mikechen的互联网架构 阅读(1068) 评论(1) 推荐(1) 编辑
摘要:Dubbo 原理和机制详解 (非常全面)Dubbo 是一款 Java RPC 框架,致力于提供高性能的 RPC 远程服务调用方案,是开发人员必知必会的技术之一。本文深入详解 Dubbo 的原理机制,带你了解并掌握:Dubbo核心功能、Dubbo核心组件、Dubbo的架构设计、Dubbo调用流程、Dubbo核心功能等核心知识点。Dubbo主要提供了3大核心功能:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。1)远程方法调用:网络通信框架,提供对多种NIO框架抽象封装,包括“同步转异步”和“请求-响应”模式的信息交换方式。 2)智能容错和负载均衡:提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失败容错,地址路由,动态配置等集群支持。 阅读全文
posted @ 2022-10-24 09:29 mikechen的互联网架构 阅读(2520) 评论(1) 推荐(1) 编辑
摘要:目录 雪花算法简介 雪花算法的优缺点 雪花算法原理 雪花算法代码实现 雪花算法简介 雪花算法,英文名为snowflake,翻译过来就是是雪花,所以叫雪花算法。 在大自然雪花形成过程中,会形成不同的结构分支,所以说不存在两片完全一样的雪花,表示生成的id如雪花般独一无二。 雪花算法,它最早是twitt 阅读全文
posted @ 2022-10-13 09:44 mikechen的互联网架构 阅读(10910) 评论(1) 推荐(6) 编辑
摘要:目录 什么是应用服务雪崩 雪崩效应产生的几种场景 缓存雪崩的解决方案 雪崩的整体解决方案 熔断设计 隔离设计 超时机制设计 如何提前发现雪崩 什么是应用服务雪崩 雪崩问题 分布式系统都存在这样一个问题,由于网络的不稳定性,决定了任何一个服务的可用性都不是 100% 的。当网络不稳定的时候,作为服务的 阅读全文
posted @ 2022-10-10 10:14 mikechen的互联网架构 阅读(1246) 评论(0) 推荐(3) 编辑
摘要:Java并发编程提供了读写锁,主要用于读多写少的场景,今天我就重点来讲解读写锁的底层实现原理@mikechen 什么是读写锁? 读写锁并不是JAVA所特有的读写锁(Readers-Writer Lock)顾名思义是一把锁分为两部分:读锁和写锁,其中读锁允许多个线程同时获得,因为读操作本身是线程安全的 阅读全文
posted @ 2022-09-30 08:58 mikechen的互联网架构 阅读(4875) 评论(0) 推荐(3) 编辑
摘要:为什么要使用RabbitMQ? 1.解耦 系统A在代码中直接调用系统B和系统C的代码,如果将来D系统接入,系统A还需要修改代码,过于麻烦。 2.异步 将消息写入消息队列,非必要的业务逻辑以异步的方式运行,加快响应速度。 3.削峰 并发量大的时候,所有的请求直接怼到数据库,造成数据库连接异常。 Rab 阅读全文
posted @ 2022-09-29 09:34 mikechen的互联网架构 阅读(2270) 评论(0) 推荐(0) 编辑
摘要:分布式架构会涉及到分布式全局唯一ID的生成,今天我就来详解分布式全局唯一ID,以及分布式全局唯一ID的实现方案@mikechen 什么是分布式系统唯一ID 在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识。 如在金融、电商、支付、等产品的系统中,数据日渐增长,对数据分库分表后需要有一个唯一 阅读全文
posted @ 2022-09-27 09:38 mikechen的互联网架构 阅读(2378) 评论(0) 推荐(8) 编辑
摘要:IOC与AOP属于Spring的核心内容,如果想掌握好Spring你肯定需要对IOC有足够的了解 @mikechen IOC的定义 IOC是Inversion of Control的缩写,多数书籍翻译成“控制反转”。 IOC不是一种技术,只是一种思想,一个重要的面向对象编程的法则,它能指导我们如何设 阅读全文
posted @ 2022-09-26 09:49 mikechen的互联网架构 阅读(894) 评论(1) 推荐(4) 编辑
摘要:消息队列已经逐渐成为分布式应用场景、内部通信、以及秒杀等高并发业务场景的核心手段,它具有低耦合、可靠投递、广播、流量控制、最终一致性 等一系列功能。 无论是 RabbitMQ、RocketMQ、ActiveMQ、Kafka还是其它等,都有的一些基本原理、术语、机制等,总结分享出来,希望大家在使用消息 阅读全文
posted @ 2022-09-22 09:37 mikechen的互联网架构 阅读(1590) 评论(0) 推荐(2) 编辑
摘要:Java面试经常问到Mybatis一级缓存和二级缓存,今天就给大家重点详解Mybatis一级缓存和二级缓存原理与区别@mikechen Mybatis缓存 缓存就是内存中的数据,常常来自对数据库查询结果的保存,使用缓存可以避免频繁与数据库进行交互,从而提高查询响应速度。 MyBatis 提供了对缓存 阅读全文
posted @ 2022-09-21 10:06 mikechen的互联网架构 阅读(2544) 评论(3) 推荐(4) 编辑
摘要:Kafka的性能快这是大厂Java面试经常问的一个话题,下面我就重点讲解Kafka为什么性能这么快的4大核心原因@mikechen 1、页缓存技术 Kafka 是基于操作系统 的页缓存(page cache)来实现文件写入的,我们也可以称之为 os cache,意思就是操作系统自己管理的缓存。 Ka 阅读全文
posted @ 2022-09-20 09:41 mikechen的互联网架构 阅读(5016) 评论(1) 推荐(5) 编辑
摘要:如果说 IOC 是 Spring 的核心,那么面向切面编程AOP就是 Spring 另外一个最为重要的核心@mikechen AOP的定义 AOP (Aspect Orient Programming),直译过来就是 面向切面编程,AOP 是一种编程思想,是面向对象编程(OOP)的一种补充。 面向切 阅读全文
posted @ 2022-08-18 11:12 mikechen的互联网架构 阅读(2159) 评论(0) 推荐(3) 编辑
摘要:性能优化属于Java高级岗的必备技能,而且大厂特别喜欢考察,今天主要给大家介绍9种性能优化的方法@mikechen 1.代码 之所以把代码放到第一位,是因为这一点最容易引忽视,比如拿到一个性能优化的需求以后,言必称缓存、异步等。 实际上,第一步就应该是分析相关的代码,找出相应的瓶颈,再来考虑具体的优 阅读全文
posted @ 2022-08-17 10:44 mikechen的互联网架构 阅读(2685) 评论(0) 推荐(12) 编辑
摘要:面试官考察Java引用会问到强引用、弱引用、软引用、虚引用,具体有什么区别?本篇单独来详解 @mikechen Java引用 从JDK 1.2版本开始,对象的引用被划分为4种级别,从而使程序能更加灵活地控制对象的生命周期,这4种级别由高到低依次为:强引用、软引用、弱引用和虚引用。 强引用 强引用是最 阅读全文
posted @ 2022-08-13 09:54 mikechen的互联网架构 阅读(1321) 评论(1) 推荐(0) 编辑
摘要:MyBatis 是 Java 生态中非常著名的一款 ORM 框架,目前在一线互联网大厂中应用广泛,Mybatis已经成为了一个必会框架。 如果你想要进入一线大厂,能够熟练使用 MyBatis 开发已经是一项非常基本的技能,同时大厂也更希望自己的开发人员深入了解 MyBatis 框架的原理和核心实现。 阅读全文
posted @ 2022-08-12 09:45 mikechen的互联网架构 阅读(1323) 评论(2) 推荐(0) 编辑

点击右上角即可分享
微信分享提示