自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一名Java语言狂热分子。

趁一切还来得及!

  • 博客(147)
  • 资源 (1)
  • 问答 (4)
  • 收藏
  • 关注

原创 chromeDriver如何实现模拟手动选择本地文件上传(抖音视频上传)

chromeDriver如何实现模拟手动选择本地文件上传(抖音视频上传)

2024-04-29 14:28:17 287 2

原创 chromeDriver报错:WebDriverException: unknown error: session deleted because of page crash

chromeDriver报错:WebDriverException: unknown error: session deleted because of page crash

2024-04-25 14:25:43 243 5

原创 Java命令行最实用的命令

Java命令行中重要且最实用的命令

2023-12-28 17:14:10 552 1

原创 Excel宏标记在所有工作表中标记关键字(以域名为例)并将结果输出到另一张Sheet

Excel宏标记在所有工作表中标记关键字(以域名为例)并将结果输出到另一张Sheet

2023-11-07 18:15:45 262

原创 antd的Table组件使用rowSelection属性实现多选时遇到的bug

antd的Table组件使用rowSelection属性实现多选、默认多选时遇到的bug

2023-11-03 15:32:50 1503

原创 Java中的高级特性与最佳实践

Java的泛型是一项强大的特性,它使得我们可以在编译时期对类型进行更加严格的检查,并避免了类型转换错误。除了常见的数据结构和算法外,Java还提供了一些高级的数据结构和算法,如位集合(BitSet)、堆(Heap)、优先队列(PriorityQueue)等。良好的异常处理是编写健壮应用程序的关键。在实际开发中,我们还应该不断学习新的技术和工具,关注Java社区的动态,提高自己在Java领域的专业水平。此外,了解常用算法的时间复杂度和空间复杂度,可以帮助我们选择适合的算法来解决问题,并优化程序的运行效率。

2023-10-10 11:53:57 218

原创 Java自定义类加载器的详解与步骤

Java自定义类加载器的详解与步骤

2023-10-07 11:04:11 379

原创 Java实现发送Get、Post请求仅需两步

普通Java程序想要发送Get、Post等请求可以采用HttpClient实现,下面给出HttpClient使用方法,并已经封装成方法,直接拿去用即可

2023-09-28 10:08:55 310

原创 HTTP协议中的Boundary是什么

进行文件上传或提交表单数据时,请求的主体内容被分割为多个部分,每个部分都包含一条头信息和一个实体。由一个字符串组成,并且在请求的内容中使用两个连字符 “-” 前缀。,可以将不同类型的实体组合在一起,并确保它们在传输过程中的正确解析和识别。是一种用于分隔多个实体(如文件、表单字段等)的标识符。类型的请求中,用于将多个部分组合在一起,并指示它们的边界。进行分隔,以便接收方可以正确解析请求。每个部分在内容中都以。Boundary解释。

2023-09-26 15:53:50 1756

原创 linux易忘命令(如:端口、进程、文件、内存、vim)持续更新

linux易忘命令(如:端口、进程、文件、内存、vim)持续更新

2023-09-22 11:47:09 318

原创 三步实现Mybatis(Mybatis-Plus)多数据源配置

要实现多数据源可以采用或者,本文就以为例dynamic-datasource简介springboot 快速集成多数据源的启动器 使用文档(opens new window)支持 数据源分组 ,适用于多种场景 纯粹多库 读写分离 一主多从 混合模式。支持数据库敏感配置信息 加密 ENC()。支持每个数据库独立初始化表结构schema和数据库database。支持无数据源启动,支持懒加载数据源(需要的时候再创建连接)。支持 自定义注解 ,需继承DS(3.2.0+)。

2023-09-18 15:09:57 2958 3

原创 AOP的切入点Pointcut中的execution表达式详解

