自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 面试题系列:一个 .java 源文件里究竟能塞几个类(非内部类)?有什么限制?

今天一起来分析一个经典的的基础面试题:「**一个 .java 源文件里究竟能塞几个类(非内部类)?有啥规矩?**」 别看它基础,可藏着Java语言设计的重要理念。搞明白了,代码组织、项目管理都更清晰。

2025-08-03 08:00:00 771

原创 面试题系列:java中的class到底是个什么东西?

java中的class到底是个什么东西?

2025-08-02 11:11:29 750

原创 面试题系列:静态变量和实例变量的区别

面试中被频繁问到却又容易混淆的概念:静态变量与实例变量的区别。

2025-08-02 10:52:14 658

原创 异步本质是不是就是多线程

异步编程和多线程是两个不同的概念,尽管它们都可以用来实现并发操作。但其背后的机制、适用场景以及实现方式各有不同。

2025-07-27 09:49:37 308

原创 Java异常处理详解:从理论到实战,轻松驾驭程序“意外”

作为Java开发者,处理异常是日常编码的核心技能。今天一起深入学习下Java异常体系。

2025-07-27 09:44:36 895

原创 如何使用Lambda表达式让你的代码直接起飞

在我们日常的编程中,很喜欢使用Lambda表达式,合理地使用过它不仅仅能大大的减少我们的代码量,而且能提高代码效率,让我们的代码飞起来!

2025-07-26 11:16:09 975

原创 Hutool:提升效率的万能工具库,让你的代码起飞

在Java开发中,经常需要处理字符串、日期、加密、网络请求等基础操作。以上这些事情,要么自己动手写代码,要么从零零碎碎的各个不同的地方去找各种零零散散的代码来改造成自己需要的样子。

2025-07-26 10:49:35 749

原创 一文搞懂Java反射

反射机制被称为Java的"元编程能力",Spring、MyBatis等主流框架底层都重度依赖它。本文将深入剖析反射的核心原理,并通过实战代码演示其强大威力!

2025-07-24 20:54:17 946

原创 Python系列:python中split如何使用

在Python中,split是一个非常常用的字符串操作方法,用于将字符串按照指定的分隔符分割成子字符串,并返回一个包含这些子字符串的列表。separator:指定分隔符,可以是一个字符串或正则表达式。如果未指定,则默认分隔符是所有空格,包括空格、换行符\n、制表符\t等。需要注意的是,split方法返回的是一个列表,如果要将分割后的子字符串重新连接成一个新的字符串,可以使用join方法。maxsplit:可选参数,指定最大分割次数。如果未指定,则默认将字符串分割成所有可能的子字符串。

2023-09-24 18:44:20 602

原创 SpringCloud系列:负载均衡组件-Ribbon

前面几篇文章介绍了微服务相关的内容,比如什么是微服务,常见的一些服务注册中心组件,以及微服务之间是如何进行服务通信的。在微服务架构中还有常见的一种场景就是服务的负载均衡。今天就一起学习SpringCloud提供的负载均衡组件-Ribbon。Spring Cloud Ribbon是一个基于http和tcp的客户端负载均衡工具,是基于netflix ribbon实现的,通过Spring Cloud封装, 可以让我们将面向服务的resttemplate请求自动转换成客户端负载均衡的服务调用。

2023-07-18 20:30:31 1367

原创 SpringCloud系列:微服务间如何通信

使用resttemplate对象进行服务调用其实很简单,就是使用resttemplate提供的getForXX的方法,然后接受返回的对象即可

2022-07-24 21:32:50 7280

原创 SpringCloud系列:服务注册中心组件-consul

目前主流的服务注册中心有:eureka、nacos、consul、zookeeper。并且这几篇文章都分别介绍了这几款服务注册中心

2022-07-18 20:35:59 555

原创 SpringCloud系列:服务注册与发现组件-Eureka(下)

eureka作为微服务注册和服务发现

2022-07-17 21:47:19 406

原创 SpringCloud系列:服务注册与发现组件-Eureka(上)

使用eureka server进行服务注册中心的开发,主要步骤就是创建相应的springcloud项目,然后导入springcloud和eureka server相关依赖,最后在配置文件中进行eureka server的配置,入口类上使用@EnableEurekaServer注解开启服务注册中心即可。...

2022-07-06 19:10:02 290

原创 zookeeper教程:入门篇

