自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(108)
  • 资源 (3)
  • 收藏
  • 关注

原创 Sentinel 使用案例详细教程

从基础配置开始,介绍了如何在 Spring Cloud 项目中集成 spring-cloud-starter-alibaba-sentinel,并展示了如何定义降级规则,例如基于错误比例进行熔断。通过代码示例,讲解了 @SentinelResource 的使用,包括 blockHandler 和 fallback 的区别,分别处理限流异常和业务异常。

2024-09-10 22:57:19 846

原创 OpenFeign 使用案例教程

运行成功,稍等几秒启动时间,浏览器输入 http://localhost:8848/nacos/index.html 查看控制台。在运行所有微服务后,运行 http://localhost:9000/order/create。这些微服务将通过 Nacos 进行服务注册和发现,它们之间有特定的关系和交互方式。由于这些微服务的代码基本类似,本文只展示如何创建 Order Service。, 不同微服务之间的配置基本上差不多。

2024-09-09 20:30:17 999

原创 Idea 创建 Maven项目的时候卡死

是用来创建项目的模板。它允许开发人员使用预定义的结构、配置和依赖项来生成新项目。使用 Archetype 有助于标准化项目并通过提供遵循特定设计的起点来实施最佳实践。在使用 Internal 这种类型的 CataLog 的时候,maven-archetype-plugin 在 generate 项目模板的时候卡死。在不同的上下文中指的是一个有组织的项目、实体或组件的集合。它通常用于结构化数据、项目或资源,以便于导航、发现和管理。就是存放 Archetype 数据的文件。

2024-09-09 11:03:43 822

原创 自定义 SpringBoot Starter

自定义 SpringBoot Starter 的详细教程

2024-09-05 22:42:20 793

原创 设计模式——建造者模式

建造者模式(Builder Pattern)也叫做生成器模式,将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

2024-09-04 18:09:45 1073

原创 设计模式 —— 单例模式

单例模式(Singleton Pattern)是一个比较简单的模式,其定义如下:确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。

2024-09-04 16:50:07 597

原创 RocketMQ Dashboard 报错:org.apache.rocketmq.remoting.execption.connect to [rmqnamesrv:9876] failed

RocketMQ Dashboard 报错:org.apache.rocketmq.remoting.execption.connect to [rmqnamesrv:9876] failed

2024-09-03 16:29:26 325

原创 Java 集合—— ArrayList 源码分析

分析 ArrayList 的底层数据结构和扩容机制。

2024-08-22 16:13:15 807

原创 分布式基础理论——CAP理论和BASE理论

由于分布式系统在CAP理论中最多只能同时满足两个特性,在实际场景中,大多数分布式系统会选择AP方案,即牺牲强一致性以确保系统的可用性和分区容错性。最终一致性允许多个节点的数据在短时间内存在差异,但经过一段时间后,这些数据会自动同步,最终达到一致的状态。因此,分布式系统理论上不可能选择 CA 架构,只能选择 CP 或者 AP 架构。因为 CA 架构的系统不再是标准的分布式系统,主数据库和从数据库不在进行同步。,C 和 A 是可以同时满足的,因为此时无需考虑分区容错性(P)的影响。

2024-08-20 17:13:44 1439

原创 Mybatis框架——使用案例详细教程(mybatis-spring-boot-starter依赖)

Mybatis框架使用案例详细教程, 利用 mybatis-spring-boot-starter 依赖来查询数据库

2024-08-14 20:27:48 965

原创 Mybatis框架——使用案例详细教程

Mybatis框架使用案例详细教程,利用 mybatis 依赖来查询数据库

2024-08-14 20:09:15 1182

原创 控制反转和依赖注入

IOC (Inversion of Control,控制反转)是面向对象编程中的一种设计思想,将程序中创建对象的控制权交给外部环境(Spring 框架、IoC 容器 )来管理,以便降低计算机代码之间的耦合度。IoC 容器是用来实现 IoC 的载体,负责实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。在传统的编程模式中,程序员负责创建和管理对象及其依赖关系,而在控制反转的设计中,这些控制权被转移到外部容器或框架,程序员只需关注业务逻辑,具体的对象创建和管理由容器负责。

2024-08-11 22:17:57 377

原创 拓扑排序及其具体实现

设GVEG=(V,E)GVE是一个具有nnn个顶点的有向无环图(DAG, Directed Acyclic Graph)VVV中的顶点序列 ”v1v2vnv1​v2​vn​“ 称为一个拓扑序列(topological sequence)。若vivj<v_i,v_j>vi​vj​是图中的一条边或者从顶点viv_ivi​到顶点vjv_jvj​有路径,则在该拓扑序列中顶点viv_ivi​必须排在顶点vjv_j。

