自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

无限进步的博客

一位爱好计算机的博主~

  • 博客(42)
  • 收藏
  • 关注

原创 Linux 常用命令

详细介绍了linux常用命令有哪些,并且介绍了其相关用法。

2023-12-08 19:39:31 504

原创 【已解决】SpringBoot Maven 打包失败:class lombok.javac.apt.LombokProcessor 错误

详细说明如何解决SpringBoot Maven 打包失败:class lombok.javac.apt.LombokProcessor (in unnamed module @0x4cb58e8b) cannot access class...问题

2023-12-05 15:55:50 10442 1

原创 Redis 中还有线程安全问题?这些解决办法你都知道吗?

详细解释为什么单线程的Redis也会出现线程安全问题,并给出一些方法应对线程安全问题。

2023-11-18 17:06:35 1452

原创 Java中HashMap是如何进行扩容的?

HashMap是如何进行扩容的

2023-03-30 10:29:17 1332

原创 SpringSecurity之SecurityContextHolder详解

SpringSecurity之SecurityContextHolder详细解释

2023-03-26 16:31:12 2730

原创 关于Spring Security自定义认证时,异常处理的问题,如何使用自定义异常进行消息提示

我们在利用springSecurity进行认证时,如果没有配置认证失败处理器,想要在自己实现UserDetailsService中抛出异常来进行提示用户用户名错误时,再利用全局异常处理器中是无法捕获到自己抛出的异常。

2023-02-10 14:47:03 3112 2

原创 初识Golang,Golang 中的结构体和方法

golang 并没有像Java 中的类这样的概念,取而代之的是结构体,这个结构体的定义类似于C++语言中的结构体,可以将多种数据类型结合在一起,包括结构体类型。Field int与之不同的是,golang中的结构体有方法这样一个概念,类似于Java 中类中有字段和方法一样,在golang的结构体中也会有方法。但是其定义方式与Java 不同。/* 函数体*/// 举例说明// MyStruct 指针类型的方法。

2024-03-22 21:26:28 624

原创 Java深度解析:类的生命周期与类加载过程

最近在学习Java 虚拟机,学到了类的声明周期,有些比较难理解的点,特地来总结一下。类的生命周期从大体上来看的话,有五个阶段,分别是加载,链接,初始化,使用,卸载。更细分的来看的话,有七个阶段,其实就是链接阶段又分为了验证、准备、解析。我们来详细的看看这几个阶段分别做了些什么。

2024-01-18 10:41:46 1018

原创 Java中的序列化和反序列化:深入理解和实战

序列化和反序列化的本质是解决在进行远程通信和持久化数据时,如何保存和恢复数据的问题。** 序列化:** 将数据结构或对象转换成二进制字节流的过程** 反序列化: ** 将在序列化过程中所生成的二进制字节流转换成数据结构或者对象的过程为什么要进行序列化和反序列化操作?其实主要是为了持久化和进行传输,我们都知道在Java 中一些数据都是以对象的形式存在的,那如果我想把对象传输其他人怎么办?

2024-01-04 15:30:39 1029

原创 深入浅出Java多态:技术解析与实战应用

现实事物经常会体现出多种形态,如学生,学生是人的一种,则一个具体的同学张三既是学生也是人,即出现两种形态。Java作为面向对象的语言,同样可以描述一个事物的多种形态。如Student类继承了Person类,一个Student的对象便既是Student,又是Person。多态体现为父类引用可以指向子类对象格式:定义格式:父类类型 变量名=new 子类类型();多态是同一个行为具有多个不同表现形式或形态的能力。类的引用类型变量指向了子类的对象或者是接口类型的引用类型变量指向了接口实现类 的对象。

2024-01-03 16:15:54 940

原创 Spring中的Bean是否线程安全?

详细解释了spring bean是否是线程安全的,并且介绍了spring bean在什么情况下是线程安全的,什么情况下不是线程安全的。

2023-12-13 20:20:49 268

原创 Java中的回调函数 (callback) 及其应用

回调函数在编程中是一种常见的设计模式,它允许一个函数在特定的时刻或条件下调用另一个函数。在Java中,我们可以通过接口和匿名内部类实现回调函数。本文将详细介绍Java中的回调函数,并提供相关代码示例。

2023-12-13 19:57:56 9737

原创 深入理解JSON Web Token(JWT)

在现代Web应用中,安全地传输和验证用户身份是非常关键的。JSON Web Token(JWT)是一个开放标准(RFC 7519),它定义了一种简洁的、自包含的方法用于通信双方之间以JSON对象的形式安全地传输信息。下面我来详细的介绍一下什么是JWT,并介绍其使用场景和一些注意事项。

2023-12-11 20:29:00 452

原创 Java 中的 Deque 接口及其用途

