自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 在SpringCloud2023中快速集成SpringCloudGateway网关

本文主要简单介绍SpringCloud2023实战中SpringCoudGateway的搭建。后续的文章将会介绍在微服务中使用熔断Sentinel、鉴权OAuth2、SSO等技术。

2024-05-09 09:46:05 218

原创 一次通过dump文件分析OutOfMemoryError异常代码定位过程

OutOfMemoryError异常是Java程序中常见的异常,通常出现在内存不足时,导致程序无法运行。借助MAT内存分析工具分析可能的内存泄漏代码问题定位。

2024-05-06 09:51:54 650 3

原创 从自定义一个作用域开始来了解SpringBean的作用域

Spring6提供了多种Bean作用域。本文从作用域demo、自定义设计作用域到作用域Spring实现来全方位了解作用域。以及说明了单例bean里面注入了原型bean这种bug级操作怎么解决。

2024-05-01 10:58:55 971 1

原创 Spring中控制反转究竟反转的什么

控制反转(Inversion of Control, IoC)是一个设计原则,Spring框架对控制反转原则进行了实现。

2024-04-28 10:35:53 767 1

原创 MySQL千万级数据从190秒优化到1秒全过程

千万级数据大概就是MySQL查询的天花板了。

2024-04-24 10:30:07 576

原创 使用JDK自带工具进行JVM内存分析之旅

进行jvm内存分析可以排查存在和潜在的问题。通过借助jdk自带的常用工具,可以分析大概可能的问题定位。

2024-04-19 15:26:06 968

原创 使用线程间通信方法wait和notify实现一个简单的显示锁MyLock

线程间通信是指在同一个进程内的多个线程之间进行的通信。在Java中使用wait和notify、notifyAll来实现同步阻塞和异步非阻塞模型通信是常见的做法。同时可以借助wait和notify、notifyAll接口实现一把显示锁。

2024-04-18 09:32:11 277

原创 在SpringCloud2023中快速集成SpringCloudGateway网关

本文主要简单介绍SpringCloud2023实战中SpringCoudGateway的搭建。后续的文章将会介绍在微服务中使用熔断Sentinel、鉴权OAuth2、SSO等技术。

2024-04-17 09:17:32 788

原创 在linux中迁移Docker默认镜像存储路径解决磁盘空间满的问题

通过yum或者apt安装的docker通常数据存储在/var/lib/docker/ ,包括镜像、运行数据等。然而这个目录是在根目录下面,容易导致系统盘满了。如果出现这种情况就需要迁移docker的默认目录。

2024-04-10 09:58:48 714

原创 跟着GPT学设计模式之适配器模式

适配器模式(Adapter Pattern)是一种结构型设计模式,用于将一个类的接口转换为客户端所期望的另一个接口。适配器模式允许不兼容的接口协同工作,通过封装一个类,将其接口转换为另一个客户端所需的接口。

2024-04-09 09:03:10 614

原创 Java并发编程中的基础概念Monitor

在Java并发编程中,Monitor(监视器)是一种同步机制,用于实现线程间的互斥访问和共享资源的同步。它是一种基本的并发控制原语,在Java中以对象的形式存在。

2024-04-06 14:51:40 911

原创 在SpringCloud2023中使用openfeign进行远程调用

微服务架构将应用程序划分为一组小型、松耦合的服务,每个服务都运行在自己的进程中,并通过轻量级的通信机制进行通信。远程调用在微服务架构中扮演着重要的角色。

2024-04-02 16:40:10 283

原创 跟着GPT学设计模式之装饰者模式

装饰者模式是一种结构型设计模式,它允许你在不修改已有对象的情况下,动态地向对象添加额外的功能。

2024-03-30 16:37:29 910

原创 如何在SpringCloud2023中快速集成配置中心

SpringCloud项目中集成配置中心可以更加方便的管理多版本的配置,此处使用springcloudconfig作为示例说明。