2024-08-10 22:36:08 776

原创 Java并发编程——CAS算法定义和使用案例

CAS( Compare And Swap) 是一种保障变量操作原子性的无锁算法,可以在多个线程之间实现对共享数据的安全更新。

2024-08-07 17:58:52 997

原创 Java 并发编程—— Unsafe 类详细解析

UnSafe 类封装了 CPU 的底层原子操作,从而提供 CAS 方法。

2024-08-07 17:57:22 496

原创 Java并发编程——线程创建的4种常见方式

介绍常见的 4 种Java线程创建方式,并给出相应的源码解析。

2024-08-07 17:51:08 2202

原创 slf4j 日志框架的使用方法

介绍 slf4j 的使用方法,并给出如何利用 Lombok 的注解 @slf4j 的案例

2024-08-01 20:22:09 457

原创 Spring 如何集成日志框架

介绍 SpringBoot 使用日志框架和配置日志框架的方式

2024-08-01 20:16:53 591

原创 如何自定义异常

自定义异常的具体步骤

2024-07-31 21:26:17 336

原创 异常概述及其抛出与捕获机制

介绍异常的定义和类层次结构,并给出抛出异常和捕获异常的方式。

2024-07-31 21:24:25 1108

原创 异步通信方式的两种消息传输模型

异步通信是分布式系统中子模块远程通信的一种方式,主要通过中间件来实现。异步通信的消息传输模型主要有点对点模型和发布订阅模型。

2024-07-28 15:35:04 548

原创 面向切面编程 AOP

AOP(Aspect-Oriented Programming,面向切面编程)是一种编程范式,旨在将横切关注点(cross-cutting concerns)从业务逻辑代码中分离出来,以提高代码的模块化和可维护性。横切关注点是指那些在多个模块中都会出现的关注点,例如日志记录、安全检查、事务管理等。

2024-07-27 21:27:16 400

原创 Java 注解概述和自定义注解案例

注解是元数据的一种形式,它提供的数据不是程序本身的一部分。注解对它们注释的代码的操作没有直接影响。举个简单的例子,系统上有一个sm.png文件,这个文件才是我们真正需要的数据本身,而这个文件的属性则可以称之为sm.png的元数据,是用来描述 png 文件的创建时间、修改时间、分辨率等信息的,这些信息无论是有还是没有都不影响它作为图片的性质,都可以使用图片软件打开。注解的生效依赖于它们被解析的方式编译期直接扫描:编译器在编译 Java 代码时会扫描对应的注解并进行相应处理。运行期通过反射处理。

2024-07-26 15:59:51 806

原创 SpringBoot整合RedisTemplate的使用方法

本文介绍 RedisTemplate 的配置及使用方法,并给出详细的例子

2024-07-14 21:34:37 425

原创 什么是Stream流

Stream API 是 Java 8 引入的一个用于处理集合数据的新抽象。它提供了一种更便利、更灵活的方式来操作集合,支持函数式编程的风格。Stream API 的目标是通过更简洁的语法和更高效的执行方式,使得对集合的操作更加方便和优雅。

2024-07-11 22:07:18 1170

原创 IDEA自动生成测试类以及测试方法(JUnit测试工具)

在 Java 项目中,利用IDEA提供的功能来快速创建测试类,编写测试代码

2024-07-11 21:58:44 1150

原创 map-filter-reduce 算法在 Java 中的实现

map-filter-reduce 是处理数据的非常经典的算法(也是一种常用于集合处理的编程范式),可以在函数式编程中高效地对集合进行转换和处理。

2024-07-10 19:46:13 761

原创 JavaDoc的最佳实践

JavaDoc 是一款能根据源代码中的文档注释来产生 HTML 格式的 API 文档的工具。文档注释以/**开头、以*/结尾,并且每行要以星号开头。文档注释覆盖范围包括:类、接口、方法、构造器、成员字段,如果写在其他位置,比如函数内部,被视为无效的文档注释。文档注释支持 HTML 语法和 辅助标签。

2024-07-10 19:40:30 1394

原创 信息安全三要素

信息安全三要素,通常被称为CIA三要素,是确保信息和系统安全的核心原则。这三要素分别是:机密性(Confidentiality):保护数据不被未授权访问或泄露。完整性(Integrity):确保数据在传输和存储过程中没有被未经授权的篡改。可用性(Availability):确保资源和信息在需要时能够被合法用户访问。

2024-07-07 22:14:25 1098

原创 函数式接口的定义及常见类型