在 Java 中,`Deque` 接口是一个双端队列(double-ended queue)的数据结构,它支持在两端插入和移除元素。`Deque` 是 "Double Ended Queue" 的缩写,而且它可以同时充当普通队列和栈的角色。在 Java 集合框架中,`Deque` 接口继承自 `Queue` 接口,提供了一系列丰富的方法来操作双端队列。下面我们将探讨 `Deque` 作为双端队列、普通队列和栈的三种用途,并总结其相关的方法。

2023-12-11 19:56:58 456

原创 Java编程秘籍:掌握集合与数组的互相转换

在Java编程中,集合和数组是我们常用的数据结构,它们各有优点,有时我们需要在两者之间进行转换。这篇文章将详细介绍如何在Java中将集合转换为数组,以及如何将数组转换为集合。

2023-12-10 21:36:33 163

原创 Java 8 新特性深度解析及代码示例

Java 8于2014年3月发布,为Java带来了一系列划时代的新特性。这些特性旨在提升开发效率,简化代码结构,并引入函数式编程的概念。以下是Java 8的几个关键特性,以及它们的详细介绍和代码示例。

2023-12-10 21:29:04 140

原创 Java 中的抽象类与接口:深入理解与应用

在 Java 编程语言中,抽象类和接口是两种重要的机制,用于实现抽象化和多态性。这两种机制都允许我们定义一种通用的类型,然后通过继承或实现这种类型来创建具体的实现。本文将详细介绍抽象类和接口的概念、特性、使用场景以及它们之间的区别。

2023-12-09 17:57:49 325

原创 深入探索 Java 反射机制

Java 反射机制是 Java 语言中一个强大而灵活的特性,它允许程序在运行时访问和操作类和对象的内部属性。通过反射,开发者可以实现不依赖于具体实现的代码,提高程序的通用性和灵活性。本文将详细介绍 Java 反射的基本概念、核心类库以及使用场景和注意事项。

2023-12-09 17:43:55 194

原创 Spring Boot 整合 xxl-job 保姆级教程!

首先我们介绍一下什么是xxl-job,根据官方定义,XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。xxl-job相对于其他的一些任务调度平台主要有以下特性:1、简单:支持通过Web页面对任务进行CRUD操作,操作简单,一分钟上手;2、动态:支持动态修改任务状态、启动/停止任务,以及终止运行中任务,即时生效;

2023-12-08 19:30:50 2145

原创 Java中的异常:理解与处理编程中的“预期之外”

本文通过比赛的有趣比喻,概述了Java中异常的概念和分类。我们探讨了Error和Exception之间的区别,并着重介绍了如何处理编译时异常。现在,每当程序中出现非预期事件时,你将拥有处理它们的策略和技巧。

2023-12-07 20:41:38 279 2

原创 什么是 Java 中的可重入锁?

在日常的Java编程中,我们经常会遇到多线程的场景,这时候就需要使用锁来保证线程间的同步。而在Java的锁中,有一种特殊的锁叫做可重入锁,也被称为递归锁。那么,什么是可重入锁呢?可重入锁,顾名思义,就是一个线程在获取了锁之后,可以再次获取同一个锁,而不会被阻塞。这种锁的设计是为了防止死锁。想象一下,如果一个线程在持有一个锁的同时,又试图获取同一个锁,那么它就会被阻塞,因为这个锁已经被它自己持有了。如果不允许重入,那么这个线程就会陷入无限的等待,从而导致死锁。而可重入锁就是为了解决这个问题。

2023-12-06 17:24:24 259

原创 Java 中的函数式接口

首先,我们要弄清楚,到底什么是函数式接口?函数式接口(Functional Interface)是Java中的一个概念,它指的是只包含一个抽象方法的接口。在Java 8之前,接口中可以有多个抽象方法,但Java 8引入了函数式接口的概念,鼓励使用只有一个抽象方法的接口来实现函数式编程。函数式接口的定义是通过在接口上添加注解来标识的。这个注解并不是强制性的,但是建议使用它来确保接口符合函数式接口的定义。函数式接口的关键特点是可以被Lambda表达式所实现。

2023-12-06 14:28:00 293

原创 【已解决】SpringBoot整合ES出错: Timeout connecting to [xxxx:9200]

es出现超时问题,一般是网络问题或者配置问题,解决办法也主要是体现在这两点上,如果需要绕过es安全检查,可以在yaml文件中添加相应配置。本文记录一下es出现的time out问题,如文章出现明显错误,欢迎提出!

2023-12-05 14:36:28 2569

原创 【成功解决】SpringBoot打包失败:Please refer to XXX\target\surefire-reports for the individual test results.

在打包中出现错误时,一般是项目出现了问题,最好的办法是将异常解决,如果需要跳过失败,可以采取配置文件配置的方法。

2023-12-04 21:11:39 7079

原创 限流方法之令牌桶算法

