自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(135)
  • 资源 (1)
  • 收藏
  • 关注

原创 网络学习(七) | 深入理解HTTP通信机制

HTTP(超文本传输协议,HyperText Transfer Protocol)是用于在客户端和服务器之间传输超文本数据的一种通信协议。它是万维网的基础协议,定义了客户端(如网页浏览器)如何从服务器请求资源,以及服务器如何响应这些请求。通信机制指的是信息在两个或多个实体之间传递的方式和过程。在计算机网络和信息技术领域,通信机制涉及各种协议、方法和技术,用于确保数据从一个点传输到另一个点时的完整性、可靠性和有效性。

2024-05-17 19:35:30 717

原创 网络学习(六) | 深入解析HTTP状态码:重定向、错误处理及排查步骤

HTTP状态码是服务器向客户端返回的一个三位数字代码,用于表示服务器对请求的处理结果。以下是一些常见的HTTP状态码及其含义

2024-05-16 20:56:12 824

原创 网络学习(五) | 深入探讨HTTP请求与响应头

自定义请求头和响应头可以在HTTP通信中提供额外的信息,以满足特定的需求或执行特定的操作。身份验证可以使用自定义请求头来传递身份验证信息,如API密钥或令牌。客户端信息可以将客户端特定的信息添加到请求头中,以便服务器能够了解客户端的特性或偏好。数据格式可以指定客户端希望接收的数据格式,如JSON、XML等。请求跟踪可以为每个请求添加唯一标识符,以便在系统中跟踪和诊断请求的处理流程。缓存控制可以通过自定义请求头来指示服务器如何处理缓存,例如是否强制刷新数据或使用缓存副本。自定义数据格式。

2024-05-16 20:53:23 1192

原创 网络学习(四) | 探寻HTTP基础:起源、结构与方法解析

它的起源可以追溯到20世纪90年代初,由蒂姆·伯纳斯-李(Tim Berners-Lee)和他的团队在CERN(欧洲核子研究组织)开发出来,作为构建万维网(World Wide Web)的基础。总的来说,HTTP协议经过多年的发展,已经成为了互联网世界中不可或缺的基础设施之一,而其不断演进的过程也反映了互联网技术发展的脉络和趋势。HTTP请求和响应的基本结构可以看作是一个包含不同部分的信封,每个部分都承载着特定的信息,客户端和服务器通过这些信息进行通信和交互。

2024-05-16 20:51:53 460

原创 网络学习(三)|Feign与RPC在微服务架构中的应用对比

Feign:Feign是一个轻量级的Java库,专为简化HTTP API客户端调用而生。通过动态代理和接口注解,Feign使得调用远程服务如同调用本地方法一样直观便捷。它常用于Spring Cloud等微服务框架中,与服务发现、负载均衡等服务治理组件紧密集成,提供了一种声明式的HTTP客户端解决方案。RPC:RPC是一种跨网络进程间通信技术,其目标是使远程服务调用如同本地调用一样透明。

2024-05-15 20:27:25 732

原创 网络学习(二)|网络标识符URI与URL的区别与联系

在工作中,我们经常会听到URI和URL这两个术语,它们是网络中不可或缺的概念。尽管它们常常被混淆使用,但它们代表着不同的概念和角色。我们将深入探讨URI和URL,帮助彻底理解它们之间的区别和联系。

2024-05-15 20:22:50 299

原创 网络学习(一)|深入了解API网关:定义、功能和关键术语

API 网关(API Gateway)是一个核心的服务架构组件,用于管理、路由和保护对后端服务的访问。它充当了系统内外的接口,负责接收来自客户端的请求,并将其路由到相应的后端服务,然后将服务的响应返回给客户端。API 网关在现代软件架构中扮演着至关重要的角色,特别是在微服务架构中。

2024-05-15 20:20:05 321

原创 Redis学习(十)|使用消息队列的重试机制实现 MySQL 和 Redis 的数据一致性

