程可爱
码龄9年
关注
提问 私信
  • 博客:391,787
    社区:94
    动态:38
    视频:3
    391,922
    总访问量
  • 121
    原创
  • 59,052
    排名
  • 214
    粉丝

个人简介:一入码场深似海,从此头发不复存

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:浙江省
  • 加入CSDN时间: 2015-12-23
博客简介:

qq_33479841的博客

查看详细资料
  • 原力等级
    当前等级
    5
    当前总分
    1,859
    当月
    7
个人成就
  • 获得357次点赞
  • 内容获得135次评论
  • 获得1,412次收藏
  • 代码片获得7,779次分享
创作历程
  • 3篇
    2024年
  • 19篇
    2023年
  • 43篇
    2022年
  • 14篇
    2021年
  • 22篇
    2020年
  • 19篇
    2019年
  • 1篇
    2018年
成就勋章
TA的专栏
  • JAVA基础
    5篇
  • springboot
    20篇
  • 设计模式
    22篇
  • springCloud
    9篇
  • 多线程
    18篇
  • spring
  • Sleuth
    3篇
  • nginx
    4篇
  • Redis
    2篇
  • centos
    1篇
  • 前端
    15篇
  • 数据库
    2篇
  • 数据结构
    1篇
兴趣领域 设置
  • 大数据
    mysqlredis
  • 后端
    spring架构
  • 服务器
    linux
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

JAVA异步任务-CompletableFuture

在jdk1.8中,引入了CompletableFuture,它扩展了Future和CompletionStage,可以在任务完成后触发回调,实现异步调用。在此之前若要设置回调一般会使用guava的ListenableFuture,但引入回调之后会陷入无穷的回调地狱中,导致编码难以阅读和理解。CompletableFuture对Future进行了扩展,可以通过设置回调的方式处理计算结果,同时也支持组合,支持任务编排,在一定程度上解决了回调地狱和代码难以阅读问题。
原创
发布博客 2024.10.14 ·
890 阅读 ·
8 点赞 ·
1 评论 ·
10 收藏

SpringBoot全局异常处理-原理分析

在日常开发中,如何快速定位异常并处理异常,体现了一个研发人员解决问题的能力,需要不断在业务发展中精进自己的业务水平,提升对原理的理解。快速解决的前提是快速定位问题,合理的异常处理能够帮助我们快速抛出问题。在SpringBoot中,全局异常处理能够有效降低异常代码数量,提供统一的异常处理模式,帮助我们从代码层面优雅地抛出异常。本文将演示SpringBoot中全局异常使用,并进行原理分析。
原创
发布博客 2024.04.30 ·
1300 阅读 ·
8 点赞 ·
0 评论 ·
31 收藏

利用Django搭建python web项目(简单登录)

目前市面上web项目大多数是由java语言开发(结合spring框架),但这并不意味着只有java语言能够开发web项目,python语言、go语言同样可以做到。本文将利用Django框架(由python语言开发的web框架)来搭建一个简单的web项目,并实现简单登录功能。
原创
发布博客 2024.01.22 ·
4529 阅读 ·
25 点赞 ·
1 评论 ·
73 收藏

SpringCloud源码探析(十二)-基于SpringBoot开发自定义中间件

中间件是一种介于操作系统和应用软件之间,为应用软件提供服务功能的软件,按功能划分有消息中间件(Kafka、RocketMQ)、通信中间件(RPC通信中间件,dubbo等),应用服务器等。中间件屏蔽了底层操作系统的复杂性,让开放工程师可以把更多的专注力放在业务系统上,能够有效提高开发人员效率。本文主要分析利用springboot开发自定义日志中间件,通过此中间件能够打印请求入参及返回结果,帮助大家更好地理解利用springboot如何开发中间件。
原创
发布博客 2023.12.19 ·
1638 阅读 ·
17 点赞 ·
0 评论 ·
17 收藏

SpringCloud源码探析(十一)-分布式数据库Seata

在分布式系统下,一个业务跨越多个服务或数据源,每一个服务都是一个分支事务,要保证所有分支事务最终状态一致,这样的事务就是分布式事务。分布式事务的参与者、支持事务的服务器、资源服务器及事务管理器分别位于不同的分布式系统的节点之上,且属于不同的应用,分布式事务需要保证这些操作要么全部成功,要么全部失败,本质上来说,分布式事务就是为了保证不同数据库的数据一致性。
原创
发布博客 2023.11.30 ·
193 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

