人生若只如初见

WXY

学习笔记

Java文件写入详解:FileWriter和BufferedWriter的使用

Java文件写入详解:FileWriter和BufferedWriter的使用

Java的文件操作包含读写两个方面。对于读取操作,Java提供了Reader抽象类;与之对应,写入操作则由Writer抽象类支持。Writer作为所有输出字符流的统一接口,允许将数据写入文件,实现持久化存储。这种设计确保了读写操作的一致性和灵活性。 FileWriter FileWriter 是 W
72
0
1
2024-10-11
Spring事务失效的常见陷阱与解决方案

Spring事务失效的常见陷阱与解决方案

本篇通过一道面试题和一些实践,来拆解几个Spring事务的常见坑点。 原理 Spring事务的原理是:通过AOP切面的方式实现的,也就是通过代理模式去实现事务增强。 具体过程是:对包含@Transactional注解的方法进行拦截,然后重写,重新在方法里加入异常回滚的逻辑。而且,每个线程都是独立管理
142
1
0
2024-10-10
使用DM(达梦数据库)数据迁移工具导出sql文件

使用DM(达梦数据库)数据迁移工具导出sql文件

前言 在数据迁移和备份的过程中,导出SQL文件是一个常见且重要的操作,特别是在使用达梦数据库(DM8)时。达梦数据库作为国内自主研发的关系型数据库,具备高效、安全、稳定的特性。本文将详细介绍如何使用达梦数据库的迁移工具,来实现SQL文件的导出,从而确保数据的完整性与可移植性。 在实际操作中,我们将通
131
0
11
2024-08-29

使用mc命令实现minio数据迁移

应要求,需要将minio版本从 2022-02-24 升级到 2024-06-29 ,因老版本在生产环境已经使用一段时间,需要把文件迁移到新版本的minio中 故有了本篇文章来记录迁移数据过程 mc 即 MinIO Client 获取MinIO Client(mc) docker版 $ docker
335
0
1
2024-07-04

一图详解 Java虚拟机(JVM)架构与工作原理

在这篇文章中,我们将深入探讨Java虚拟机(JVM)的架构和工作原理。通过一张详尽的图解,我们将覆盖JVM的各个组成部分,包括类加载器、内存管理、垃圾回收机制、执行引擎等。此外,我们还会解析JIT(Just-In-Time)编译器的工作流程,以及如何通过各种JVM参数进行调优。本文旨在帮助Java开
477
12
5
2024-07-03

Mybatis 的一级、二级缓存

MyBatis提供了两种级别的缓存:一级缓存(本地缓存)和二级缓存(全局缓存)。它们分别位于不同的作用范围,有不同的特性和使用场景。 一级缓存(本地缓存): 作用范围: 一级缓存是在SqlSession的生命周期内有效,也就是说,每个SqlSession拥有独立的一级缓存。 默认开启: 一级缓存在M
265
0
4
2024-06-27

达梦数据库获取指定年份的十二个月份

在使用达梦数据库时,有时我们需要获取指定年份的十二个月份,以便进行数据分析、报表生成或其他操作。 SQL编写 -- 获取指定年份的十二个月份 WITH months AS ( SELECT ADD_MONTHS(TRUNC(TO_DATE('2024', 'YYYY'), 'YYYY'),
238
0
3
2024-06-25
接口优化技巧

接口优化技巧

前言 之前工作中,遇到了一个504超时问题。问题根源在于接口耗时过长,超出了nginx配置的10秒限制。经过一次真正的接口性能优化,最终将接口响应时间从11.3s降低到了170ms。在本文中,我将与大家分享一些通用的接口优化方案。
271
0
2
2024-05-15
让技术博客脱颖而出的秘诀

让技术博客脱颖而出的秘诀

我想解释一下为什么我 “我最喜爱的技术博客” 页面中的博客深得我心。需要注意的是,该页面仅关注非公司类技术博客,因此本文亦是如此。对于我最爱的公司类技术博客,我可能还需要单独列一个清单。 简而言之,我喜欢的技术博客会做到以下几点: 深入探讨艰深复杂的主题 编程和计算机科学中存在许多问题,即使是知识渊
200
0
2
2024-04-25
Gradle和Java的版本对应关系

Gradle和Java的版本对应关系

Gradle 是一个构建工具,可以帮助你构建、测试、打包和发布软件。 在使用 Gradle 时,通常需要使用 Java Development Kit (JDK) 来编译、运行和测试你的项目。 Gradle 的版本与 JDK 版本之间没有固定的对应关系。你可以使用 Gradle 与任何版本的 JDK
343
0
5
2024-04-11