在分布式系统中,保持 MySQL 和 Redis 之间的数据一致性是至关重要的。为了确保数据的一致性,我们通常采取先更新数据库,再删除缓存的方案。然而,在实际应用中,由于网络问题、服务故障等原因,可能会导致数据库更新成功而缓存删除失败,进而导致数据不一致。为了解决这个问题,我们可以引入消息队列的重试机制,以确保缓存删除成功。通过引入消息队列的重试机制,可以有效地实现 MySQL 和 Redis 的数据一致性。

2024-05-07 21:19:08 1174 2

原创 Redis学习(九)|如何保证MySQL和Redis的数据一致性

数据一致性:当缓存中有数据时,缓存中数据的值=数据库的值数据不一致:缓存中的数据值≠数据库的值,或者缓存中存在数据库不存在的值。

2024-05-07 20:54:09 990 1

原创 Redis学习(八)|什么是缓存雪崩、击穿、穿透?

缓存雪崩、击穿和穿透是在缓存系统中常见的问题,它们都可能导致缓存系统的性能下降或者服务不可用。

2024-05-06 20:45:23 801

原创 Redis学习(七)|如何保证Redis中的数据都是热点数据

MySQL里有2000w数据,redis中只存20w的数据,如何保证redis中的数据都是热点数据?这个问题涉及到在一个数据量差异很大的情况下,如何有效地管理和保证Redis中的数据都是热点数据。让我们逐步分析

2024-05-06 20:43:56 923

原创 Redis学习(六)|深入理解Redis分布式锁

Redis分布式锁是在分布式系统中实现并发控制和资源共享的重要技术之一。本文将深入探讨Redis分布式锁的原理、设计考虑以及最佳实践,帮助我们全面理解并正确应用Redis分布式锁,以确保系统的可靠性和性能。

2024-04-29 20:36:37 1041

原创 Redis学习(五)|深入学习Redis的高级功能-发布与订阅

Redis的发布与订阅(Pub/Sub)是一种消息传递模式,它包含两个主要角色:发布者(publisher)和订阅者(subscriber)。发布者向指定的频道(channel)发布消息,而订阅者可以订阅一个或多个频道,并在消息发布到订阅的频道时接收消息通知。

2024-04-28 20:50:35 1061

原创 Redis学习(四)|深入学习Redis的高级数据结构

Redis作为一种高性能的键值存储系统,除了基本的数据结构(字符串、列表、集合、哈希、有序集合)外,还提供了一系列高级数据结构,本文将深入介绍这些高级数据结构的原理、用法以及应用场景,帮助更全面地了解和应用Redis。

2024-04-28 20:48:03 769

原创 Redis学习(三)| Redis高可用和容错机制详解

Redis(Remote Dictionary Server)是一种高性能的开源内存数据库,广泛应用于缓存、会话存储、消息队列等场景。在实际应用中,确保Redis的高可用性和容错性是至关重要的。高可用性(High Availability)和容错性(Fault Tolerance)是指在面对各种故障和异常情况时,Redis 服务器能够继续提供服务并保持数据的可靠性和一致性的能力。

2024-04-25 22:02:20 1019

原创 Redis学习(二)|深入学习Redis 持久化

Redis 的持久化是指将 Redis 在内存中的数据写入到持久化存储介质(通常是磁盘)上,以便在 Redis 服务器重启时能够恢复数据。持久化是为了保证数据不会因服务器故障或重启而丢失。Redis 提供了两种主要的持久化方式:RDB 持久化和AOF 持久化。

2024-04-25 20:48:28 1185

原创 Redis学习(一)|基础部分

Redis是一种开源的内存数据库,它可以用作缓存、数据库和消息代理。Redis通常被称为数据结构服务器,因为它支持各种复杂的数据结构,如字符串、列表、集合、有序集合、哈希表等。这些数据结构不仅仅是简单的键值对,而且可以包含更复杂的值,如列表、集合等。

2024-04-23 20:39:50 1041

原创 设计模式|原型模式(Prototype Pattern)