2024-03-27 14:06:50 684

原创 使用JDK提供的常用工具在多线程编写线程安全和数据同步的程序

共享资源指多个线程同时对同一份资源进行读写操作,这就需要保证多个线程访问到的数据是一致的,即数据同步或资源同步。

2024-03-26 18:04:19 778

原创 当我们谈论Spring的时候到底在谈什么

对于程序员来说这个单词完全拥有另外一个含义,Spring指的是一个开源项目,而这个项目非常厉害。

2024-03-21 15:28:39 955

原创 如何在SpringCloud2023中快速集成注册中心

注册中心在前文提到有很多选型,在这里以Spring Cloud Zookeeper为例说明注册中心的集成和使用。

2024-03-20 15:06:37 822

原创 Spring6如此厉害的框架到底包含哪些内容

源码下面无秘密,这是程序员的口头禅。对于强大而且设计优秀的Spring框架也是这样的,在基础代码层层堆叠之下,Spring成为了一个非常流行的框架。

2024-03-18 14:46:07 896

原创 还在用ifelse来写业务?了解下Spring状态机

当开发者意识到代码库开始变得般混乱不堪时,就会在现有项目中引入状态机。状态机的引入有助于将复杂多变的应用程序状态转换过程组织得更为有序和清晰,从而避免代码陷入难以维护的境地。

2024-03-15 15:05:23 953

原创 跟着GPT学设计模式之桥接模式

“将抽象和实现解耦,让它们可以独立变化。” 桥接模式通过将一个类的抽象部分与实现部分分离开来,使它们可以独立地进行扩展和修改。

2024-03-13 17:37:15 1293 1

原创 【技术人生】工程师面对新质生产力的思考和选择

技术的演进与发展,从长远视角审视,实则是一场工程师与经济周期之间的持久赛跑,无论这一周期表现为康德拉季耶夫周期等长周期,还是更短期的行业起伏。而这些短周期波动,与我们的决策和选择紧密相连,影响深远。

2024-03-12 18:01:38 888

原创 并发编程Thread的常用API有哪些?

在JDK17中,Thread类提供了一组常用的API,用于管理线程的创建、启动、暂停、恢复和销毁等操作。本文从api、源码、编程示例等方面详细说明Thread常用函数的使用和注意事项。

2024-03-08 09:10:16 801

原创 如何简洁高效的搭建一个SpringCloud2023的maven工程

依赖管理有gradle和maven,在这里选择比较常用和方便的Maven作为工程项目和依赖管理工具来搭建SpringCloud实战工程。主要用到的maven管理方式是多模块和bom依赖管理。

2024-03-06 10:03:55 982

原创 SpringCloud2023最新版本该如何进行组件选型?

开发分布式系统具有挑战性。复杂性从应用程序层转移到网络层,并要求各个服务之间更密切的交互。将代码设计为“云原生”意味着要处理12要素(12-factor)的问题,例如外部配置、无状态性、日志记录以及与后端服务的连接。Spring Cloud项目套件中包含了许多服务,可以使应用程序在云环境中运行。

2024-03-05 09:51:07 1005

原创 跟着GPT学设计模式之代理模式

代理模式(Proxy Design Pattern)在不改变原始类(或叫被代理类)代码的情况下,通过引入代理类来给原始类附加功能。通过GPT来一探原理。

2024-03-02 09:14:08 931

原创 接口幂等该如何设计和实现

接口幂等性指的是一个接口或操作在相同的请求参数下,无论被执行多少次,其结果都是一致的且不会产生副作用。换句话说,如果一个请求已经成功执行,再次执行相同的请求应该不会对系统状态产生任何额外的影响。例如,一个获取用户信息的接口就是幂等的,因为多次获取同一个用户的信息不会改变系统的状态。

2024-02-28 11:42:15 858

原创 SpringCloud和SpringBoot的版本依赖该怎么选择

