自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 收藏
  • 关注

原创 深入理解Spring IOC

我们在最开始学习 Spring 的时候,就接触 IOC 了,IOC是Spring相对比较核心的概念,本文上面五个体系可以说是 Spring IOC 中最核心的部分,只有深入理解了IOC,在我们阅读Spring源码的时候,我们才能够更更加清晰。

2024-01-13 20:12:25 1766 12

原创 深入理解Nacos

Nacos是一个基于云原生架构的动态服务发现、配置管理和服务治理平台。支持多种编程语言和多种部署方式,并且与Spring Cloud等主流的微服务框架深度集成

2024-03-28 08:15:00 1052

原创 深入分析 ApplicationContext 的 refresh()

上篇博客只是对 ApplicationContext 相关的接口做了一个简单的介绍Spring ApplicationContext 相关接口架构分析Spring 真的是一个非常优秀的框架,具有良好的结构设计和接口抽象,它的每一个接口职能单一,且都是具体功能到各个模块的高度抽象,且几乎每套接口都提供了一个默认的实现(defaultXXX),本文主要是以 Spring Framework 的 ApplicationContext 为中心,对其结构和功能的实现进行了简要的说明。#refresh()方法。

2024-03-23 11:13:13 579

原创 如何进行SQL调优?

SQL调优是面试中经常爱问的问题,这个问题可以考察一个候选人对于SQL的整体性能优化的理解和掌握程度,今天我么你来聊一聊如何继续宁SQL调优。

2024-03-23 11:09:43 231

原创 阿里的库存秒杀是如何实现的?

阿里有很多业务,几十上百个业务线,各自都有一些需要做抢购、秒杀、热点扣将的场景。他们都用哪些方案呢?我看了很多资料,也找了很多人做交流,最终得到的结论是啥都有,主要总结几个主流的,在用的一些方案。本文我们一起讨论方案的实现以及原理。

2024-03-23 11:00:26 1291

原创 关于订单到期关闭的实现方案

在电商、支付等系统中,一般都是先创建订单(支付单),再给用户一定的时间进行支付,如果没有按时支付的话,就需要把之前的订单(支付单)取消掉。这种类似的场景有很多,还有比如到期自动收货、超时自动退款、下单后自动发送短信等等都是类似的业务问题。我们本文介绍了11种实现订单定时关闭的方案,其中不同的方案各自都有优缺点,也各自适用于不同的场景中。

2024-03-22 08:15:00 1278

原创 Redis的内存淘汰策略是怎么样的?

Redis 的内存淘汰策略用于在内存满了之后,决定哪些 key 要被删除。Redis 支持多种内存淘汰策略,可以通过面置文件中的 maxmemory-policy 参数来指定。以下是 Redis 支持的内存淘汰策略。

2024-03-15 07:45:00 873

原创 聊聊RocketMQ

先提交一个半消息,然后执行本地事务,再发送一个commit的半消息。首先在生产者端,消息的发送分为同步和异步两种,在同步发送消息的情况下,消息的发送会同步阻塞等待Broker返回结果,在Broker确认收到消息之后,生产者才会拿到SendResult,如果这个过程中发生异常,那么就说明消息发送可能失败了,就需要生产者进行重新发送消息。在发送事务消息时,首先向RocketMQ Broker发送一条 “half消息”(即半消息),半消息将被存储在Broker端的事务消息日志中,但是这个消息还不能被消费者消费。

2024-03-08 08:45:00 619

原创 金三银四JAVA程序猿的求职攻略:简历篇

随着春天的脚步渐近,对于许多程序员来说,一年中最繁忙、最重要的面试季节也随之而来。金三银四,即三月和四月,被广大程序员视为求职的黄金时期想要能够在众多的求职者中脱颖而出,拥有一个好的简历就尤其的重要。简历不是项目总结、不是工作总结、更不是你的生平介绍,他的目的是能体现出你的价值,体现出你和别人不一样。在金三银四的关键时期如何准备简历,快来看看吧~

2024-03-06 09:30:00 1166

原创 Redis为什么这么快?

Redis 作为Web应用、缓存、消息系统、实时统计等领域中非常受欢迎的数据库。Redis的特点包括快速、高可用和易扩展等,本文我们就一起探讨,Redis为何如此之快。

2024-03-04 09:25:04 895

原创 分布式系统如何做数据对账?

在分布式系统中,虽然我们会使用各种分布式事务的方案,来保证各个系统之间的一致性。但是,很多时候往往事与愿违。尤其是现在很多公司都采用最终一致性的方案,而所谓最终一致性,无论是本地消息表、事务消息、还是任务重试,系统之间的调用都是有可能失败的。而一旦发生失败,就需要有一套机制来发现这些不一致的问题,这时候就需要做数据对账了。本篇文章的一个目的在于提供一种分布式系统的组合对账方法,具有一定的实用性。

2024-03-01 09:02:34 987

原创 分库分表之分表