原型模式(Prototype Pattern)是一种创建型设计模式,其核心思想是通过复制现有对象来创建新对象,而无需显式地指定它们的类。这种模式通常用于当对象的创建成本较高,或者对象初始化过程比较复杂时。

2024-04-22 23:11:02 1081

原创 设计模式|代理模式(Proxy Pattern)

代理模式(Proxy Pattern)是一种结构型设计模式,它允许你提供一个间接访问对象的方式,以控制对对象的访问。这种模式通常在不改变原始类代码的情况下,添加一些额外的逻辑或控制。

2024-04-22 21:16:23 969

原创 设计模式|组合模式(Composite Pattern)

组合模式(Composite Pattern)是一种结构型设计模式,它允许你将对象组合成树形结构以表示部分-整体的层次结构。这种模式使得客户端能够以统一的方式处理单个对象和组合对象。

2024-04-18 23:01:03 1298

原创 设计模式|迭代器模式(Iterator)

迭代器模式(Iterator)是一种行为设计模式,它允许在不暴露集合底层表示的情况下,顺序访问一个集合中的元素。这种模式在需要逐个处理集合中的元素,而又不希望暴露其内部结构的情况下非常有用。

2024-04-17 21:42:35 1139

原创 软件开发的20条原则

原则是工作的准则,代表了许多人从经验中总结出来的集体智慧

2024-04-16 21:21:06 482

原创 设计模式|访问者模式(Visitor Pattern)

访问者模式是一种行为设计模式,它允许在不改变已有类的情况下定义一组新的操作。这些操作通常分散在不同的类中,但是希望能够对这些类的对象进行统一的处理。访问者模式的核心思想是将操作从对象结构中分离出来,使得可以在不改变这些对象的前提下定义新的操作。

2024-04-16 21:12:02 1012

原创 java面试题(7)|Java 中的 Set 集合是如何保证添加元素不重复的?

在 Java 中,Set 集合通过其实现类来确保不包含重复元素。常见的实现类有 HashSet、TreeSet 和 LinkedHashSet。

2024-04-15 22:15:39 227

原创 设计模式|适配器模式(Adapter Pattern)

适配器模式(Adapter Pattern)是一种结构型设计模式,用于将一个类的接口转换成客户端所期望的另一个接口。这种模式通常用于解决两个已有接口之间不兼容的情况。适配器模式使得不兼容的接口能够协同工作,而无需修改已有的代码。这对于集成已有代码库或者第三方组件时非常有用,因为它可以帮助在不破坏现有接口的情况下实现必要的功能补充。

2024-04-12 18:05:23 1606

原创 设计模式|建造者模式(Builder Pattern)

建造者模式(Builder Pattern)是一种创建型设计模式,用于将一个复杂对象的构建过程与其表示分离,以便可以使用相同的构建过程创建不同的表示。

2024-04-12 17:10:01 1285

原创 设计模式|装饰器模式(Decorator Pattern)

装饰器模式(Decorator Pattern)是一种结构型设计模式,它允许在不改变原始对象的基础上,动态地给对象添加新的功能或责任。这种模式是通过创建一个包装对象,也就是装饰器,来包裹真实的对象,然后在装饰器中添加新的行为或功能。这样,就可以在运行时动态地修改对象的行为。

2024-04-10 21:33:31 812

原创 版本管理|Git -目前最好的版本管理工具

在软件开发中,版本通常指的是代码或项目的一个特定状态或发布的一个特定副本。每次对代码或项目进行修改时,开发团队可以选择增加版本号或标记新版本,以便在未来能够准确追踪和识别不同的代码状态。

2024-04-10 10:27:35 1127

原创 java面试题(6)|Java中有哪些不同强度的引用类型?

Java中有四种不同强度的引用,分别是:强引用、软引用、弱引用和虚引用。它们的区别主要体现在对对象的垃圾回收行为和引用对象的生命周期管理上。

2024-04-09 22:10:37 460

原创 设计模式|单例模式(Singleton Pattern)

单例模式(Singleton Pattern)是一种创建型设计模式,它确保类只有一个实例,并提供一个全局访问点来访问这个实例。