Spring Cloud是一个基于Spring Boot的微服务框架,用于构建和管理分布式系统的各个组件。它提供了一套完整的解决方案,包括服务注册与发现、配置管理、负载均衡、熔断器、消息总线、数据流等功能。

2024-02-27 10:43:58 514

原创 基于Linux直接安装的Nginx版本升级方法

随着版本的迭代和漏洞的发现,Nginx作为一款软件避免不了打补丁的命运。以下基于Linux直接安装的Nginx版本升级过程,相较于镜像安装来说明的。以下操作均在本地虚拟机中操作验证,请验证后再线上操作。基于centos7测试。

2024-02-23 15:21:17 473

原创 Java高并发编程基础之Thread构造函数大有内涵

Java中的Thread构造函数大有内涵,通过它也就基本了解了线程的基本概念。

2024-02-21 19:26:37 893

原创 跟着GPT学设计模式之原型模式

如果对象的创建成本比较大,而同一个类的不同对象之间差别不大(大部分字段都相同),在这种情况下,我们可以利用对已有对象(原型)进行复制(或者叫拷贝)的方式来创建新对象,以达到节省创建时间的目的。这种基于原型来创建对象的方式就叫作原型设计模式(Prototype Design Pattern),简称原型模式。

2024-02-06 09:15:20 1427

原创 高并发编程基础-02-线程基础知识说明

现在几乎所有操作系统都支持多任务执行,其中每个任务被视为一个进程。在每个进程内部,至少有一个线程在运行,线程也被称为轻量级进程。

2024-02-04 16:36:47 843

原创 高并发编程基础-引言

高并发编程基础系列文章开始更新了~

2024-02-01 16:35:13 429

原创 前端通过增加XHR钩子来全局增加header

前端通过修改 XHR 原型来全局增加 header 是采用 XMLHttpRequest 加 hook 方式实现一个简单业务场景。这样可以提高代码的可维护性和可扩展性,减少重复代码的编写。

2023-12-27 15:23:07 586

原创 跟着GPT学设计模式之建造者模式

Builder 模式,中文翻译为建造者模式或者构建者模式,也有人叫它生成器模式。允许你创建不同口味的对象同时避免构造器污染。当一个对象可能有几种口味,或者一个对象的创建涉及到很多步骤时会很有用。

2023-12-08 11:22:47 944

原创 跟着GPT学设计模式之工厂模式

工厂模式是一种常见的创建型设计模式,其主要目的是封装对象的创建过程,并隐藏具体实现细节。每种方式都有其独特的优点和缺点。

2023-11-11 17:48:35 857 1

原创 跟着GPT学设计模式之单例模式

单例设计模式(Singleton Design Pattern)一个类只允许创建一个对象(或者实例),那这个类就是一个单例类,这种设计模式就叫作单例设计模式,简称单例模式。

2023-11-02 17:45:23 310

原创 基于docker的Mysql版本升级

随着版本的迭代和漏洞的提出,Mysql作为一款软件避免不了打补丁的命运。由于docker版本的升级教程较少,以下基于docker版本的MySQL升级说明。

2023-10-25 09:15:41 1104

原创 Idea社区版开发Java常用插件分享

Idea社区版是一款开源的Java开发工具。它具有索引创建功能,能够快速提供全局代码提示和代码补全。作为开源IDE,它有丰富的插件功能。与旗舰版本相比,开源版本提供较少的开箱即用功能,但对于Java开发来说已经足够使用了。

2023-09-26 14:58:08 514

原创 Springboot中集成ELK进行日志分析

ELK(ElasticSearch分布式搜索引擎、Logstash数据收集处理引擎和Kibana可视化化平台)是在大型后端架构中,一个标准的数据采集方案。

2023-08-31 11:20:03 146

原创 Springboot全局异常处理无法获取message

两种处理全局异常的方法。

2023-08-23 20:07:44 255

空空如也

空空如也

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

TA关注的人

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