分库分表是在面对高并发、海量数量时常见的数据库层面的解决方案。通过把数据分散到不同的数据库中,使得单一数据库的数据量变小来缓解单一数据库的性能问题,从而达到提升数据库性能的目的。本篇我们将探讨如何分表。

2024-02-28 10:32:13 935 1

原创 深入理解分库、分表、分库分表

分库分表,是企业里面比较常见的针对高并发、数据量大的场景下的一种技术优化方案,所谓"分库分表",根本就不是一件事儿,而是三件事儿,他们要解决的问题也都不一样,这三个事儿分别是"只分库不分表"、"只分表不分库”、以及"既分库又分表"。本文我们一起理解分库、分表的奥秘。

2024-02-27 07:45:00 2463

原创 什么是柔性事务?

柔性事务,是业内解决分布式事务的主要方案。所谓柔性事务,相比较与数据库事务中的ACID这种刚性事务来说,柔性事务保证的是“基本可用,最终一致。”这其实就是基于BASE理论,保证数据的最终一致性。

2024-02-24 09:00:00 1222

原创 深入了解布隆过滤器

布隆过滤器是一种数据结构,用于快速检索一个元素是否可能存在于一个集合(bit 数组)中。我们一起来深入了解布隆过滤器。

2024-02-23 10:01:58 761

原创 深入理解CAS

深入理解CAS

2024-02-22 08:30:00 1287

原创 为什么Java不支持多继承?

为什么Java不支持多继承?本文给你答案

2024-02-21 08:15:00 1174

原创 Spring ApplicationContext 相关接口架构分析

Spring 真的是一个非常优秀的框架,具有良好的结构设计和接口抽象,它的每一个接口职能单一,且都是具体功能到各个模块的高度抽象,且几乎每套接口都提供了一个默认的实现(defaultXXX),本文主要是以 Spring Framework 的 ApplicationContext 为中心,对其结构和功能的实现进行了简要的说明。

2024-02-20 07:45:00 1108

原创 深入理解Java序列化的原理

序列化是将对象转换为可传输格式的过程。是一种数据的持久化手段。一般广泛应用于网络传输,RMI和RPC等场景中。几乎所有的商用编程语言都有序列化的能力,不管是数据存储到硬盘,还是通过网络的微服务传输,都需要序列化能力。本文将探索JAVA序列化原理

2024-02-19 08:00:00 726

原创 漏桶和令牌桶有啥区别?

漏桶和令牌桶都是用来做流量控制的算法。经常会有人把他们放在一起对比。本文我们来分析二者的区别。

2024-02-18 08:00:00 741

原创 Java是如何实现的平台无关?

平台无关性就是一种语言在计算机上的运行不受平台的约束,一次编译,到处执行(WriteOnce ,Run Anywhere).也就是说,用Java创建的可执行二进制程序,能够不加改变的运行于多个平台。

2024-02-12 08:12:54 829

原创 聊聊JIT优化技术

我们知道,想要把高级语言转变成计算机认识的机器语言有两种方式,分别是编译和解释,然Java转成机器语言的过程中有一个步骤是要编译成字节码,但是,这里的字节码并不能在机器上直接执行。所以,IM中内置了解释器(interpreter),在运行时对字节码进行解释翻译成机器码,然后再执行。解释器的执行方式是一边翻译,一边执行,因此执行效率很低。为了解决这样的低效问题HotSpo引入了JIT技术(Just-In-Time)。本文我们就聊聊JIT。

2024-02-09 10:45:48 1021

原创 为啥我不建议使用@Transactional事务

事务管理在系统开发中是不可缺少的一部分,Spring提供了很好事务管理机制,主要分为编程式事务和声明式事务两种。本文先简单介绍下什么是声明式事务和编程式事务,再说一下为什么我不建议使用声明式事务。

2024-02-07 08:15:00 1000

原创 库存扣减如何避免超卖和少卖?

所谓”超卖"指的就是商品卖多了,一般我们在商品扣减库存的时候,都会先判断库存够不够如果够在进行扣减,不够则直接返回下单失败。但是,如果在高并发场景中,可能存在诸多问题,本文来解决可能存在的问题

2024-02-06 07:30:00 1524

原创 每天100w次登录请求,4C8G机器:如何做JVM调优?

JVM调优的作用是优化Java虚拟机的性能,从而提高程序的执行效率、稳定性和可靠性等多个方面。本文从实际场景出发,进行JVM调优。

2024-02-05 09:18:32 1082

原创 Spring IOC 之深入分析 Aware 接口

本文我们基本上可以了解 Aware 真正的含义。

2024-02-04 11:34:04 1112

原创 Cookie,Session,Token的区别是什么?

Cookie、Session和Token是用于在Web应用程序中管理用户状态和身份验证的技术。因为在Web应用中,HTTP的通信是无状态的,每个请求都是完全独立的,所以服务端无法确认当前访问者的身份信息,无法分辨上一次的请求发送者和这一次的发送者是不是同一个人。Cookie是由服务器发送给用户浏览器的小型文本文件,存储在客户端的浏览器中。它会在浏览器下次向同一服务器再发起请求时被携带并发送到服务器上。服务器可以读取Cookie并使用其中的信息来进行识别和个性化处理。