SpringBoot整合Dubbo和Nacos

dubbo是一个高性能、轻量级的开源分布式服务框架,早期由阿里巴巴进行开源。它提供了服务注册、发现、调用和负载均衡等分布式服务治理功能,为分布式开发提供了极大便利。dubbo核心概念包括:Provider(消费提供者)、Consumer(服务消费者)、Registry(注册中心)、Monitor(监控中心)等,注册中心是dubbo服务治理的核心组件,dubbo依赖注册中心的协调实现服务(地址)发现,自动化的服务发现是微服务实现动态扩缩容、负载均衡、流量治理的基础。
原创
发布博客 2023.11.14 ·
2965 阅读 ·
4 点赞 ·
2 评论 ·
15 收藏

JAVA多线程基础篇--守护线程(Daemon Thread)

JAVA中的线程主要分为两类:用户线程(User Thread)和守护线程(Daemon Thread)。JAVA语言中无论是线程还是线程池,默认都是用户线程,因此用户线程也被称为普通线程。守护线程也被称之为后台线程、服务线程或精灵线程,守护线程是为用户线程服务的,当线程中的用户线程都执行结束后,守护线程也会跟随结束。守护线程具有自动结束生命周期的特性,而非守护线程则不具备该特性。本文将编写一些案例,同时根据源码来对用户线程和守护线程进行分析,帮助大家更好地理解。
原创
发布博客 2023.10.23 ·
1990 阅读 ·
2 点赞 ·
0 评论 ·
9 收藏

springBoot整合讯飞星火认知大模型

讯飞星火大模型是科大讯飞最近开放的拥有跨领域的知识和语言理解能力的大模型,能够完成问答对话和文学创作等。由于讯飞星火大模型最近可以免费试用,开发者都可以免费申请一个QPS不超过2的账号,用来实现对平台能力的验证。本文将利用Springboot框架对星火大模型进行整合,使其能够提供简单的问答能力。
原创
发布博客 2023.10.20 ·
7299 阅读 ·
23 点赞 ·
26 评论 ·
97 收藏

SpringCloud源码探析(十)-Web消息推送

消息推送的方式主要分为两种:web消息推送和移动端消息推送。它将所要发送的信息,发送至用户当前访问的网页或者移动设备。本文主要分析在web端进行消息推送的几种方式,实现用户在web端接收推送消息。
原创
发布博客 2023.10.09 ·
1167 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

SpringCloud源码探析(九)- Sentinel概念及使用

在微服务的依赖调用中,若被调用方出现故障,出于自我保护的目的,调用方会主动停止调用,并根据业务需要进行对应处理,这种方式叫做熔断,是微服务的一种保护方式。为了保证服务的高可用性,springcloud中有专门的流量管控组件,负责熔断、限流和降级。springcloud中较为知名的熔断器有Hystrix和Sentinel,本文将分析Sentinel的优势及其使用。
原创
发布博客 2023.08.10 ·
1208 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

SpringCloud源码探析(八)-ElasticSearch实战

上文分析了,让大家熟悉了es的基础使用。本文将基于上文更深入分析elasticsearch的一些高级操作,来帮助更加深入了解和使用elasticsearch。
原创
发布博客 2023.07.20 ·
453 阅读 ·
1 点赞 ·
2 评论 ·
0 收藏

SpringCloud源码探析(七)-整合Elasticsearch

ElasticSearch是一个基于Lucene的搜索服务器,提供了一个分布式多用户能力的全文搜索引擎。它是基于JAVA语言开发,并且是基于RESTful web接口进行查询和结果返回,是一款非常流行的企业级搜索引擎。Elasticsearch的核心功能包括存储数据和快速搜索、分析数据。本文将从elastic的基本属性和其使用方式进行分析,帮助大家快速理解。
原创
发布博客 2023.06.29 ·
1002 阅读 ·
2 点赞 ·
0 评论 ·
4 收藏

SpringCloud源码探析(六)-消息队列RabbitMQ