在分布式系统中,注册中心充当着重要角色,是服务发现、客户端负载均衡中不可缺少的一员。注册中心除了能够实现基本的功能外,它的稳定性、可用性和健壮性对整个分布式系统的流畅运行影响重大。dubbo作为国内一款主流的分布式系统,支持的注册中心有zookeeper、nacos和redis等第三方中间件。...

2022-07-03 14:15:02 1617

原创 MySQL数据库优化的几种方式(笔面试必问)

数据库优化不仅是笔面试中常问的知识点,在实际的开发应用中也会经常用到,如果有不正确的地方欢迎讨论指正!并且如果有其他更好的方法或者本文没有提及的地方,也欢迎交流讨论!

2022-07-02 11:47:24 2286

原创 一起学习SQL中各种join以及它们的区别

sql语句中的一些连接查询以及它们之间的区别,另外还有一种full join 表示全连接,但是mysql中不支持,可以使用左连接和右连接的合集进行表示。full join 表示的是左表和右表的并集,但是对于没有匹配的记录,则会以null表示。......

2022-07-01 20:27:43 1745

原创 介绍两款代码自动生成器,帮助提升工作效率

两种代码自动生成工具,可以根据自己的实际情况和需要选择使用,这样能够大大减少每次不必要的工作量,提高工作效率,早点完成工作,早点下班!

2022-06-30 21:44:32 6631 1

原创 SpringCloud:服务发现之如何搭建Nacos服务

Nacos 是阿里巴巴推出来的一个新开源项目,是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。...

2022-06-07 14:47:44 434 1

原创 SpringBoot系列:整合Spring Security

。spring security授权和认证的流程大致其实跟自定义拦截器进行权限拦截是一样的。认证的过程就是客户端用户登录,然后服务端将用户登录信息缓存起来,最后服务端将用户信息(基本信息、权限、token等)返回给客户端。授权的过程,首先客户端发起请求,携带token,服务端解析token,判断用户是否登录,再从缓存中查询用户的菜单,判断用户是否有权限请求菜单,最后返回数据给客户端。...

2022-06-04 09:43:34 551

原创 SpringBoot系列:MybatisPlus的入门级使用教程(下)

今天分享的是MP入门使用教程的最后的部分,也是使用的比较多的地方,就是如何使用MP进行条件查询!

2022-05-27 10:47:34 666

原创 SpringBoot系列:MybatisPlus的入门级使用教程(中)

文是在上一篇文章的基础之上进行拓展,所以如果有不清楚的可以先参考上一篇文章SpringBoot系列:MybatisPlus的入门级使用教程(上),源码地址会放在最后。

2022-05-26 10:20:54 279

原创 SpringBoot系列:MybatisPlus的入门级使用教程(上)

我们以前在使用Mybatis进行项目开发的时候,最繁琐的事情就是实体类,dao接口,mapper.xml文件的编写,几乎每个表都需要对应写一套,并且大部分的工作量都在最基本的增删改查上。如果表中的字段进行了修改,那么实体类,mapper文件甚至dao接口都要进行修改。

2022-05-25 10:58:51 399

原创 SpringBoot实现异步任务以及定时任务

在绝大多数的java应用中,很多场景都是采用的是同步的方式交互,那么一旦如果有第三方进行交互,则很有可能就会产生交互延迟的问题,那么这种时候就得考虑使用多线程,但是在Spring3以后它就已经内置了异步任务供我们使用。

2022-05-24 12:59:12 6234 1

原创 SpringBoot 实现发送邮件

发送邮件是很多公司必须的业务场景之一。常见的比如预警邮件、入职邮件、报告邮件等等。我们公司就有很多场景需要使用到邮件功能,今天就一起来学习如何使用springboot实现邮件业务场景,掌握邮件业务类的核心逻辑。

2022-05-23 10:18:19 5592 1

原创 Springboot处理请求参数的注解

在springboot中有几种处理url请求参数的注解,它们分别是:@PathVariable、@RequestHeader、@RequestParam、@MatrixVariable、@RequestBody,今天一起来学习下。

2022-05-22 12:11:30 2144

原创 SpringBoot集成slf4j日志系统

日志系统的强大的功能是我们日常开发,系统维护排查问题和解决问题的有利工具,所以根据自己的实际项目配置合理的日志系统,有助于我们更好地开发和维护好项目系统!

2022-05-21 11:59:24 4720

原创 SpringBoot实现文件上传接口

SpringBoot实现文件上传接口

2022-05-20 10:43:21 5816 2

原创 SpringBoot系列:学习Yaml的使用