在面向切面编程(AOP)中,切入点(Pointcut)用于定义在哪些方法或代码段上应该应用切面的逻辑。切入点使用表达式来匹配目标方法的签名和执行位置。在实际使用时,你可以根据需要灵活构造切入点表达式来匹配符合条件的目标方法。在 Spring AOP 中,常用的切入点表达式是基于方法的。

2023-09-15 16:46:44 740

原创 ChromeDriver最新版(116.x及最新)下载途径分享

ChromeDriver最新版(116.x及最新)下载途径分享

2023-09-12 14:58:24 1339

原创 Linux以系统服务(systemctl start xxx)的方式启动Kafka(其他服务同理)

Linux以系统服务(systemctl start xxx)的方式启动Kafka(其他服务同理)

2023-08-31 15:25:31 888

原创 React通过docx-preview预览Word文档

在基于React的Web应用中,我们经常遇到需要预览和展示Word文档的需求。而是一个优秀的React组件库,可以帮助我们实现在Web页面上预览Word文档的功能。本文将介绍如何使用组件来实现Word文档的预览,并提供一个案例供参考。效果体验:https://volodymyrbaydalka.github.io/docxjs/通过使用组件,我们可以轻松地实现在React应用中预览Word文档的功能。只需简单的安装、配置和使用,就能够在Web页面上展示并预览Word文档。

2023-08-21 17:21:02 3473 3

原创 解决本地代码commit后发现远程分支被更新的烦恼!

解决本地代码commit后发现远程分支已被更新的问题!

2023-08-10 15:14:39 1142

原创 React实现关键字高亮

这样,当你调用 highLight(text, keyword) 函数时,它将返回一个包含了高亮标记的文本数组。你可以在渲染页面时使用该数组来展示高亮的效果,将每个元素渲染为 HTML 内容,从而实现对指定关键字的高亮显示。这个函数的作用是在给定的文本中,将指定的关键字进行高亮标记。它接受两个参数:text(要处理的文本)和 keyword(要高亮标记的关键字)。最后,使用 slice(1) 方法去掉第一个空字符串元素,并返回一个新的数组。展示某段文本时调用该函数处理后,在展示就能实现高亮效果。

2023-08-08 19:47:58 1507

原创 Arthas:Java开发者的必备利器

Arthas 是一款功能强大的 Java 诊断工具,它提供了动态追踪、方法探针、实时监控和远程调试等多种功能。通过使用 Arthas,开发者可以更加高效地进行应用程序的诊断和优化,提高开发调试的便利性和效率。现在你拥有了一个能够轻松定位和解决性能问题的利器!试试 Arthas,让你的 Java 开发更加高效!

2023-07-31 18:26:52 351

原创 Windows 10中使用CMD测试IP端口联通性的方法

在Windows 10操作系统中,有时候我们需要检查某个IP地址的某个端口是否联通。这对于网络管理员、开发人员或普通用户来说都非常重要。本文将介绍如何在命令提示符 (CMD) 下使用telnet命令来测试IP的端口联通情况。通过在Windows 10中使用CMD中的telnet命令,我们可以方便地测试特定IP地址的特定端口是否联通。这对于排除网络故障、检查服务可用性以及进行网络调试等任务都非常有用。安装完成后,您就可以使用telnet命令来测试目标IP地址的端口联通情况了。

2023-07-20 14:21:02 5478

原创 DDoS攻击:网络安全的威胁

DDoS(分布式拒绝服务)攻击是一种恶意网络攻击,目的是通过发送大量的请求或占用目标系统的资源,使其无法正常运行。在DDoS攻击中,攻击者使用分布在多个地理位置的多台计算机(也称为“僵尸”或“攻击者控制的主机”)同时向目标系统发送大量请求,以压倒目标系统的处理能力。DDoS攻击是一种威胁网络安全的恶意行为,通过占用目标系统的资源或使其服务不可用,给受害者带来严重影响。SYN洪水攻击、UDP洪水攻击和HTTP洪水攻击是常见的DDoS攻击类型。DDoS攻击可以导致服务中断、数据泄露和声誉受损。