2024-04-09 21:52:06 1144

原创 版本管理面试题|SVN和Git有什么区别?

SVN(Subversion)和Git都是版本控制系统,它们用于跟踪和管理项目中文件的变化。总的来说,Git在分布式开发、性能和分支管理方面具有优势,特别适合大型项目和团队协作。而SVN在简单性和集中式控制方面可能更适合一些特定的工作流程和团队。

2024-04-08 21:04:48 418

原创 java面试题(5)|Java 中 throw 与 throws 的区别是什么?

在Java中,`throw`和`throws`是两个关键字,它们用于异常处理,但在语法和作用上有所不同

2024-04-07 21:53:25 275

原创 设计模式|命令模式(Command Pattern)

命令模式(Command Pattern)是一种行为设计模式,它允许将请求封装成对象,从而使你可以参数化其他对象对请求的执行。在命令模式中,请求的发送者和接收者之间不直接交互,而是通过一个命令对象来解耦。这使得请求发送者无需知道请求的具体操作或者接收者,从而增强了系统的灵活性和可扩展性。

2024-04-04 18:47:28 1631

原创 设计模式|责任链模式(Chain of Responsibility Pattern)

责任链模式(Chain of Responsibility Pattern)是一种行为设计模式,它允许你创建一个对象链。请求将沿着这个链传递,直到有一个对象处理它为止。这种模式可以使请求的发送者和接收者解耦。当想让一个以上的对象有机会能够处理同一请求的时候,就可以使用责任链模式(Chanin of Responsibility Pattem)

2024-04-04 17:55:52 1455

原创 java面试题(4)|Spring和Spring Boot之间有什么关联和区别

Spring Boot不是Spring的替代品,而是Spring框架的一种扩展。它的设计目标是简化Spring应用程序的开发流程,提供了快速启动、自动化配置等功能,使得开发者能够更快速地构建基于Spring的应用程序。

2024-04-03 19:37:46 1630

原创 设计模式|状态机模式(State Machine Pattern)

状态机模式(State Machine Pattern)是一种用于描述对象的行为软件设计模式,属于行为型设计模式。在状态机模式中,对象的行为取决于其内部状态,并且在不同的状态下,对象可能会有不同的行为。

2024-04-03 18:59:16 1890

原创 java面试题(3)|解释 null 和 “null“ 之间的区别,并举例说明它们在编程中的使用场景

null 和 "null" 之间的区别主要在于语义和数据类型上:null 是一个特殊的值,通常用于表示缺少有效值或未定义的变量。在许多编程语言中,null是一个关键字,表示空值。例如,在Java中,当一个对象尚未被初始化时,它的值为 null。"null" 是一个字符串,它包含四个字符 ‘n’, ‘u’, ‘l’, ‘l’。它是一个普通的字符串,没有特殊的语义。例如,我们可以在字符串处理操作中使用 "null",如字符串拼接、比较等。

2024-04-02 19:10:11 540

原创 坚持刷题|分发饼干

Hello,大家好,我是阿月。坚持刷题,老年痴呆追不上我,今天刷第一个贪心算法:分发饼干

2024-04-01 20:53:15 887

原创 MySQL|为什么不推荐用外键?

外键(Foreign Key)是关系数据库中的重要概念,用于建立表与表之间的关联关系。外键约束确保了数据的完整性和一致性,通过指定表中的一列或多列与另一表的主键或唯一键进行关联。这部分将介绍外键的基本概念、使用方法以及最佳实践。

2024-04-01 20:18:17 772

原创 java面试题(2)|什么是弱引用

弱引用(Weak Reference)是在 Java 编程语言中用于描述一种弱引用类型的对象引用。在 Java 中,弱引用是一种比较特殊的引用类型,它的存在不会阻止垃圾回收器对被引用的对象进行回收。

2024-03-26 20:21:37 688

三级数据库无纸化考试模拟软件.rar

一个计算机三级数据库的模拟软件,上传于此是为了个人备份

2019-08-29

空空如也

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

TA关注的人

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