yaml格式文件在开发中使用比较广泛,它比properties文件更加直观,清楚,尤其非常适合用来做以数据为中心的配置文件。在springboot的配置中如果application.properties文件和application.yml文件同时存在,那么都会生效,如果两个文件中对同一配置进行设置,则会以properties文件为准。application.yml也可以写成application.yaml

2022-05-19 12:40:44 909

原创 SpringBoot缓存注解的使用

在springboot中使用缓存注解很简单,首先就只需要在依赖中引入spring-boot-starter-cache依赖,然后在application类中使用@EnableCaching注解开启缓存,然后在方法上根据需要使用具体的缓存注解即可。

2022-05-18 15:20:57 4951

原创 SpringBoot多数据源配置

在实际的开发或者线上环境中,一般都不仅仅是一个数据库走天下,而是根据业务进行拆分多个数据库,今天就来学习如何对springboot进行多数据源配置。

2022-05-17 11:00:55 15928 4

原创 SpringBoot整合Redis使用教程

Redis是现在最受欢迎的NoSQL数据库之一,Redis是一个使用ANSI C编写的开源、包含多种数据结构、支持网络、基于内存、可选持久性的键值对存储数据库,

2022-05-14 18:02:36 700

原创 从零开始学设计模式(二十二):命令模式(Command Pattern)

命令模式(Command Pattern)又叫动作模式或事务模式。指的是将一个请求封装成一个对象,使发出请求的责任和执行请求的责任分割开,然后可以使用不同的请求把客户端参数化,这样可以使得两者之间通过命令对象进行沟通,从而方便将命令对象进行储存、传递、调用、增加与管理。命令模式是一种对象行为型模式。命令模式就是对命令的封装,就是把一系列的操作写到一个方法中,然后供客户端调用就行了。主要的作用就是对请求发送者与接收者进行耦合,发送者与接收者之间没有直接引用关系,使得对象之间的调用关系更加灵活,发送请求的对

2022-05-14 14:13:43 302

原创 从零开始学设计模式(二十一):解释器模式(Interpreter Pattern)

抽象表达式是生成语法集合的关键,每个非终结符表达式解释一个最小的语法单元,然后通过递归的方式将这些语法单元组合成完整的文法,这就是解释器模式。解释器模式在实际的使用中比较少,因为它的维护和性能效率是比较复杂的问题,所以对于解释器模式了解即可。

2022-05-13 10:42:10 213

原创 从零开始学设计模式(二十):迭代器模式(Iterator Pattern)

迭代器模式主要是提供了一种访问一个容器对象中各个元素的方法,并且不会暴露该对象的内部细节。但是很多语言在实现容器的时候都提供了迭代器,所以可以一般采用语言提供的迭代器模式就可以了,不需要刻意的去实践迭代器模式。

2022-05-12 10:23:41 285

原创 从零开始学设计模式(十九):责任链模式(Chain of Responsibility Pattern)

责任链模式(Chain of Responsibility Pattern)又叫也叫职责链模式,指的是为了避免请求发送者与多个请求处理者耦合在一起,于是将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链;当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止。它是一种对象行为型模式。

2022-05-11 10:32:33 213

原创 从零开始学设计模式(十八):状态模式(State Pattern)

状态模式(State Pattern)指的是将一个对象的状态从该对象中分离出来,封装到专门的状态类中,使得对象状态可以灵活变化,在其内部状态改变时改变它的行为。状态模式是一种对象行为型模式。它和策略模式有一点很像,就是将一些复杂的逻辑放在一个专门的上下文类中进行处理。

2022-05-10 10:12:45 373 1

原创 从零开始学设计模式(十七): 备忘录模式(Memento Pattern)

**备忘录模式**(Memento Pattern)又叫快照模式,它指的是在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样就可以将该对象恢复到原先保存的状态。它是一种对象行为型模式。

2022-05-09 10:20:04 383

原创 从零开始学设计模式(十六):策略模式(Strategy Pattern)

策略模式是一种简单并且常用的模式,它主要就一个算法抽象类或者接口封装算法、然后多个具体的算法实现类实现它的方法再被一个上下文类来包装一下。一般来说,策略模式不会单独使用,跟模版方法模式、工厂模式等混合使用的情况比较多。

2022-05-06 10:30:25 304

原创 从零开始学设计模式(十五):模版方法模式(Template Method Pattern)

模版方法模式(Template Method)定义一个操作中算法的框架,并且将一些步骤延迟到子类中,使得子类可以不改变算法的结构即可重定义该算法中的某些特定步骤。

2022-05-05 12:03:59 184

空空如也

空空如也

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

TA关注的人

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