令牌桶限流算法的核心思想是:系统维护一个令牌桶,桶中的令牌以固定速率生成。当有请求到来时,需要从桶中取出一定数量的令牌,只有取出成功,请求才能被处理。如果桶中的令牌不足,请求则被拒绝或者等待。平滑流量:令牌桶算法可以平滑地控制请求速率,避免流量突刺对服务造成影响。弹性处理能力:当桶中有足够的令牌时,可以应对短时间内的流量突增。公平性:令牌桶算法可以保证每个请求都有机会被处理,避免某些请求长时间得不到响应。令牌桶限流算法是一种简单而有效的流量控制方法。

2023-12-04 19:02:30 281

原创 Java 中的方法引用(::)的作用你知道嘛?

最近在学习开源项目的时候,发现了很多的双冒号操作符,比如一直不太理解这是什么作用,为什么会有这个操作符,然后查找了一些资料供大家学习。在Java中,双冒号(::)是一种新的操作符,被称为方法引用(Method Reference)。它是Java 8中引入的一个重要特性,旨在简化代码并提高可读性。方法引用允许开发人员直接通过名称来引用现有的方法,可以视为Lambda表达式的一种缩写。接下来我将详细介绍Java中双冒号操作符的作用,以及它在不同场景下的应用。

2023-11-21 16:30:32 356

原创 Maven中的打包方式 pom 和 jar

pom全称Project Object Model,在Maven中,POM(Project Object Model)打包方式并不是用来生成可执行的文件,而是用来管理和描述项目的。POM打包方式的项目通常被用作父项目,用于定义一些共享的资源和配置,例如插件、依赖管理等。这些配置可以被子项目继承,从而实现配置的复用。通俗来说,就是pom打包方式只是对本项目和子项目的一些配置,可以理解为约定作用,比如某些依赖的版本号等,主要是做版本控制和一些共享资源的使用。

2023-11-21 16:08:59 1289

原创 LeetCode 题解:115. 不同的子序列

给你两个字符串s和t,统计并返回在s的中t出现的个数,结果需要对 109 + 7 取模。

2023-11-19 16:37:39 115

原创 LeetCode 题解:72题,编辑距离

给你两个单词word1和word2请返回将word1转换成word2所使用的最少操作数。

2023-11-19 16:36:16 53

原创 LeetCode 热题100:最小栈

LeetCode 热题100,155题,最小栈题解

2023-11-18 22:26:32 67

原创 设计模式 · 模板方法模式和策略模式你真的知道有什么不同吗?

两者设计模式都是在开发中常用的模式,每个模式的关注点不同,模板方法模式注重的是算法的模板,策略模式关注算法的可替换性和灵活性,但是两者可以结合起来使用。

2023-11-18 18:01:19 857

原创 LeetCode 热题 100:153题,寻找旋转排序数组中的最小值

已知一个长度为n的数组,预先按照升序排列,经由1到n次后,得到输入数组。例如,原数组47注意,数组的结果为数组。给你一个元素值的数组nums,它原来是一个升序排列的数组,并按上述情形进行了多次旋转。请你找出并返回数组中的。你必须设计一个时间复杂度为O(log n)的算法解决此问题。

2023-11-17 18:00:17 50

原创 一文解释在 Spring Boot 中过滤器和拦截器到底有什么区别?

详细解释在springboot中过滤器和拦截器有什么区别,两者的使用场景有什么不一样?

2023-11-17 16:52:09 253

原创 Java 底层原理 | Java 类加载过程详解!

在Java中,类加载是一个重要的概念,它是Java虚拟机将类的字节码文件加载到内存并执行的过程。了解Java类加载的过程对于理解Java程序的运行机制以及解决一些常见的类加载问题非常有帮助。本文将深入探讨Java类加载的过程。

2023-10-28 15:53:07 79

原创 Java 中的注解到底是什么?注解有什么作用?

详细介绍了Java中注解的定义,以通俗易懂的语言解释了Java 中注解的作用和使用方法。

2023-10-20 10:48:03 268

原创 全网最详细,Comparator接口排序原理!

详解剖析Comparator接口中的compare方法如何控制sort方法进行排序的!

2023-09-23 08:00:00 731 1

原创 Comparator接口排序详解

comparator接口使用详解

2023-09-22 15:49:10 746

原创 Mybatis中#{}和${}到底有什么区别?

mybatis中#{}和${}的区别是什么?什么是SQL注入和预编译。

2023-04-02 11:32:04 279 1

原创 详细解释什么是 Spring Bean?

什么是Spring Bean?其注册方式有哪些?作用域是什么?生命周期有哪些?

2023-04-01 15:07:14 1003

原创 Java8中HashMap底层数据结构详解

Java8中HashMap底层数据结构详解

2023-03-30 16:46:58 313

空空如也

空空如也

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

TA关注的人

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