RabbitMQ是一个开源的消息代理和队列服务器,它是基于Erlang语言开发,并且是基于AMQP协议的。由于Erlang语言最初使用与交换机领域架构,因此使得RabbitMQ在Broker之间的数据交互具有良好的性能。AMQP(Advanced Message Queuing Protocol,高级消息队列协议)是一种消息队列应用层协议,专门面向消息的中间件而设计,类似于JAVA的JMS协议,基于此规范能够开发出各种各样的消息中间件。
原创
发布博客 2023.05.15 ·
2056 阅读 ·
4 点赞 ·
0 评论 ·
7 收藏

SpringCloud源码探析(五)-网关Gateway的使用

在微服务架构中,网关提供了统一的对外访问入口(自身跨一个或多个服务),它保证了内部服务对外暴露的合理性与安全性、降低了服务之间访问的复杂性,是微服务架构中至关重要的一部分。在SpringCloud中网关主要包含两种:Zuul和Gateway,Zuul是基于Servlet实现的,属于阻塞式编程,而SpringCloud Gateway是基于Spring 5中提供的WebFlux,属于响应式编程的实现,具有更好的性能。本文将详细分析SpringCloud Gateway的使用以及其实现原理。
原创
发布博客 2023.04.23 ·
1000 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

SpringCloud源码探析(四)-OpenFeign使用及其原理

在SpringCloud中,服务之间的调用方式可以通过ResTemplate进行调用,也可以通过Feign调用。ResTemplate的缺陷在于需要指定请求url,存在硬编码问题,导致代码难以复用和修改。而Feign调用就相对比较优雅,只需要配置服务名称即可。本文将介绍OpenFeign的使用及其原理。
原创
发布博客 2023.03.27 ·
1551 阅读 ·
2 点赞 ·
0 评论 ·
6 收藏

SpringCloud源码探析(三)-Nacos集群搭建与配置管理

上一篇文章分析了nacos单机版的部署以及SpringBoot整合nacos,nacos不仅仅可以作为注册中心,也可以作为配置中心。本文将在上文的基础上,进行nacos集群的搭建,同时展示nacos作为配置中心的使用。
原创
发布博客 2023.03.02 ·
1019 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

centos7离线安装mariadb

最近新接到一个项目,由于服务器不能通外网环境,许多环境需要离线安装。离线安装又分为rpm方式安装、二进制文件安装。rpm方式安装有时候需要一些系统包,有时候可能会有问题。二进制文件安装(安装包内包含所有依赖),解压即可使用。本文将介绍centos7环境下二进制文件安装mariadb。
原创
发布博客 2023.02.27 ·
2269 阅读 ·
3 点赞 ·
0 评论 ·
15 收藏

SpringCloud源码探析(二)-Nacos注册中心

Nacos是Spring Cloud Alibaba中的核心组件之一,它提供了服务发现、服务配置和服务管理等功能,可以作为注册中心和配置中心使用。注册中心是微服务架构体系中的核心组件之一,Nacos比Eureka有着更强大的功能,它们都能提供服务注册和服务拉取、支持服务提供者以心跳的方式来健康监测。Nacos支持服务列表变更的消息推送模式,服务更新更及时;Nacos服务端会主动监测客户端状态(临时实例采用心跳模式、非临时实例采取主动监测方式)。本文将详细说明nacos的使用以及部分注意事项。
原创
发布博客 2023.02.27 ·
481 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

SpringCloud源码探析(一)-Ribbon负载均衡原理

在SpringCloud中,负载均衡是基于组件Netflix Ribbon来实现的。Ribbon客户端组件提供了一系列完善的配置(超时、重试等),它会基于用户配置的策略(或默策略),按照策略去访问Load Balancer (简称LB)后所注册的服务,保证请求按照策略分发到不同的机器上,实现负载均衡。本文将详细分析SpringCloud中Ribbon的实现原理,以及实现负载均衡策略的原理。
原创
发布博客 2023.02.06 ·
692 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

小侃设计模式(廿二)-访问者模式

访问者模式(Visitor Pattern)指的是在类的内部结构不变的情况下,不同的访问者访问这个对象都会呈现出不同的处理方式。它的主要作用时将数据结构与数据操作分离,将不同的算法与其所作用的对象进行分离。本文将详述访问者模式的原理及其使用方式。
原创
发布博客 2023.01.19 ·
1463 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多