2023-07-06 18:26:20 1236

原创 Guava:Java开发者的必备工具库

Guava是由Google开发的一个Java核心库,旨在为Java开发者提供高效、易用的工具集合。它包含了许多实用的功能和方法,能够简化开发过程,并增加代码的可读性和可维护性。本文将介绍Guava的一些重要特性和使用案例。Guava是一款功能强大的Java工具库,提供了丰富的功能和方法,能够简化开发过程,并提高代码的可读性和可维护性。无论是集合框架、函数式编程、字符串处理、缓存操作还是IO处理,Guava都提供了简洁而高效的解决方案。

2023-07-03 10:26:28 3589

原创 Java中的神秘之旅:揭秘native修饰的start0()方法的实现

在Java中,拥有多线程能力是其强大之处之一。然而,你是否曾经好奇过在Java中如何启动一个线程?这其中涉及到一个神秘的方法——start0()。让我们一起揭开这个谜团,探索start0()方法的具体实现。start0()通过本文,我们对Java中的start0()方法有了更深入的了解。这个本地方法作为线程启动的关键步骤之一,负责分配资源、创建操作系统级线程,并进行状态更新。虽然我们通常不需要直接操作它,了解其实现细节可以帮助我们更好地理解Java多线程机制。

2023-06-30 23:26:33 396

原创 JVM类文件结构:揭秘Java字节码的奥秘

在Java开发中,了解JVM(Java虚拟机)类文件结构是至关重要的。JVM类文件是Java源代码编译后生成的二进制文件,它包含了Java字节码的指令集和其他相关信息。本文将深入探讨JVM类文件的结构,包括文件格式、常量池、字段和方法表等内容,帮助读者更好地理解Java字节码的内部工作原理。JVM类文件结构是理解Java字节码的关键所在。通过深入研究JVM类文件的基本结构、常量池表以及其他重要部分,我们可以更好地理解Java程序的编译和执行过程。

2023-06-30 15:38:07 679

原创 深入理解Java中的字符串驻留机制

字符串驻留机制是指Java虚拟机(JVM)为了提高性能和节省内存而采取的一种优化手段。当创建字符串对象时,JVM会检查字符串常量池(String Pool)中是否已存在相同值的字符串。如果存在,则直接返回常量池中的引用;如果不存在,则在常量池中创建新的字符串对象,并将其引用放入常量池中。

2023-06-29 10:33:50 241

原创 Java多线程文件下载器高文件下载速度

多线程下载器是一种利用多线程同时下载文件的工具。它将大文件分割成多个小块,并使用多个线程同时下载这些小块文件。随后,将下载的小块文件合并为完整的文件。

2023-06-28 15:26:27 1044

原创 Java中的try-with-resources:优雅管理资源的利器

try-with-resources(自动资源管理)是一个方便的语言特性,它允许我们通过声明和初始化资源的同时自动关闭它们。在使用完资源后,不再需要手动编写关闭资源的代码,这样可以减少因忘记关闭资源而导致的潜在问题,并使代码更加清晰明了。try-with-resources 相对于传统的 try-catch-finally 结构具有简洁性和可读性更高的优势,使得代码更清晰易懂。try-with-resources 可以自动关闭资源,减少了手动关闭资源的工作量,并避免了忘记关闭资源而导致的问题。

2023-06-27 17:06:19 1015

原创 安装JDK17的疑惑解答

当在Windows 10上安装JDK时,有时候会遇到一些困惑:为什么使用"jdk-17_windows-x64_bin.exe"安装包**安装JDK 17之后没有提示要安装JRE呢?**在本篇博客中,我们将详细解答这个问题。

2023-06-27 12:25:06 1096

原创 为什么说Mybatis是一个半ORM(对象关系映射)框架

