辰辰zZ_个人页

个人头像照片 辰辰zZ
个人头像照片 个人头像照片
40
0
0

个人介绍

暂无个人介绍

擅长的技术

  • Java
  • 微服务
  • 敏捷开发
  • 中间件
  • 关系型数据库
获得更多能力
通用技术能力:

暂时未有相关通用技术能力~

云产品技术能力:

暂时未有相关云产品技术能力~

阿里云技能认证

详细说明
暂无更多信息

2024年04月

  • 04.29 21:39:16
    发表了文章 2024-04-29 21:39:16

    【Spring系列笔记】AOP

    面向切面编程就是面向特定方法编程。通过将横切关注点(cross-cutting concerns)从主要业务逻辑中分离出来,提供一种更好的代码模块化和可维护性。 横切关注点指的是在应用程序中横跨多个模块或层的功能,例如日志记录、事务管理、安全性、缓存、异常处理等。
  • 04.29 18:32:33
    发表了文章 2024-04-29 18:32:33

    【Spring系列笔记】依赖注入,循环依赖以及三级缓存

    依赖注入: 是指通过外部配置,将依赖关系注入到对象中。依赖注入有四种主要方式:构造器注入、setter方法注入、接口注入以及注解注入。其中注解注入在开发中最为常见,因为其使用便捷以及可维护性强;构造器注入为官方推荐,可注入不可变对象以及解决循环依赖问题。本文基于依赖注入方式引出循环依赖以及三层缓存的底层原理,以及代码的实现方式。
  • 04.27 20:58:38
    发表了文章 2024-04-27 20:58:38

    【Spring系列笔记】定义Bean的方式

    在Spring Boot应用程序中,定义Bean是非常常见的操作,它是构建应用程序的基础。Spring Boot提供了多种方式来定义Bean,每种方式都有其适用的场景和优势。
  • 04.27 20:56:09
    发表了文章 2024-04-27 20:56:09

    【Spring系列笔记】IOC与DI

    IoC 和 DI 是面向对象编程中的两个相关概念,它们主要用于解决程序中的依赖管理和解耦问题。 控制反转是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。其中最常见的方式叫做依赖注入和依赖查找。
  • 04.27 15:00:40
    发表了文章 2024-04-27 15:00:40

    【Redis系列笔记】Redis事务

    Redis事务的本质是一组命令的集合。事务支持一次执行多个命令,一个事务中所有命令都会被序列化。在事务执行过程,会按照顺序串行化执行队列中的命令,其他客户端提交的命令请求不会插入到事务执行命令序列中。
  • 04.27 11:40:33
    发表了文章 2024-04-27 11:40:33

    【Redis系列笔记】分布式锁

    分布式锁:满足分布式系统或集群模式下多进程可见并且互斥的锁。 分布式锁的核心思想就是让大家都使用同一把锁,只要大家使用的是同一把锁,那么我们就能锁住线程,不让线程进行,让程序串行执行,这就是分布式锁的核心思路
  • 04.26 16:04:18
    发表了文章 2024-04-26 16:04:18

    【Redis系列笔记】内存淘汰及过期删除

    Redis是一个内存键值对数据库,所以对于内存的管理尤为重要。Redis内部对于内存的管理主要包含两个方向,过期删除策略和数据淘汰策略。内存淘汰策略指在Redis内存使用达到一定阈值的时候,执行某种策略释放内存空间,以便于接收新的数据。数据过期删除策略是指在数据的有效时间到期后,如何从内存中删除这些数据的规则。
  • 04.24 22:46:25
    发表了文章 2024-04-24 22:46:25

    【Redis系列笔记】Redis集群

    集群是一种在多个计算机或服务器之间分配和管理任务的方式。它们被广泛应用于大型计算任务、数据处理、网络服务和高性能计算等领域。在Redis中,主要有以下三种集群,分别是主从集群,哨兵集群,分片集群。
  • 04.24 21:29:07
    发表了文章 2024-04-24 21:29:07

    【Redis系列笔记】双写一致性

    本文讨论了缓存不一致问题及其后果,如价格显示错误和订单计算错误。问题主要源于并发和双写操作的异常。解决方案包括使用分布式锁(但可能导致性能下降和复杂性增加)、延迟双删策略(通过延迟删除缓存来等待数据同步)以及异步同步方法,如通过Canal和MQ实现数据的最终一致性。面试中,可以提及这些策略来确保数据库和缓存数据的一致性。
  • 04.24 21:17:20
    发表了文章 2024-04-24 21:17:20

    【Redis系列笔记】缓存三剑客

    缓存穿透是指请求一个不存在的数据,缓存层和数据库层都没有这个数据,这种请求会穿透缓存直接到数据库进行查询。它通常发生在一些恶意用户可能故意发起不存在的请求,试图让系统陷入这种情况,以耗尽数据库连接资源或者造成性能问题。 缓存击穿发生在访问热点数据,大量请求访问同一个热点数据,当热点数据失效后同时去请求数据库,瞬间耗尽数据库资源,导致数据库无法使用。 缓存雪崩是缓存中大量key失效后当高并发到来时导致大量请求到数据库,瞬间耗尽数据库资源,导致数据库无法使用。
  • 04.23 20:11:28
    发表了文章 2024-04-23 20:11:28

    【设计模式系列笔记】访问者模式

    访问者模式是一种行为设计模式,旨在将算法与对象结构分离,使得能够在不修改元素类的前提下定义新的操作。这一模式的核心思想是在元素类中添加一个接受访问者的方法,从而实现在不同元素上执行不同操作的能力。
  • 04.23 20:08:13
    发表了文章 2024-04-23 20:08:13

    【设计模式系列笔记】模板方法模式

    模板方法模式是一种行为设计模式,它定义了一个算法的骨架,并允许子类在不改变该算法结构的情况下重新定义算法的某些步骤。这种模式属于行为型模式,它通过将算法的不同部分封装在不同的方法中,从而使子类能够在不改变算法结构的前提下定制算法的某些步骤。
  • 04.23 20:06:10
    发表了文章 2024-04-23 20:06:10

    【设计模式系列笔记】策略模式

    策略模式(Strategy Pattern)是一种行为设计模式,它定义了一系列的算法,将每个算法封装起来,并且使它们可以互相替换。策略模式使得算法可以独立于客户端而变化。
  • 04.23 20:03:19
    发表了文章 2024-04-23 20:03:19

    【设计模式系列笔记】状态模式

    在Java中,状态模式是一种行为设计模式,它允许对象在其内部状态改变时改变其行为。状态模式的关键思想是将对象的状态封装成独立的类,并将对象的行为委托给当前状态的对象。这样,当对象的状态发生变化时,其行为也会相应地发生变化。
  • 04.23 18:33:53
    发表了文章 2024-04-23 18:33:53

    【设计模式系列笔记】观察者模式

    观察者模式是一种设计模式,它允许一个对象(主题)维护一组依赖于它的对象(观察者)并在状态发生变化时通知它们。这种模式属于行为型模式。在观察者模式中,主题是被观察的对象,而观察者是依赖于主题的对象,当主题的状态发生变化时,所有注册的观察者都会得到通知并自动更新。
  • 04.23 18:31:05
    发表了文章 2024-04-23 18:31:05

    【设计模式系列笔记】备忘录模式

    备忘录模式(Memento Pattern)是一种行为设计模式,它允许在不暴露对象实现细节的情况下捕获并恢复其内部状态。这种模式属于行为型设计模式。备忘录模式通常包含以下几个角色:发起人,备忘录,管理者。
  • 04.23 18:27:53
    发表了文章 2024-04-23 18:27:53

    【设计模式系列笔记】中介者模式

    中介者模式(Mediator Pattern)是一种行为设计模式,它通过将对象之间的直接通信转移到一个中介对象中,来减少对象之间的耦合度。这种模式被用来处理一个对象与其他对象之间的交互,使得各对象之间不需要直接相互了解。
  • 04.23 18:25:54
    发表了文章 2024-04-23 18:25:54

    【设计模式系列笔记】迭代器模式

    迭代器模式是一种行为设计模式,它提供了一种方法来顺序访问一个聚合对象中的各个元素,而不需要暴露该对象的内部表示。该模式通过定义一个迭代器接口,负责定义访问和遍历元素的方法,以及一个可迭代接口,负责返回迭代器的实例。
  • 04.23 18:22:56
    发表了文章 2024-04-23 18:22:56

    【设计模式系列笔记】解释器模式

    解释器模式(Interpreter Pattern)是一种行为型设计模式,它定义了一种语言的文法,并且建立一个解释器来解释该语言中的句子。在Java中,解释器模式通常用于实现编程语言解释器、正则表达式解释器等。
  • 04.22 20:50:07
    发表了文章 2024-04-22 20:50:07

    【设计模式系列笔记】命令模式

    命令模式是一种行为设计模式,它将请求封装成一个对象,从而允许使用不同的请求、队列或日志请求参数化客户端对象,同时支持撤销操作。
  • 04.22 20:47:10
    发表了文章 2024-04-22 20:47:10

    【设计模式系列笔记】责任链模式

    责任链模式是一种行为设计模式,它允许你将请求沿着处理者链进行传递,直到有一个处理者能够处理它。每个处理者都有一个对下一个处理者的引用。责任链模式常用于处理请求的场景,例如在一个请求需要经过多个步骤或者多个对象来处理的情况下。
  • 04.22 20:45:05
    发表了文章 2024-04-22 20:45:05

    【设计模式系列笔记】代理模式

    代理模式是一种结构型设计模式,它允许一个对象(代理对象)控制另一个对象的访问。代理对象通常充当客户端和实际对象之间的中介,用于对实际对象的访问进行控制、监控或其他目的。
  • 04.22 20:43:09
    发表了文章 2024-04-22 20:43:09

    【设计模式系列笔记】享元模式

    享元模式(Flyweight Pattern)是一种结构型设计模式,旨在通过共享对象来最小化内存使用或计算开销,以提高性能。该模式适用于需要大量相似对象的场景,通过共享这些相似对象的部分状态,可以有效减少内存消耗。
  • 04.22 20:40:11
    发表了文章 2024-04-22 20:40:11

    【设计模式系列笔记】外观模式

    外观模式(Facade Pattern)是Java设计模式中的一种结构型模式,其目的是为了提供一个简化的接口,隐藏系统的复杂性,使得客户端能够更容易地使用系统。
  • 04.21 20:05:00
    发表了文章 2024-04-21 20:05:00

    【设计模式系列笔记】装饰者模式

    装饰者模式是一种结构型设计模式,它允许你通过将对象放入包含行为的特殊封装类中来为原始对象添加新的行为。这种模式可以动态地将责任附加到对象上,而不影响其它对象。
  • 04.21 20:01:46
    发表了文章 2024-04-21 20:01:46

    【设计模式系列笔记】组合模式

    组合模式(Composite Pattern)是一种结构型设计模式,它允许将对象组合成树状结构以表示部分-整体的层次结构。组合模式使得客户端可以统一处理单个对象和对象组合,而无需区分它们的类型。
  • 04.21 20:00:15
    发表了文章 2024-04-21 20:00:15

    【设计模式系列笔记】桥接模式

    桥接模式(Bridge Pattern)是一种结构性设计模式,它将抽象部分与实现部分分离,使它们可以独立变化而互不影响。桥接模式通过组合而不是继承的方式来实现这种分离。
  • 04.21 19:56:42
    发表了文章 2024-04-21 19:56:42

    【设计模式系列笔记】适配器模式

    适配器模式(Adapter Pattern)是一种结构型设计模式,用于将一个类的接口转换成客户端所期望的另一种接口。它允许原本由于接口不匹配而无法一起工作的类能够协同工作。适配器模式通常涉及一个称为适配器的类,它充当两个不兼容接口之间的桥梁。
  • 04.21 19:54:26
    发表了文章 2024-04-21 19:54:26

    【设计模式系列笔记】原型模式

    原型模式(Prototype Pattern)是一种创建型设计模式,其主要目的是通过复制现有对象来创建新对象,而无需知道其具体类型。这种模式属于对象创建型模式,通过克隆来避免使用new关键字创建对象,提高性能和降低系统的耦合度。
  • 04.20 22:40:35
    发表了文章 2024-04-20 22:40:35

    【设计模式系列笔记】建造者模式

    建造者模式是一种创建型设计模式,用于将复杂对象的构建与其表示分离,使构建过程可定制。关键元素包括产品类(定义要构建的对象)、建造者接口(定义构建方法)、具体建造者类(实现构建过程)和指导者类(负责构建过程)。通过建造者模式,客户端可以灵活地创建具有不同表示的复杂对象,提高代码的可读性和可维护性,尤其适用于构建过程复杂且包含多个可选部分的情况。
  • 04.20 21:56:04
    发表了文章 2024-04-20 21:56:04

    【设计模式系列笔记】抽象工厂模式

    抽象工厂模式(Abstract Factory Pattern)是一种设计模式,属于创建型模式之一。它提供了一种方式来创建一系列相关或相互依赖的对象,而无需指定它们具体的类。抽象工厂模式通过引入抽象的工厂接口,使得客户端代码可以使用抽象的接口来创建一组相关的产品,而不关心这些产品的具体实现。
  • 04.20 21:53:50
    发表了文章 2024-04-20 21:53:50

    【设计模式系列笔记】工厂模式

    工厂模式是一种创建型设计模式,其主要目的是将对象的创建过程抽象出来,以便在需要的时候由子类来实现。这种模式提供了一种方法,通过调用一个共同的接口来创建一组相关或依赖的对象,而无需指定其具体的类。
  • 04.20 21:51:21
    发表了文章 2024-04-20 21:51:21

    【设计模式系列笔记】单例模式

    单例模式是一种创建型设计模式,它确保一个类只有一个实例,并提供一个全局访问点,以便全局范围内访问这个实例。单例模式的目标是限制一个类的实例化,确保在整个应用程序中只有一个实例存在,并提供对这个唯一实例的全局访问点。这对于控制对资源的访问、限制特定类的实例数量等场景非常有用。
  • 04.19 22:27:58
    发表了文章 2024-04-19 22:27:58

    【微服务系列笔记】Seata

    Seata是一种开源的分布式事务解决方案,旨在解决分布式事务管理的挑战。它提供了高性能和高可靠性的分布式事务服务,支持XA、TCC、AT等多种事务模式,并提供了全局唯一的事务ID,以确保事务的一致性和隔离性。Seata还提供了分布式事务的协调、事务日志、事务恢复等功能,帮助开发人员简化分布式事务的管理和实现。
  • 04.17 18:08:59
    发表了文章 2024-04-17 18:08:59

    【微服务系列笔记】MQ消息可靠性

    消息可靠性涉及防止丢失,包括生产者发送时丢失、未到达队列以及消费者消费失败处理后丢失。 确保RabbitMQ消息可靠性的方法有:开启生产者确认机制,确保消息到达队列;启用消息持久化以防止未消费时丢失;使用消费者确认机制,如设置为auto,由Spring确认处理成功后ack。此外,可开启消费者失败重试机制,多次失败后将消息投递到异常交换机。
  • 04.17 17:18:56
    发表了文章 2024-04-17 17:18:56

    【Redis系列笔记】持久化

    Redis的确是将数据存储在内存的,但是也会有相关的持久化机制将内存持久化备份到磁盘,以便于重启时数据能够重新恢复到内存中,避免数据丢失的风险。有三种持久化方式——RDB,AOF,混合持久化。RDB持久化是形成数据快照,把内存中的所有数据都记录到磁盘中,是全量持久化。AOF持久化是把Redis处理的每一个写命令都会记录在AOF文件,可以看做是命令日志文件,是增量化持久。混合持久化则结合两者。
  • 04.17 15:35:01
    发表了文章 2024-04-17 15:35:01

    【MySQL系列笔记】MVCC

    多版本并发控制。指维护一个数据的多个版本,使得读写操作没有冲突,快照读为MySQL实现MVCC提供了一个非阻塞读功能。 MVCC的具体实现,还需要依赖于数据库记录中的三个隐式字段、undo log日志、readView。在 RC、RR 这两种隔离级别下生效。 在事务也提到,MVCC是保证MySQL在默认隔离级别RR情况下,针对快照读解决幻读问题。而针对当前读需要隔离锁的临键锁(记录锁+间隙锁)去解决。
  • 04.15 00:18:19
    发表了文章 2024-04-15 00:18:19

    【MySQL系列笔记】索引

    MySQL的索引是一种数据结构,用于加快数据库查询操作的速度。它们通过在表中的一个或多个列上创建索引,可以快速定位到符合特定条件的行,从而提高查询效率。MySQL支持多种类型的索引,包括B树索引、哈希索引和全文索引。B树索引是最常用的索引类型,能够高效地支持范围查询和排序操作。创建和使用索引需要根据具体的查询需求和数据特点进行优化,避免过度索引或不正确索引导致的性能下降。此外,索引的维护也需要考虑到对数据库性能和存储空间的影响。因此,合理地创建、管理和使用索引是提高MySQL数据库性能的重要手段。
  • 04.14 10:00:11
    发表了文章 2024-04-14 10:00:11

    【MySQL系列笔记】隔离锁

    MySQL 中的锁分为三种粒度:全局锁、表级锁和行级锁。全局锁用于锁定整个数据库,例如在进行全库逻辑备份时使用。表级锁分为表锁,元数据锁和意向锁;表锁又分为读锁(共享锁)和写锁(排他锁),用于锁定单表数据。元数据锁(MDL)在 DML 操作时自动加锁,确保事务的正确性;意向锁为了避免DML在执行时,加的行锁与表锁的冲突。行级锁分为记录锁、间隙锁和临键锁。记录锁锁定单行记录,间隙锁锁定索引记录之间的间隙,防止事务间隙插入,临键锁结合了记录锁和间隙锁,防止幻读并锁定数据和前一个间隙。
  • 04.14 09:39:54
    发表了文章 2024-04-14 09:39:54

    【MySQL系列笔记】事务

    事务是数据库操作的序列,确保一组操作要么全部成功要么全部失败。它们具有原子性、一致性、隔离性和持久性(ACID)特性。原子性保证事务中的所有操作不可分割,一致性确保事务前后数据库状态符合业务规则,隔离性防止并发事务间数据交错,持久性则指事务提交后结果永久保存。MySQL的InnoDB引擎支持四种隔离级别,包括读未提交、读已提交、可重复读和串行化,以平衡并发性能和数据一致性。默认的可重复读级别通过MVCC避免幻读问题。事务可通过开始、提交、回滚命令管理,并有扁平、带有保存点、链式、嵌套和分布式等多种类型。并发事务可能导致脏读、不可重复读和幻读等问题,通过锁和隔离级别来解决。
  • 发表了文章 2024-04-29

    【Spring系列笔记】AOP

  • 发表了文章 2024-04-29

    【Spring系列笔记】依赖注入,循环依赖以及三级缓存

  • 发表了文章 2024-04-27

    【Spring系列笔记】定义Bean的方式

  • 发表了文章 2024-04-27

    【Spring系列笔记】IOC与DI

  • 发表了文章 2024-04-27

    【Redis系列笔记】Redis事务

  • 发表了文章 2024-04-27

    【Redis系列笔记】分布式锁

  • 发表了文章 2024-04-26

    【Redis系列笔记】内存淘汰及过期删除

  • 发表了文章 2024-04-24

    【Redis系列笔记】Redis集群

  • 发表了文章 2024-04-24

    【Redis系列笔记】双写一致性

  • 发表了文章 2024-04-24

    【Redis系列笔记】缓存三剑客

  • 发表了文章 2024-04-23

    【设计模式系列笔记】访问者模式

  • 发表了文章 2024-04-23

    【设计模式系列笔记】模板方法模式

  • 发表了文章 2024-04-23

    【设计模式系列笔记】状态模式

  • 发表了文章 2024-04-23

    【设计模式系列笔记】策略模式

  • 发表了文章 2024-04-23

    【设计模式系列笔记】备忘录模式

  • 发表了文章 2024-04-23

    【设计模式系列笔记】观察者模式

  • 发表了文章 2024-04-23

    【设计模式系列笔记】中介者模式

  • 发表了文章 2024-04-23

    【设计模式系列笔记】迭代器模式

  • 发表了文章 2024-04-23

    【设计模式系列笔记】解释器模式

  • 发表了文章 2024-04-22

    【设计模式系列笔记】外观模式

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息
正在加载, 请稍后...
暂无更多信息