2024-02-03 08:00:00 886

原创 什么是TCP三次握手、四次挥手?

什么是TCP三次握手、四次挥手?本篇文章给您答案。

2024-02-02 07:45:00 709

原创 深度解析MySQL主从复制

看本文之前,请先了解-下binlog、redolog等,知道他们的作用及写入过程。看到这里默认大家了解以上背景了,本篇主要将MySQL主从复制的过程以及复制方式。

2024-02-01 07:12:34 1077

原创 深入理解数据库事务

数据库事务( transaction)是访问并可能操作各种数据项的一个数据库操作序列,这些操作要么全部执行,要么全部不执行,是个不可分割的工作单位。本文从多个角度分析数据库事务,并阐述了事务产生的问题。

2024-01-31 08:15:00 1023

原创 深入理解Spring Boot自动配置原理

本节我们从源码角度了解Spring Boot 自动配置原理,一起感受SpringBoot的魅力。在理解 Spring Boot 自动配置的原理的过程中,我们会发现,无论是配置类,还是条件注解也好,实际 Spring 原本都已经进行提供。甚至说,SpringFactoriesLoader 竟然也是 Spring 提供的。所以,Spring Boot 是在 Spring 的基础之上,实现了一套 Boot 启动机制。

2024-01-30 08:30:00 1394

原创 MySql之深入理解MVCC

MVCC,是Multiversion Concurrency Control的缩写,翻译过来是多版本并发控制,和数据库锁一样,他也是一种并发控制的解决方案。本文清晰的讲解了Mvcc的实现原理。

2024-01-29 08:45:00 1073

原创 关于CSRF和XSS攻击,这一篇就够了!

如今越来越多的应用程序依靠Web这一平台发展为由用户主导的内容互联网模式。Web应用已经成为了当前最流行的计算机应用程序,但是随着Web应用的越来越火热,安全问题也随之而来,跨站脚本攻击(XSS)和跨站请求伪造(CSRF)是两种最流行的Web应用攻击方式。这里我们浅析CSRF攻击和XSS攻击的原理·起源和防范,并提出了防范攻击的一些可行性措施。

2024-01-28 11:12:35 1021 1

原创 关于DDoS,这一篇就够了!

在今天的信息时代,计算机网络的应用已经涉及到了社会的方方面面,人们的生活与网络密不可分,从而网络系统的安全、可靠性也成为用户最为关注的焦点。这里我们浅析 ddos(分布式拒绝服务攻击)的原理·起源和防范,从而对分布式拒绝服务攻击手段进行了较为全面地剖析,并提出了防范 ddos 攻击的一些可行性措施。

2024-01-27 08:30:00 1065

原创 Load飙高问题排查过程

🎉欢迎来到专栏:Load飙高问题排查过程好学而不勤非真好学者📜 欢迎大家关注!❤️。

2024-01-25 07:59:08 1103

原创 JAVA如何实现本地缓存?

本文主要探讨如何设计本地缓存,欢迎评论区留言,一起讨论。

2024-01-24 07:57:17 1130

原创 单体服务到微服务架构的演进

随着公司业务的发展,传统的单体架构受到越来越多的瓶颈,因此微服务架构的改造已经成为了一种趋势。本文以订单系统为例,探讨单体服务如何演进到微服务架构,仅供参考,欢迎评论区留言,一起讨论。

2024-01-23 07:59:14 1270

原创 【订单领域】如果订单要分库分表,如何确认最佳库表数量?

随着业务发展,订单单库单表到达性能瓶,需要进行分库分表。分库分表需要考虑的因素有: 单表性能、硬盘容量、在线 DDL耗时、数据库连接数等。本文的重心放在如何计算库表数量,欢迎评论区留言,一起讨论。

2024-01-22 07:04:45 946

原创 Java实现百万级数据从Excel导入到数据库

在一个后台管理功能中,Excel导入数据是不可缺少,但是当处理大数据量的Excel文件导入时候就可能会带来一些列的问题,本文我们会分析问题产生的原因。并提供解决方案以及完整的实现代码。

2024-01-21 00:34:25 2456

原创 基于 Redis 实现高性能、低延迟的延时消息的方案演进

延时消息来源于早期计算机对异步处理的需求,随着互联网的发展,越来越多的业务场景需要使用延队列。随着技术的进步,实现的方式也愈来愈多种多样,以 Java 语言为例,实现的方式也是多如牛毛,例如使用JDK字段得工具包实现;使用任务调度框架实现;使用Netty的时间轮询实现;使用消息队列实现;使用Redis 实现等等。本文主要探讨 Redis 实现延时消息的几种不同的方案演进。

2024-01-20 08:30:00 1172 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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