相比于全 ORM 框架需要的大量配置,使用 MyBatis 可以更好地掌控 SQL 执行情况,使得开发者能够更灵活地控制数据库访问。总之,MyBatis 是一个半 ORM 框架,它在 SQL 明确控制、数据库独立性、对象映射和延迟加载等方面与传统的全 ORM 框架有所不同。相反,开发者需要手动控制对象之间的关系,从而实现关系型数据库和面向对象程序的映射。MyBatis 是一个半 ORM(对象关系映射)框架,这是因为 MyBatis 与传统的全 ORM 框架(如 Hibernate)有很大不同。

2023-06-20 15:16:29 885

原创 反射让Java更加灵活:探究Java反射的奥秘

Java 反射是 Java 语言中的一个重要特性,它允许程序在运行时动态地查看、访问和修改对象的行为和属性。本文将为您介绍 Java 反射的基本概念、优点以及通过一个具体案例来展示反射在实际应用中的作用。Java 反射是 Java 语言的一种机制,它允许程序在运行时动态地获取类信息、构造对象、调用方法和访问变量。Java 反射提供了一种强大而灵活的方式,让开发人员可以在运行时检查和操作一个类的结构、方法和属性。Java 反射是 Java 语言中的一个非常有用的特性,它允许程序动态地获取并操作类的属性和方法。

2023-06-15 12:20:45 639

原创 如何学习Java字节码编程

对于很多 Java 程序员来说,学习字节码编程可能是一件非常高级的事情。但事实上,通过学习字节码编程,Java 程序员可以更好地理解 Java 程序的底层实现,并且可以借助字节码编程技术实现各种非常有趣的功能。Java 字节码编程是指在 Java 程序运行期间,通过修改程序的字节码文件,实现对程序行为的动态修改和扩展。Java 字节码是一种中间代码,它可以被 JVM 解释执行,因此 Java 程序员可以通过修改字节码来实现各种高级功能。

2023-06-09 14:28:23 830

原创 用Java字节码编程实现瞬间变强,从此告别刷副本

Java字节码编程是一种高级技术,它可以让我们更加灵活地操作Java应用程序的底层实现,包括增强应用程序的功能、优化应用程序的性能等。在游戏开发中,我们可以利用Java字节码编程技术实现一些非常有趣和实用的功能,例如瞬间变强。在很多游戏中,我们需要花费很长时间才能提升自己的等级或者获得足够的装备来战胜强敌。而瞬间变强则是一种特殊的功能,它可以帮助我们在短时间内提升自己的等级和能力,从而轻松地完成任务或者打败敌人。

2023-06-08 19:42:42 173

原创 Java字节码编程:从入门到精通

Java是一种高级语言,其代码在编译后被转换为Java字节码文件。Java字节码文件包含了Java平台上的指令集,这些指令可以在Java虚拟机(JVM)上执行。因此,通过编写和操作字节码,我们可以在运行时动态地修改和扩展Java应用程序的行为。Java字节码是Java编译器生成的中间格式,其文件以 .class 文件扩展名保存。这些文件包含了已编译的Java代码,它们可以被JVM加载并执行。Java字节码是由操作码(opcode)和操作数(operand)组成的指令序列。

2023-06-08 08:56:24 870

原创 介绍Java中的响应式编程(Reactive Programming)

在 Java 中,反应式编程已经成为了一个备受关注的技术。反应式编程是一种声明式编程范式,它借鉴了函数式编程和面向对象编程的思想,用于处理异步和事件驱动的数据流并保持响应能力。反应式编程是一种处理异步操作和事件驱动数据流的编程范式。在传统的编程模型中,我们通常使用命令式编程来处理数据流,即需要对一系列步骤进行显式的调度和控制。但是,在反应式编程中,我们将数据流看作是一个响应式系统,由事件驱动的数据流组成。这些数据流可自我管理,实时更新自身状态并将数据流交给其他数据流进行处理。

2023-06-07 18:16:11 2541

