自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 VScode中如何创建项目分支

在 VS Code 中为前端项目创建自己的分支是一个常见的开发实践

2025-06-12 21:33:01 205

原创 数据库分批入库

分批处理是平衡性能、资源消耗和可靠性的重要技术手段,特别适合处理海量数据场景。

2025-06-09 21:58:18 347

原创 Java Stream流:高效集合处理的方式

本文详细介绍了S在Java 8中,Stream API的引入彻底改变了我们处理集合数据的方式。Stream提供了一种声明式、函数式的编程模型,使得集合操作更加简洁、高效且易于并行化。本文将深入探讨Java Stream的核心概念、常用操作以及实际应用场景。tream流的大致用法以及基础概念,以及一些使用场景。

2025-06-08 14:42:49 319

原创 Java优化:双重for循环

在工作中,经常性的会出现在两张表中查找相同ID的数据,许多开发者会使用两层for循环嵌套,虽然实现功能没有问题,但是效率极低,一下是一个简单的优化过程,代码耗时凑从26856ms优化到了748ms。

2025-06-07 17:58:55 682

原创 SimpleDateFormat 和 DateTimeFormatter 的异同

DateTimeFormatter 是更现代、更安全、功能更强大的选择,而 SimpleDateFormat 主要是为了向后兼容而保留。如果使用 Java 8 或更高版本,强烈建议使用新的 java.time API 和 DateTimeFormatter。

2025-06-04 22:48:28 880

原创 TRUNCATE与DELETE的区别?

TRUNCATE和DELETE。虽然它们都能实现删除表中数据的目的,但在实现机制、性能影响和使用场景上存在显著差异。本文将深入探讨这两种命令的区别,帮助您在实际工作中做出更明智的选择。

2025-06-02 23:21:53 735

原创 @ComponentScan注解的注意点

@ComponentScan 是 Spring 框架中的一个核心注解,用于自动扫描和注册 Spring 容器中的组件(如 @Component, @Service, @Repository, @Controller 等)。

2025-05-31 23:49:51 241

原创 什么是SQL注入?如何防止SQL注入?

SQL注入是一种严重的安全威胁,但通过采用参数化查询、ORM框架、输入验证等多层防御策略,可以有效地防止此类攻击。开发人员应始终将安全性作为开发过程的核心考虑因素。

2025-05-29 21:36:30 357

原创 基本数据类型和包装数据类的区别和使用标准

本文探讨了Java中基本数据类型与包装类的区别及使用标准。基本数据类型直接存储值,占用固定内存,操作更快,适合性能敏感场合和局部变量;而包装类存储对象引用,可表示null值,适用于集合、泛型和数据库映射。文章还介绍了自动装箱与拆箱的机制及其潜在问题,建议使用equals()方法比较包装类。最佳实践包括在实体类中优先使用包装类、设计可选参数时考虑包装类,以及避免不必要的拆装箱操作。选择数据类型应基于是否需要表示null值、是否用于集合或泛型、性能要求和代码清晰度等因素。合理选择数据类型有助于编写高效、健壮的J

2025-05-26 20:10:35 699

原创 PL/SQL基础语法!

PL/SQL(Procedural Language/SQL)是 Oracle 数据库的过程化扩展语言,结合了 SQL 的数据操作能力和过程化语言的逻辑控制能力。

2025-05-24 22:48:32 448

原创 什么是过程化语言?

过程化编程语言(Procedural Programming Language)是一种基于"过程调用"概念的编程范式,其核心思想是将程序分解为一系列可复用的子程序(过程/函数)。这类语言强调明确的控制流程和代码的组织结构。

2025-05-22 19:44:42 198

原创 Java枚举类详解:概念与本质及使用场景!

枚举类(Enum)是Java中一种特殊的类,用于定义一组固定的常量。它提供了一种类型安全的方式来处理有限的、预定义的值集合。

2025-04-20 10:25:03 654

原创 a= a + b与a += b的深度解析

a = a + b,a += b​类型转换需要显式转换自动隐式转换​byte/short处理需要强制转换自动处理​代码可读性运算关系更明确更简洁​编译器优化基本相同基本相同​引用类型支持所有适用类型所有适用类型​多线程安全性都不是原子操作都不是原子操作​表达式返回值返回赋值后的值返回赋值后的值。

2025-04-18 12:07:38 583

原创 BigDecimal在Java中的用法及项目场景

BigDecimal是Java中用于高精度计算的类,位于java.math包中。它主要用于处理需要精确计算的金融、货币等场景,避免了浮点数(double/float)的精度问题。

2025-04-17 21:49:58 767

原创 Code Review之单例模式的线程安全性问题,及常用场景展示

单例模式是一种创建型的设计模式,他确保一个类只有一个实例,并提供一个全局的访问点来获取该实例,

2025-04-15 22:32:05 590 1

原创 拯救混乱的WPS文档:标题层级优化攻略(仅供参考)

今天在工作中遇到一个WPS设置层级的问题,分享出来给大家避坑!

2025-04-11 23:25:22 547

原创 ConcurrentHashMap在单机服务中作为缓存的具体应用和优势!

