
个人Java开发知识经验分享
Java开发知识经验分享,解决一些在实际工作中遇到的问题!
优惠券已抵扣
余额抵扣
还需支付
¥99.90
¥299.90
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
ThatMonth
星光不问赶路人,时光不负有心人。
展开
-
Java实现分卷压缩功能,不引入第三方依赖的实现方式
分卷压缩是一种将一个大文件分割成多个较小文件的压缩方法。这种方法通常用于便于存储、传输或备份大文件。原创 2024-07-23 09:47:45 · 390 阅读 · 0 评论 -
DMException: 变量空间溢出,解决达梦数据库报错问题
Caused by: dm.jdbc.driver.DMException: 变量空间溢出。原创 2024-07-08 10:08:55 · 1770 阅读 · 0 评论 -
怎么彻底关闭Nacos?解决启动时Spring连接Nacos报错
Nacos是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。它是阿里巴巴开源的一个项目,旨在帮助您发现、配置和管理微服务。Nacos提供了一系列丰富的特性集合,支持服务发现和服务健康监测、动态配置服务、服务元数据和流量管理等功能。原创 2024-07-02 14:24:44 · 951 阅读 · 0 评论 -
SpringBoot怎么实现自定义接口全局异常捕获?详细教程
AttachmentGlobalExceptionConfig 确实对不同的接口类抛出的异常都能进行捕获!原创 2024-06-17 11:53:42 · 228 阅读 · 0 评论 -
MySQL8找不到配置文件my.ini怎么解决?
1、通过下面命令,查看mysql的安装路径,去安装目录查看有没有my.ini配置文件。4、现在一般下载的Mysql8压缩包是不包含my.ini配置文件的。2、通过下面命令,查看mysql的数据存储路径。3、通过下面命令,查看mysql的最大连接数。6、重启mysql,配置开始生效。5、指定mysql的配置。原创 2024-05-28 16:38:39 · 1784 阅读 · 0 评论 -
Redis教程(二十):Redis中Lua脚本的使用
Lua 脚本主要在于提供一种强大且灵活的方式来扩展和定制应用程序的功能。原创 2024-05-27 16:56:55 · 327 阅读 · 0 评论 -
SpringBoot项目中关于Tomcat的可配置主要参数,accept-count的真正含义
Apache Tomcat 是一个开源的服务器软件,它的主要作用是提供一个环境,用于执行使用 Java 技术(如 Servlet、JavaServer Pages (JSP)、Java WebSocket)编写的 Web 应用程序。:Tomcat 提供了 Servlet 容器,用于加载、解析和执行 Servlet 和 JSP 页面。Servlet 和 JSP 页面是用于构建动态 Web 网站的主要技术,而 Tomcat 则提供了执行这些技术的环境。原创 2024-05-16 17:34:40 · 194 阅读 · 0 评论 -
Java整合MySQL8使用load data infile快速导入数据,不坑人的最详细教程
LOAD DATA INFILE是MySQL中的一个用于将数据从文件加载到表中的命令。它允许你从文本文件、CSV文件等导入数据到MySQL表中,非常适用于大量数据的批量导入。:LOAD DATA INFILE命令可以处理多种文件格式,如CSV、文本文件等,但是要求文件的格式必须与目标表的字段格式兼容。:相比其他方式,如使用INSERT语句逐行插入数据,通常更快,尤其是在处理大量数据时。这是因为它是一个原生的MySQL命令,可以利用MySQL的优化和并发处理能力。原创 2024-05-14 00:02:03 · 607 阅读 · 0 评论 -
企业私服中使用Maven,标准的setting.xml文件
配置优先级从高到低:pom.xml > 本地 settings > 全局 settings如果这些文件同时存在,在应用配置时,会合并它们的内容,如果有重复的配置,优先级高的配置会覆盖优先级低的。原创 2024-04-30 10:10:57 · 285 阅读 · 0 评论 -
HTTP接口调用时报错 java.io.IOException: Connection reset by peer解决办法
在接口调用时,遇到如下报错:/:?/:?/:?/:?/:?/:?/:?/:?/:?/:?/:?/:?原创 2024-04-25 15:32:43 · 2979 阅读 · 1 评论 -
Java飞行记录 Jfr 文件分析,JMC工具的安装和使用详解
JMC 可以读取 JFR 事件记录文件,并提供复杂的分析和视图,帮助你深入理解 JVM 的行为和性能表现。原创 2024-04-22 14:20:12 · 1416 阅读 · 0 评论 -
Hibernate使用HQL的注意事项
HQL是Hibernate Query Language的缩写,它是为Hibernate框架设计的面向对象的查询语言。Hibernate是一个Java平台的对象关系映射(ORM)解决方案,它提供了一种将Java应用程序中的对象模型映射到关系数据库表结构的方法。使用Hibernate, 开发人员可以使用Java对象来表示和操作数据库中的数据,而不需要编写大量的SQL码。HQL的设计灵感来源于SQL,但与此同时,它允许开发人员用面向对象的方式来编写查询。原创 2024-04-07 17:41:03 · 114 阅读 · 0 评论 -
Spring的BeanFactory和FactoryBean有什么区别?
定义了ioc容器的最基本形式,并提供了ioc容器应遵守的的最基本的接口,也就是Spring ioc所遵守的最底层和最基本的编程规范,它只是个接口,并不是ioc容器的具体实现。它的职责包括:实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。再来说说。原创 2024-04-03 15:23:23 · 261 阅读 · 0 评论 -
分别使用TCP/UDP实现互相实时发送消息,接收消息功能
UDP(用户数据报协议)是一种简单的、无连接的、基于数据报的传输层协议。它是互联网协议套件中的一部分,与TCP协议并列,用于在网络上传输数据。无连接性:UDP是一种无连接的协议,通信双方在通信之前不需要建立连接。每个UDP数据包(也称为数据报)都是独立的,它们之间没有关联性,可以单独发送,也可以按照任意顺序发送。不可靠性:UDP不提供可靠的数据传输机制,它不使用序号、确认和重传等机制来确保数据的可靠传输。因此,UDP数据包在传输过程中可能会丢失、重复或者乱序,应用层需要自行处理这些问题。简单性。原创 2024-03-22 16:13:41 · 441 阅读 · 0 评论 -
BigDecimal类的使用,用于精确计算任意精度的数字
BigDecimal是 Java 中用于精确表示任意精度的十进制数的类。在很多情况下,使用基本数据类型(如double或float)进行浮点数计算可能会导致精度丢失或舍入错误。BigDecimal提供了一种更精确的解决方案,可以处理需要高精度计算的场景,比如财务应用或科学计算等。BigDecimalBigDecimal总的来说,BigDecimal类的作用是提供一种精确表示和计算十进制数的机制,以解决需要高精度计算的问题。原创 2024-03-21 15:55:49 · 166 阅读 · 0 评论 -
The service already exists!怎么解决,Windows怎么安装/卸载服务?
有时候,我们在Windows系统上安装服务时会遇到报错,原创 2024-03-14 11:48:26 · 1356 阅读 · 0 评论 -
Gradle项目怎么引入另一个独立的Gradle构建结果,Gradle进阶操作教程
总的来说,Gradle 是一款功能强大、灵活且易于扩展的构建工具,广泛应用于各种类型的软件项目中,包括 Java、Android、Web 应用程序等。它的特点包括灵活的构建配置、丰富的插件生态系统和多项目构建支持,使得开发团队能够高效地管理和构建复杂的软件项目。3. 如果A项目要从本地引入 root 项目的构建结果,在subprojectA 项目的setting.gradle文件中添加,:Gradle 使用增量构建的方式,只重新构建发生变化的部分,可以加快构建速度。原创 2024-03-12 09:25:43 · 411 阅读 · 0 评论 -
Java阻塞队列,BlockingQueue常用Api介绍
在 Java 中,阻塞队列是一种特殊的队列数据结构,它具有阻塞操作的特性,即当队列为空时,获取元素的操作会被阻塞;当队列已满时,添加元素的操作也会被阻塞。Java 提供了包中的接口,以及其实现类,用于实现阻塞队列。这些阻塞队列都实现了接口,提供了诸如puttakeofferpoll等方法,可以实现阻塞的添加和获取元素操作。原创 2024-03-11 10:39:02 · 115 阅读 · 0 评论 -
SpringBoot启动后自动执行功能,提供的各种Event事件顺序整理
Spring Boot的核心是简化Spring应用程序的开发和部署。它通过提供一组开箱即用的功能和约定大于配置的原则,大大简化了Spring应用程序的配置和开发过程。:Spring Boot提供了一个快速启动的引导器,可以轻松创建和运行一个基本的Spring应用程序,无需复杂的配置。:Spring Boot通过自动配置功能,根据类路径下的依赖、Bean的定义等信息,自动配置Spring应用程序的环境,大大减少了手动配置的工作量。原创 2024-03-01 10:00:46 · 321 阅读 · 0 评论 -
Spring启动后默认注入的ConfigurableEnvironment,可用于获取系统属性
Spring Boot在启动时会自动注入默认的ConfigurableEnvironment对象。ConfigurableEnvironment是Spring Framework中的接口,它代表了Spring应用程序的环境配置,包括配置属性、配置文件等信息。在Spring Boot应用程序启动时,Spring Boot会自动创建并配置一个ConfigurableEnvironment对象,该对象包含了应用程序的所有配置信息。原创 2024-03-01 09:26:55 · 532 阅读 · 0 评论 -
实现Spring的Ordered接口,控制Bean的初始化优先级最高
实现Spring框架中的Ordered接口可以控制对象的初始化顺序。Ordered接口定义了一个getOrder()方法,返回一个整数值,表示对象的顺序,数值越小,优先级越高,越先被初始化。通过实现Ordered接口,可以确保在有多个对象需要按顺序初始化时,它们的初始化顺序是可控的。原创 2024-02-29 15:37:53 · 563 阅读 · 0 评论 -
Elasticsearch的基本安装教程,Elasticsearch+SpringBoot实现简单的增删改查功能
Elasticsearch 是一个开源的分布式搜索和分析引擎,最初由 Elastic 公司开发。它是基于 Apache Lucene 的搜索引擎构建的,提供了强大的搜索和分析功能,并支持实时数据检索和分析。Elasticsearch 是一个分布式系统,数据可以分布存储在多个节点上,提高了数据的可用性和性能。Elasticsearch 提供了实时搜索和分析功能,可以在大规模数据集上执行高效的搜索、聚合、过滤、排序等操作,并能够实时更新和索引数据。原创 2024-02-27 17:29:18 · 469 阅读 · 0 评论 -
Redis教程(十一):Redis的发布订阅和事件监听功能
Redis的发布/订阅(Pub/Sub)功能是一种消息传递模式,用于实现消息发布者(publisher)和订阅者(subscriber)之间的消息通信。在这种模式下,消息的发送者(发布者)将消息发送到特定的频道(channel),而订阅了该频道的接收者(订阅者)将会接收到这些消息。发布者负责向指定的频道发布消息。发布者将消息发送到指定的频道后,所有订阅了该频道的订阅者都会接收到这些消息。频道是消息的传输通道,它用于将消息从发布者传递给订阅者。原创 2024-02-27 09:41:43 · 718 阅读 · 0 评论 -
Spring Cache框架使用教程,通过简单且强大的方式在应用程序中使用缓存提高性能
综上所述,Spring Cache 的原理是基于 AOP 和缓存注解,通过 AOP 拦截器在方法调用前后执行缓存逻辑,使用缓存管理器管理缓存,并将缓存操作委托给实际的缓存存储系统进行处理,从而实现方法级别的缓存功能。Spring Cache 框架支持多种缓存实现(如内存缓存、Redis、Ehcache 等),并且提供了灵活的配置选项和扩展点,可以根据具体需求选择合适的缓存策略和实现。在运行时,Spring Cache 会根据配置选择合适的缓存管理器,并使用它来管理缓存的创建、访问、更新和清除等操作。原创 2024-02-23 14:50:35 · 491 阅读 · 0 评论 -
Java的Jstat -gc命令参数,实时监控JVM内存使用情况,分析GC的各个参数含义
JVM(Java Virtual Machine)是Java虚拟机的缩写,是Java平台的核心组件之一。它是一个在物理计算机上运行的虚拟机器,负责执行Java字节码(Java bytecode)并提供了Java程序运行时环境。: JVM负责加载Java字节码,并将其解释或者编译成本地机器代码执行。这使得Java程序具有跨平台的特性,因为相同的字节码可以在任何安装了JVM的平台上运行。: JVM管理Java程序的内存,包括分配和释放内存以及垃圾回收。原创 2024-02-23 08:48:59 · 550 阅读 · 0 评论 -
Java8新特性Optional类的使用,链式编程形式解决判空问题
这种方式要求值不能为 null,如果传入的值为 null,则会抛出 。这种方式可以接受 null 值,如果传入的值为 null,则会创建一个空的 Optional 对象。 这种方式创建一个空的 Optional 对象,不包含任何值。注意:在使用 Optional 类时,建议避免使用 of 方法,因为如果值为 null,会抛出异常。通常情况下,使用 ofNullable 或者空的 Optional 对象是更安全的方式。使用 Optional 类能够更加清晰地表达代码中可能为 null 的情况,同时原创 2024-02-22 08:52:38 · 878 阅读 · 0 评论 -
Spring、SpringMVC、SpringBoot的常用注解汇总大全
1、spring的常用注解@Component: 表明一个类是 Spring 管理的组件。 @Controller: 用于标记控制器类。 @Service: 用于标记服务类。 @Repository: 用于标记数据访问对象(DAO)类。 @Autowired: 自动装配 bean,根据类型进行依赖注入。 @Qualifier: 与@Autowired 结合使用,根据指定的名称装配 bean。 @Value: 注入属性值,可以从外部属性文件中读取。 @Configuration: 声明一个原创 2024-02-22 08:51:21 · 219 阅读 · 0 评论 -
如何查询数据库所有的序列,序列的属性,序列的当前值
其中,seq_name 是序列的名称,start_value 是序列的起始值,increment_value 是序列的增量,min_value 和 max_value 是序列的最小值和最大值,CYCLE 和 NOCYCLE 用于指定是否循环序列。序列是数据库中的一种独立对象,可以在表的任何地方使用,以生成唯一的、递增或递减的数值序列。在使用序列时,通常需要先创建序列对象,然后在表的列中使用序列生成的值。序列生成的数值是唯一的,每次获取序列的值都会生成一个不同的数值。这将返回序列seq_name的下一个值。原创 2024-02-21 10:00:52 · 1003 阅读 · 0 评论 -
如何查询一个约束是属于数据库中的哪个表
唯一约束用于确保表中的列中的值是唯一的,但与主键约束不同,唯一约束允许列中的值为 NULL。唯一约束通常用于确保表中的某些列中的值是唯一的,但不要求每个行都有一个唯一标识符。约束是数据库设计中重要的概念,能够确保数据库中的数据符合预期的规范和要求,提高数据的质量和可靠性。约束可以应用于表的列级别或表级别,以确保数据库中的数据满足特定的要求。检查约束用于定义表中列的值的条件,确保列中的值满足特定的条件。检查约束通常用于限制列中的值的范围,或者确保列中的值满足特定的逻辑条件。原创 2024-02-21 09:54:56 · 523 阅读 · 0 评论 -
实现一个Windows环境一键启停Oracle的bat脚本
Oracle数据库具有优化的查询处理器和并发控制机制,能够实现高效的查询处理和事务管理。Oracle数据库提供了丰富的功能和工具,包括高级查询、数据分析、数据仓库、数据挖掘、备份恢复、高可用性、性能优化等功能,能够满足各种复杂的数据库需求。Oracle数据库支持水平和垂直的扩展,能够在不同的硬件和软件平台上部署,并提供了丰富的扩展和集群选项,以满足不同规模和需求的数据库应用。注意:不同版本的Oracle安装的服务名称是不一样的,需要自己去看有哪些Oracle服务,然后手动修改脚本中的服务名!原创 2024-02-20 15:49:50 · 370 阅读 · 0 评论 -
Oracle使用exp和imp命令实现数据库导出导入
IMP导入 注意:必须要在Oracle安装目录下的BIN目录下执行命令,如下原创 2024-02-20 13:06:52 · 574 阅读 · 0 评论 -
@ConditionalOnClass和@ConditionalOnBean的作用和使用方式,以及两者的区别
ConditionalOnClass 注解是 Spring Boot 中的一个条件注解,用于根据类路径中是否包含指定的类来决定是否加载一个 Bean 或配置类。这个注解可以用于在特定条件下控制 Bean 或配置类的加载行为。原创 2024-02-18 14:50:10 · 1302 阅读 · 0 评论 -
@ConditionalOnProperty和@DependsOn两个注解的作用和使用方式
ConditionalOnProperty 是 Spring Boot 中的一个条件注解,用于根据配置属性的存在与否来决定是否加载一个 Bean 或配置类。这个注解可以用于在特定条件下控制 Bean 或配置类的加载行为。首先需要在application.yml文件中加入对应的配置表示指定application.yml中的配置表示当这个配置为true时生效如果没有设置时,即 @ConditionalOnProperty(name = "myapp.feature.enabled") 表示。原创 2024-02-18 14:32:01 · 396 阅读 · 0 评论 -
实现一个支持高并发的HttpClient工具,成倍提升系统的性能和QPS
是 Apache HttpClient 库中的一个核心类,用于发送 HTTP 请求并处理 HTTP 响应。HttpClient提供了发送各种类型的 HTTP 请求的方法,包括 GET、POST、PUT、DELETE 等。通过这些方法,你可以向服务器发送请求,并获取服务器的响应。HttpClient可以帮助你处理服务器返回的 HTTP 响应。你可以从响应中获取状态码、头部信息、响应内容等,并根据需要进行相应的处理,例如解析 JSON、XML 等格式的数据。HttpClient。原创 2024-02-07 16:30:36 · 382 阅读 · 0 评论 -
Spring Batch 批处理框架适配达梦数据库,实现从文件批量读取写入数据库(完整教程)
Spring Batch 是一个基于 Spring 的批处理框架,用于开发和执行大规模、高性能、可靠的批处理应用程序。它提供了丰富的功能和组件,用于处理复杂的批处理任务,例如大数据ETL(Extract-Transform-Load)、数据清洗、数据迁移、报表生成等。Spring Batch 提供了模块化的架构和丰富的扩展点,使得开发者可以根据需要定制和扩展框架的功能。Spring Batch 集成了 Spring 的事务管理机制,确保批处理任务的数据一致性和事务完整性。原创 2024-02-06 16:09:22 · 783 阅读 · 1 评论 -
解决使用达梦数据库遇到的一些问题,Unable to detect database type at和DatabaseType not found for product name: [DM DBMS
这个报错可以看到出现了【Unable to detect database type】,说明程序未识别到这种数据库类型解决办法:application.yml文件配置加上即可。原创 2024-02-06 15:12:47 · 1599 阅读 · 0 评论 -
怎么提高单次请求中多次查询数据库的速度,记录一种巧妙的实现方案
ThreadLocal是Java,它允许开发者在多线程环境中创建和维护每个线程独有的变量副本。这些副本与全局变量不同,不会受到其他线程的影响,从而提高了多线程应用中数据一致性和安全性。ThreadLocal 的设计使得每个线程都能够独立地操作自己的变量副本,这在处理共享资源时尤为有用。总结来说,ThreadLocal 提供了一种机制,允许多个线程能够同时访问并修改同一个对象的多个副本,而这些副本彼此之间是隔离的。原创 2024-02-04 16:13:49 · 117 阅读 · 0 评论 -
策略模式+SpringBoot接口,一个接口实现接收的数据自动分流处理
定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户。策略模式的精髓就在于将经常变化的一点提取出来,单独变成一类,并且各个类别可以相互替换和组合。原创 2024-01-31 17:40:24 · 593 阅读 · 0 评论 -
dm.jdbc.driver.DMException:Column [XXX] out of length,解决达梦数据库报错
在使用达梦数据库时,可能会遇到如下报错:/:?/:?/:?/:?/:?/:?原创 2024-01-31 16:28:00 · 1426 阅读 · 0 评论 -
达梦数据库的最大连接数,怎么查看和设置
达梦数据库是国内领先的数据库产品开发服务商,国内数据库基础软件产业发展的关键推动者。公司为客户提供各类数据库软件及集群软件、云计算与大数据等一系列数据库产品及相关技术服务,致力于成为国际顶尖的全栈数据产品及解决方案提供商。此公司服务于包括建设银行、中国人保、国家电网、中国航信、中国移动、中国烟草等在内的知名用户,成功应用于金融、能源、航空、通信等数十个领域。根据赛迪顾问及IDC发布的报告显示,2019年至2022年公司产品市占率位居中国数据库管理系统市场国内数据库厂商前列。原创 2024-01-31 11:05:04 · 4804 阅读 · 0 评论