原创 Java SPI机制及原理详解

Java SPI (Service Provider Interface) 是一种重要的组件化方式,它可以让程序在运行时动态地装载一些实现模块,从而增强程序的可扩展性和灵活性。本文将详细介绍 Java SPI 的基本概念、原理以及使用方法。Java SPI 是一种标准服务发现机制,在 Java 中被广泛应用。它可以让程序在启动时通过配置文件或者注解来动态加载对应的实现类,从而实现轻量级的插件式开发。首先,需要定义一个接口,用于描述某种功能的实现方法。

2023-06-05 18:27:49 1286

原创 Java 程序的 Debug 功能是如何实现

连接 JVM:IDE 建立与 JVM 的 socket 连接,在 Debug 模式下向 JVM 发送调试请求,以及需要传递给 JVM 的信息。调试控制:IDE 通过监听用户的操作,例如单步执行、跳到下一个断点、观察变量等,向 JVM 发送相应指令,以控制程序的执行状态。以上是 Java Debug 的基本流程。接收事件:IDE 在连接 JVM 后,会监听来自 JVM 的事件信息,例如线程挂起、变量改变等。启动 JVM:在 Debug 模式下启动 JVM,同时配置该 JVM 的调试端口和断点信息等。

2023-06-02 16:20:39 907

原创 解析SpringBoot中@Autowire注解的实现原理

Autowired 是 Spring 框架提供的一种依赖注入方式,它可以自动装配 Bean,并将成员变量、方法参数或构造函数中需要的对象注入到对应的位置。它是基于 Java 的反射机制实现的,能够方便地管理对象之间的依赖关系。Spring Boot 中 @Autowired 注解实现依赖注入的功能是基于 Java 的反射机制实现的。它可以方便地管理对象之间的依赖关系,并提高代码的可读性和可维护性。

2023-06-02 11:39:47 2091

原创 ConflictingBeanDefinitionException: Annotation-specified bean name ‘XXX‘ for bean class

使用 @Qualifier 注解 - 在注入 bean 的过程中,使用 @Qualifier 注解指定要注入的具体 bean,而不是使用默认名称。在 Spring 框架中,@ComponentScan 注解用于搜索标有 @Component、@Service、@Controller、@Repository 等注解的类,并将它们注册为 Spring 容器中的 Bean。在您的项目中,有两个 XXX类被定义,并且都使用了相同的 bean 名称XXX,这导致了冲突。

2023-05-31 14:36:02 3773

原创 用Spring Boot轻松实现定时任务--原理详解

定时任务是现代化 web 开发中常见的功能之一,Spring Boot 为我们提供了非常方便的方式来处理这些任务。在具体的业务场景中,我们需要了解定时任务的基本概念和原理,了解如何使用@Scheduled注解来实现定时任务,同时也需要了解如何配置定时任务线程池,以及深入了解定时任务的实现原理。通过这些学习和实践,我们可以掌握定时任务的实现和优化方法,提高系统的可靠性和性能表现。

2023-05-29 16:43:37 2952

原创 SpringBoot 启动流程

综上所述,Spring Boot 应用程序的启动流程可以分为准备阶段、刷新上下文阶段、后置处理阶段和启动失败处理阶段。方法来指定要启动的主类。在创建 SpringApplication 对象时,Spring Boot 会自动加载应用程序默认的配置文件(application.properties 或 application.yml),并将其转化为 Spring 环境中的属性值。在本文中,我们将会深入了解 Spring Boot 的启动流程,掌握 Spring Boot 应用程序是如何启动并初始化的。

2023-05-27 21:17:34 1877

原创 Java多线程实操之模拟扑克抓牌

该版本简单使用了sychronized关键字来保证线程安全,后面会有其他方法实现,持续关注!

2023-05-26 16:58:55 357

jdk_1.8API.rar

java8帮助文档(中、英混合)包含多个版本

2021-03-18

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

TA关注的人

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