函数式接口是一个具有且仅有一个抽象方法(Abstract Method)的接口。在Java中,函数式接口被用于支持函数式编程的特性,允许将函数作为一等公民来传递和使用。只包含一个抽象方法,但可以包含默认方法和静态方法。可以使用注解进行标识,以确保它符合函数式接口的规范。(该注解不是必需的)这种接口可以通过Lambda表达式、方法引用来表示简洁的实现方式。函数式接口的设计允许将行为作为参数传递,使得代码更加简洁和可读。

2024-07-07 22:08:16 988

原创 并发编程中常见的锁

列举锁在不同角度上的分类,并重点介绍常见的锁。

2024-07-05 21:25:16 636

原创 进程、程序、应用程序之间的关系

程序与进程:程序是代码和指令的集合,而进程是程序在执行时的实例。一个程序可以同时或在不同时间点启动多个进程。应用程序与程序:应用程序是更高层次的概念,通常包含多个程序模块。一个复杂的应用程序可能由许多不同的程序和脚本组成。应用程序与进程:应用程序在运行时会生成一个或多个进程。例如,一个Web浏览器(应用程序)可能启动多个进程来处理不同的标签页或插件。

2024-07-05 20:39:11 490

原创 函数式编程

函数式编程(Functional Programming,简称FP)是一种编程范式,它将计算视为数学上的函数运算,强调函数的应用而非改变状态和数据。函数式编程的核心理念是使用纯函数和不可变数据结构,通过函数组合来构建程序,从而提高代码的可读性、可维护性和并发性。函数式编程可以被视为声明式编程的一种。

2024-07-04 21:17:14 559

原创 声明式编程和命令式编程

命令式编程(Imperative Programming)是一种编程范式,它通过明确的步骤和指令告诉计算机如何执行任务。这种编程风格非常详细,程序员需要明确地指定计算机的操作顺序。声明式编程(Declarative Programming)是一种编程范式,强调描述“做什么”而不是“怎么做”。在声明式编程中,程序员定义预期的结果或行为,而不是编写实现这些结果的具体步骤。编译器或解释器负责确定如何实现这些结果。

2024-07-04 21:15:52 610

原创 分布式系统中的经典思想实验——两将军问题和拜占庭将军问题

分布式系统中,两将军问题和拜占庭将军问题是两个经典的理论问题,用来描述分布式系统中节点之间通信和一致性挑战。理解这些问题有助于认识分布式系统的可靠性和一致性难题。

2024-06-16 22:56:30 1023

原创 分布式系统与集群:区别与联系

分布式系统和集群是现代计算领域中常见的两种架构,它们在设计目标、应用场景和技术实现上有显著的区别,同时也有一些共同点。分布式系统通过将一个大型任务分解成多个子任务,分配到不同的节点进行并行处理,以提高处理能力和效率,并实现高可用性和扩展性。集群则通过部署多个相同的系统实例,均衡负载,提高性能和可靠性。

2024-06-16 17:02:58 559

原创 HTML 中使用 JavaScript 的具体方式

介绍在 HTML 文档里面使用 JavaScript 的常见方式

2024-06-10 20:53:57 1930 1

原创 #define 和 const 定义常量的区别

给出 #define 和 const 定义常量的详细区别, 并以数组定义为例来阐述

2024-06-06 16:40:49 323

原创 单调栈的定义以及使用模板

单调栈(Monotonic Stack)是一种特殊的栈数据结构,主要用于解决一些与单调性相关的问题。单调栈的特点是栈内元素保持单调性,通常是单调递增或单调递减。注意:这里定义的顺序是从「栈顶」到「栈底」。

2024-05-04 23:59:19 968

原创 布隆过滤器原理及应用场景

本文深入探讨了布隆过滤器的原理、应用和优势。通过对布隆过滤器的详细解释,读者将了解如何利用布隆过滤器高效地进行数据过滤和去重,以及如何在实际项目中应用布隆过滤器解决各种数据处理挑战。

2024-03-16 21:24:30 1192

Audacity安装教程以及相应插件

FFmpeg、LAME安装过程,以及对应的文件资源

2022-10-20

二手车网站(Java)

使用Java语言 利用了Spring技术 B/S架构

2022-03-02

股票交易项目(Java实现).zip

基于spring-boot框架的数据爬取和处理(利用httpClient实现) 功能要求: 1. 数据的爬取; 2. 将爬取的信息保存到MySQL数据库中; 3. 对爬取的数据进行展示和处理。

2021-07-01

软件综合设计报告.rar

Java实现的棋盘覆盖,带图形界面(Eclipse平台) 包含代码源文件和算法说明 实现功能有: 1.实现棋盘覆盖算法,并将结果呈现 2.将覆盖算法分步动态地呈现 3.可以前进、后退动态呈现

2021-04-09

空空如也

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

TA关注的人

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