在单机服务架构中,缓存是提升系统性能的核心组件之一。作为Java并发编程中的经典数据结构,凭借其和,成为单机缓存设计的优选方案。本文将通过具体应用场景、实现原理和性能优势三个维度,解析其在实际项目中的价值。

2025-04-10 22:19:31 896

原创 关于Tomcat依赖IDEA启动报错的问题分析

如果不将 ​Web 项目 添加到 Tomcat 服务器中,启动 Tomcat 时可能会报错

2025-04-01 20:37:08 589

原创 踩坑之while循环,使用Iterator遍历时remove()方法为什么会报错?

在调用 next()或 remove() 之前,都会检查当前的 modCount是否与 expectedModCount 相等,如果不相等,说明在迭代过程中集合被修改,就会抛出 ConcurrentModificationException异常。综上所述,展现了while循环在调用remove()方法的时候会报错原因,只有在调用next方法的时候,并且next返回元素了才可以进行remove,只有这样才会经得住checkForComodification()方法的检验。

2025-03-26 17:18:45 363

原创 为什么List在修改元素时会抛出UnsupportedOperationException?

UnsupportedOperationException异常的常见处理!

2023-12-27 11:39:41 517 1

原创 探究for、foreach和while:循环结构的选择与优劣

三种循环各有各的特点和优势,在特定的情况下选择合适的循环方式,是一个成熟的程序员必备的能力,循环结果目的,但是对于一些特殊情况就可能会导致一些安全问题的产生。for循环:- 用于已知循环次数的情况,通常用于遍历范围内的整数或按步长递增/递减的值。- 使用计数器或循环变量控制循环的次数。- 适合处理迭代次数明确的情况。while循环:- 用于未知循环次数的情况,循环条件在循环体内判断。- 循环在满足条件时重复执行。

2023-08-06 17:53:12 1015

原创 深入解析JDK动态代理:原理与应用

在Java应用程序中,JDK动态代理是一种强大的技术,它可以在运行时生成代理对象,实现对目标对象的透明包装和增强。JDK动态代理是Java标准库提供的一种实现方式,它为我们提供了一种优雅而灵活的方式来扩展和增强Java应用。本文将深入介绍JDK动态代理的概念、原理和使用方法。以及在Spring中的用法。

2023-08-02 12:54:52 256

原创 深入了解CGLIB:Java的动态类生成库

CGLIB,全称为Code Generation Library,是一个用于在运行时扩展Java类的库。它是基于ASM(Java字节码操作框架)的高性能代码生成库。CGLIB的主要功能之一是通过生成子类来实现动态代理,这使得它在许多框架和库中得到广泛应用,特别是在Spring框架中,用于实现AOP功能。

2023-07-30 17:58:26 678 1

原创 Finally关键字

在'try'块中的代码执行完成后。在发生异常并被 `catch` 块捕获后。没有进入try块。进去try代码块,但是代码运行中出现了死循环和死锁的状态。进入try代码块,但是执行了System.exit()操作。try {}finally {注意:finally是在return表达时运行后执行的,此时将要return的结果已经被暂存起来,待finally代码结束后在将之前的暂存的结果返回。也就是说最终返回的结果是1001,而不是9999。

2023-07-24 16:06:34 436

原创 Java异常处理:优雅应对错误,保障程序稳健运行

异常处理是编写健壮和可靠代码的重要方面。通过适当的异常处理,我们可以保护代码免受意外情况的影响,并提供有用的错误信息和调试信息。同时,合理的异常处理策略和最佳实践可以提高代码的可读性、可维护性和可测试性。在编写Java代码时,不要忽视异常处理,让你的代码更加健壮和可靠。

2023-07-22 19:30:19 365

原创 关于List,List<Object>,List<?>三者的区别。

List没有类型的限制和赋值的限定,可以随意使用,但是如果天马行空的乱用,迟早会得到类型转换失败的异常。很多程序员觉得List的用法完全等同于List,但是在接受其他泛型赋值时就会编译出错,List是一个泛型,在没有赋值之前,表示它可以接受任何类型的集合赋值,但是赋值之后就不能随便在往里添加元素了。//第一段 泛型出现之前的集合定义方式//第三段:把a1的引用赋值给a2,区别在于添加了泛型

2023-07-07 12:39:19 1229 1

原创 这就是所谓的高内聚,低耦合!

高内聚,低耦合总体来说就是各个模块之间的协作问题,各个模块之间各司其职,互不干涉而又联系紧密。

2023-07-01 11:33:50 122

原创 Spring源码分析之三级缓存是如何实现AOP代理问题

​在上一篇文章中给大家分享了一下循环依赖的问题Spring源码分析之循环依赖,接下来就为大家分析一下三级缓存的存在是如何管理AOP(动态代理)的问题。

2023-06-17 14:51:40 589 1

原创 Spring源码分析之循环依赖

循环依赖问题作为Spring中最经典的问题之一,常常会在面试中被问到,也是我们研读源码的一大阻碍,接下来就一一为大家解析此问题在Spring中的一个呈现。

2023-06-11 13:39:59 241 1

空空如也

空空如也

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

TA关注的人

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