<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[子笙的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Moon_Light0</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Moon_Light0]]></copyright><item><title><![CDATA[【踩坑实录】Tomcat 部署报 ORA-01005: null password given？换 ojdbc8-19.3.0.0.jar 神级解决！]]></title><link>https://blog.youkuaiyun.com/Moon_Light0/article/details/167775774</link><guid>https://blog.youkuaiyun.com/Moon_Light0/article/details/167775774</guid><author>Moon_Light0</author><pubDate>Tue, 13 Oct 2026 09:15:34 +0800</pubDate><description><![CDATA[最近在服务器上部署一个 Spring Boot 项目（打包为 WAR 丢进 Tomcat 8.5.99），数据库是 Oracle 12c。。排查过程极其曲折，甚至一度怀疑人生（代码里明明设了密码，底层居然说密码是 null）。最终终于破案，原来是Maven 依赖冲突导致底层驱动版本过高，与服务器的老 JDK 不兼容。在此记录整个过程，希望能帮遇到同样问题的兄弟少走弯路。由于代码里日志打印出了密码，说明 Spring 环境里是有这个值的。怀疑 Druid Builder 绑定机制有问题，尝试手动。]]></description><category></category></item><item><title><![CDATA[一、场景问题]]></title><link>https://blog.youkuaiyun.com/Moon_Light0/article/details/164082621</link><guid>https://blog.youkuaiyun.com/Moon_Light0/article/details/164082621</guid><author>Moon_Light0</author><pubDate>Wed, 26 Aug 2026 13:06:38 +0800</pubDate><description><![CDATA[在 Linux 测试环境服务器上，利用 Flink 将数据文件抽取至数据库时，入数缓慢。数十张表数据量总计约 300 万条，此前客户化代码抽取至库中仅需 5 分钟；迁移至信创代码后，逻辑未做修改，但部署到测试环境服务器后，抽数耗时却超过 1 小时。已配置 JVM 和 Flink 参数，但似乎未生效，抽数依旧缓慢，入数数据量仅以几百几百的幅度增长。]]></description><category></category></item><item><title><![CDATA[【设计模式-策略模式】]]></title><link>https://blog.youkuaiyun.com/Moon_Light0/article/details/161837585</link><guid>https://blog.youkuaiyun.com/Moon_Light0/article/details/161837585</guid><author>Moon_Light0</author><pubDate>Tue, 09 Jun 2026 19:02:16 +0800</pubDate><description><![CDATA[简单介绍策略模式的应用场景，如本项目中的ETL数据抽取场景。]]></description><category></category></item><item><title><![CDATA[idea-git操作]]></title><link>https://blog.youkuaiyun.com/Moon_Light0/article/details/157246901</link><guid>https://blog.youkuaiyun.com/Moon_Light0/article/details/157246901</guid><author>Moon_Light0</author><pubDate>Thu, 22 Jan 2026 16:05:54 +0800</pubDate><description><![CDATA[git在idea的一些常用及便捷操作。操作前准备：在idea中提交利用git提交三次操作记录。]]></description><category></category></item><item><title><![CDATA[linux - jvm相关命令]]></title><link>https://blog.youkuaiyun.com/Moon_Light0/article/details/150768879</link><guid>https://blog.youkuaiyun.com/Moon_Light0/article/details/150768879</guid><author>Moon_Light0</author><pubDate>Mon, 25 Aug 2025 15:31:55 +0800</pubDate><description><![CDATA[在生产环境中，我们更希望在发生 OutOfMemoryError (OOM) 时自动生成 dump，以便捕获问题发生时的现场。第一列是序号，第二列是实例数量，第三列是这些实例占用的总字节数，第四列是类的名称。：指定生成 dump 文件的格式为二进制格式（binary），这是最通用的格式。：指定 dump 文件的保存目录。如果不指定，文件通常会生成在应用的工作目录下。这前20行通常是占用内存最多的那些类，对于快速排查。：指定输出文件的路径和文件名。：目标 Java 进程的进程 ID。的 Java 进程。]]></description><category></category></item><item><title><![CDATA[mysql - 查询重复数据，不区分大小重复问题解决]]></title><link>https://blog.youkuaiyun.com/Moon_Light0/article/details/150350837</link><guid>https://blog.youkuaiyun.com/Moon_Light0/article/details/150350837</guid><author>Moon_Light0</author><pubDate>Wed, 13 Aug 2025 17:29:21 +0800</pubDate><description><![CDATA[要想解决查询重复数据时区分大小写，那么就需要在查询的时候带上区分大小写的排序规则。实际数据库zl只有一个，这里是把ZL大写也算上了，所以会查询出来重复数据。mysql在查询某一字段的数据是否重复时，如果表的排序规则设置的是以。那么在查询的时候区分大小写是不敏感的，即不区分大小写。可以看到查询不到重复数据了，区分查询条件大小写成功了。即：在分组的字段后面加上区分大小写的排序规则（]]></description><category></category></item><item><title><![CDATA[tocmcat启动idea控制台中文乱码解决]]></title><link>https://blog.youkuaiyun.com/Moon_Light0/article/details/148709760</link><guid>https://blog.youkuaiyun.com/Moon_Light0/article/details/148709760</guid><author>Moon_Light0</author><pubDate>Tue, 17 Jun 2025 10:20:36 +0800</pubDate><description><![CDATA[末尾加上。]]></description><category></category></item><item><title><![CDATA[JAVA - Stream]]></title><link>https://blog.youkuaiyun.com/Moon_Light0/article/details/148695225</link><guid>https://blog.youkuaiyun.com/Moon_Light0/article/details/148695225</guid><author>Moon_Light0</author><pubDate>Mon, 16 Jun 2025 16:52:08 +0800</pubDate><description><![CDATA[持续更新中]]></description><category></category></item><item><title><![CDATA[学习Docker遇到的问题]]></title><link>https://blog.youkuaiyun.com/Moon_Light0/article/details/147090288</link><guid>https://blog.youkuaiyun.com/Moon_Light0/article/details/147090288</guid><author>Moon_Light0</author><pubDate>Tue, 22 Apr 2025 17:24:46 +0800</pubDate><description><![CDATA[在。]]></description><category></category></item><item><title><![CDATA[Docker 数据卷]]></title><link>https://blog.youkuaiyun.com/Moon_Light0/article/details/147424027</link><guid>https://blog.youkuaiyun.com/Moon_Light0/article/details/147424027</guid><author>Moon_Light0</author><pubDate>Tue, 22 Apr 2025 17:06:38 +0800</pubDate><description><![CDATA[1.上面命令将主机 /opt/webapp-data-host 挂载到了 容器/opt/webapp-data上，当主机或容器中没有这个目录时，会自动对目录进行创建。是 Docker 中一个非常有用的参数，它允许一个容器直接使用另一个容器定义的卷(volumes)。上面讲述的是主机和容器之间共享数据，那么如何你有一些持续更新的数据需要在容器之间共享，最好的方法就是创建数据卷容器。将主机的目录挂载到容器上的目录，同样使用-v进行挂载。会将源容器中定义的所有卷挂载到新容器中。：从运行中的数据库容器备份数据。]]></description><category></category></item><item><title><![CDATA[Docker]]></title><link>https://blog.youkuaiyun.com/Moon_Light0/article/details/147089570</link><guid>https://blog.youkuaiyun.com/Moon_Light0/article/details/147089570</guid><author>Moon_Light0</author><pubDate>Tue, 22 Apr 2025 14:16:48 +0800</pubDate><description><![CDATA[场景结果相同镜像 ID，不同标签新增标签，不覆盖原有镜像相同镜像 ID 和标签覆盖标签引用，但镜像数据不变（因为 ID 相同）相同镜像跳过导入，仅新增标签（如有）相同镜像 ID跳过下载，提示已是最新可以根据场景来选择导入导出若是只想备份images，使用save、load即可若是在启动容器后，容器内容有变化，需要备份，则使用export、import我们发现，通过-P参数映射到主机上的端口是随机，能否自定义端口呢？为了对比我们自定义端口映射启动容器。]]></description><category></category></item><item><title><![CDATA[spring - 十二种事务失效场景]]></title><link>https://blog.youkuaiyun.com/Moon_Light0/article/details/146503848</link><guid>https://blog.youkuaiyun.com/Moon_Light0/article/details/146503848</guid><author>Moon_Light0</author><pubDate>Tue, 25 Mar 2025 17:07:59 +0800</pubDate><description><![CDATA[在使用@Transactional注解声明事务时，有时我们想自定义回滚的异常，spring也是支持的。可以通过设置rollbackFor参数，来完成这个功能。但如果这个参数的值设置错了，就会引出一些问题save(demo);上面是我们自定义的业务异常，如果在执行上面这段代码，保存和更新数据时，程序报错了，抛了SqlException、DuplicateKeyException等异常。]]></description><category></category></item><item><title><![CDATA[优雅使用 Enum 提升 SpringBoot 配置管理效率]]></title><link>https://blog.youkuaiyun.com/Moon_Light0/article/details/146156739</link><guid>https://blog.youkuaiyun.com/Moon_Light0/article/details/146156739</guid><author>Moon_Light0</author><pubDate>Mon, 10 Mar 2025 16:41:30 +0800</pubDate><description><![CDATA[然而，随着业务逻辑的复杂化，直接使用字符串或数字作为配置项可能会导致代码的可读性和可维护性下降。通过将业务中的固定状态、类型等内容定义为枚举，可以使得代码更加严谨和可维护。枚举类（Enum） 提供了一种将一组固定的值封装在一起的方法，这不仅提高了代码的可读性，还能避免硬编码（注解允许开发者将外部配置文件中的内容映射到 Java 类中，从而实现配置的动态管理。注解将配置文件中的内容映射到 Java 类中，并使用 Enum 来表示这些配置项。在实际业务中，可能需要根据不同的环境或配置动态调整这些枚举值。]]></description><category></category></item><item><title><![CDATA[SpringBoot - Async异步处理]]></title><link>https://blog.youkuaiyun.com/Moon_Light0/article/details/143801375</link><guid>https://blog.youkuaiyun.com/Moon_Light0/article/details/143801375</guid><author>Moon_Light0</author><pubDate>Fri, 15 Nov 2024 16:50:25 +0800</pubDate><description><![CDATA[springBoot异步调用使用]]></description><category></category></item><item><title><![CDATA[计算工具类]]></title><link>https://blog.youkuaiyun.com/Moon_Light0/article/details/143112246</link><guid>https://blog.youkuaiyun.com/Moon_Light0/article/details/143112246</guid><author>Moon_Light0</author><pubDate>Mon, 21 Oct 2024 14:50:32 +0800</pubDate><description><![CDATA[【代码】计算工具类。]]></description><category></category></item><item><title><![CDATA[季度操作工具类]]></title><link>https://blog.youkuaiyun.com/Moon_Light0/article/details/143110309</link><guid>https://blog.youkuaiyun.com/Moon_Light0/article/details/143110309</guid><author>Moon_Light0</author><pubDate>Mon, 21 Oct 2024 14:03:22 +0800</pubDate><description><![CDATA[季度结束时间:   2024-12-31T23:59:59。季度开始时间：2024-10-01T00:00。举例：获取年份下某季度的开始时间和结束时间。输入年份: 2024 输入季度: 4。]]></description><category></category></item><item><title><![CDATA[oracle技巧 - （年、季度）转换得到（季度起始时间、季度结束时间）]]></title><link>https://blog.youkuaiyun.com/Moon_Light0/article/details/143091004</link><guid>https://blog.youkuaiyun.com/Moon_Light0/article/details/143091004</guid><author>Moon_Light0</author><pubDate>Sun, 20 Oct 2024 12:40:24 +0800</pubDate><description><![CDATA[输入年和季度，得到这一年这一季度的开始时间和结束时间。输出参数：季度开始时间 季度结束时间。输入参数： 年   季度。]]></description><category></category></item><item><title><![CDATA[print()美化输出]]></title><link>https://blog.youkuaiyun.com/Moon_Light0/article/details/142792617</link><guid>https://blog.youkuaiyun.com/Moon_Light0/article/details/142792617</guid><author>Moon_Light0</author><pubDate>Wed, 09 Oct 2024 17:55:36 +0800</pubDate><description><![CDATA[让我来向你介绍pprint模块，Python世界的调皮小精灵！它的全名是'Pretty Print'，意思就是美化输出，简直就是程序员的化妆师！正写代码过程中，调试也是很费时间的，特别是打印格式不友好的时候，需要来回调试。别再为了阅读方便而纠结于逐个元素翻转列表或嵌套字典，pprint会替你搞定！]]></description><category></category></item><item><title><![CDATA[不容错过的 30 个 Python 单行代码，高效简洁的代码技巧]]></title><link>https://blog.youkuaiyun.com/Moon_Light0/article/details/142781757</link><guid>https://blog.youkuaiyun.com/Moon_Light0/article/details/142781757</guid><author>Moon_Light0</author><pubDate>Wed, 09 Oct 2024 13:52:43 +0800</pubDate><description><![CDATA[示例30 个必备的 Python 单行代码，它们可以帮助你编写更简洁、高效的代码。无论你是初学者还是有经验的开发者，这些单行代码都能优化你的编码流程。]]></description><category></category></item><item><title><![CDATA[SpringBoot中读取配置的七种方法总结]]></title><link>https://blog.youkuaiyun.com/Moon_Light0/article/details/142459839</link><guid>https://blog.youkuaiyun.com/Moon_Light0/article/details/142459839</guid><author>Moon_Light0</author><pubDate>Mon, 23 Sep 2024 17:24:45 +0800</pubDate><description><![CDATA[1、使用@Value注解(常用)@Value注解是最直接且常用的读取配置的方式。它可以将配置文件中的属性值注入到Spring管理的Bean的字段中。配置文件 application.ymlserver:port: 8080fruits:price: 10@Component@Getter@Setter总结：@Value注解只能读取单个配置进行赋值，无法读取整个配置文件批量赋值可以在属性名称后面使用冒号（:default-value）的形式添加默认值。]]></description><category></category></item></channel></rss>