<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[天之道居同文。]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Lyon_yong</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Lyon_yong]]></copyright><item><title><![CDATA[DB回溯（Cache-Aside回源）]]></title><link>https://blog.youkuaiyun.com/Lyon_yong/article/details/155453064</link><guid>https://blog.youkuaiyun.com/Lyon_yong/article/details/155453064</guid><author>Lyon_yong</author><pubDate>Mon, 01 Dec 2025 20:00:00 +0800</pubDate><description><![CDATA[摘要：DB回溯是数据库恢复技术，支持时间点回退以撤销错误操作或恢复数据。核心特点包括快速恢复（仅需几分钟）、支持反复验证数据变化。主流实现如Amazon Aurora通过控制台选择时间点自动处理事务，分布式数据库则需结合GTM确保一致性。主要应用于误操作恢复和数据差异比对，但需注意其非备份替代品且仅部分数据库支持。技术方案需综合考虑性能与一致性，典型场景需配合缓存策略实现最优效果。]]></description><category></category></item><item><title><![CDATA[JDK25 新特性尝鲜]]></title><link>https://blog.youkuaiyun.com/Lyon_yong/article/details/155304927</link><guid>https://blog.youkuaiyun.com/Lyon_yong/article/details/155304927</guid><author>Lyon_yong</author><pubDate>Thu, 27 Nov 2025 12:29:01 +0800</pubDate><description><![CDATA[Java 25正式发布，带来多项重大更新。作为长期支持版本(LTS)，它提供语言增强如简化main方法、灵活构造函数体；性能优化包括结构化并发、分代ZGC垃圾回收；安全方面新增后量子加密支持。特别针对AI开发优化了向量API，提升推理速度。Oracle将为Java 25提供8年免费支持至2028年9月，包含数千项改进，在性能、安全性和开发效率方面均有显著提升。该版本延续Java每6个月的更新节奏，同时降低了新手学习门槛，通过紧凑源文件等特性简化入门难度。]]></description><category></category></item><item><title><![CDATA[【CompletableFuture】从原理到生产实践]]></title><link>https://blog.youkuaiyun.com/Lyon_yong/article/details/152926644</link><guid>https://blog.youkuaiyun.com/Lyon_yong/article/details/152926644</guid><author>Lyon_yong</author><pubDate>Fri, 10 Oct 2025 15:32:02 +0800</pubDate><description><![CDATA[《CompletableFuture深度解析与实践指南》摘要： CompletableFuture基于状态机（Completed/Cancelled/Exceptionally）和CAS机制实现异步编程，支持链式调用与任务组合。核心功能包括异步转换（thenApply）、并行组合（thenCombine）、多任务协调（allOf/anyOf）及异常处理（exceptionally）。生产实践中需注意：区分CPU/IO密集型线程池、避免阻塞、上下文传递和资源清理。典型应用场景涵盖微服务聚合、批量流水线处理和超]]></description><category></category></item><item><title><![CDATA[Netty、IO、时间轮]]></title><link>https://blog.youkuaiyun.com/Lyon_yong/article/details/140817893</link><guid>https://blog.youkuaiyun.com/Lyon_yong/article/details/140817893</guid><author>Lyon_yong</author><pubDate>Sat, 21 Jun 2025 21:22:12 +0800</pubDate><description><![CDATA[I/O 任务，即 selectionKey 中 ready 的事件，如 accept、connect、read、write等，由processSelectedKeys 方。且Netty拥有高性能、 吞吐量更高，延迟更。NioEventLoopGroup，主要管理 eventLoop 的生命周期，可以理解为一个线程池，内部维护了一组线程，每个线程。read事件(入站事件)和write事件(出站事件)在一个双向链表中，入站事件会从链表 head 往后传递到最后一个入站的。]]></description><category></category></item><item><title><![CDATA[分布式事务之Seata]]></title><link>https://blog.youkuaiyun.com/Lyon_yong/article/details/148160320</link><guid>https://blog.youkuaiyun.com/Lyon_yong/article/details/148160320</guid><author>Lyon_yong</author><pubDate>Fri, 23 May 2025 12:51:56 +0800</pubDate><description><![CDATA[Seata有四种模式
AT模式：无侵入式的分布式事务解决方案，适合不希望对业务进行改造的场景，但由于需要添加全局事务锁，对影响高并发系统的性能。该模式主要关注多DB访问的数据一致性，也包括多服务下的多DB数据访问一致性问题。通过更新前快照回滚、更新后快照对比在二阶段提交时是否有人修改（为不受Seata代理的数据源做兜底），解决脏写。
优点：
一阶段完成直接提交事务，释放数据库资源，性能比较好
利用全局锁实现读写隔离
没有代码侵入，框架自动完成回滚和提交]]></description><category></category></item><item><title><![CDATA[启动报错:An incompatible version [1.2.24] of the Apache Tomcat Native library is installed]]></title><link>https://blog.youkuaiyun.com/Lyon_yong/article/details/145335776</link><guid>https://blog.youkuaiyun.com/Lyon_yong/article/details/145335776</guid><author>Lyon_yong</author><pubDate>Fri, 24 Jan 2025 10:05:05 +0800</pubDate><description><![CDATA[复制openssl.exe到JDK的bin目录下，根据电脑位数复制tcnative-1.dll和tcnative-1-src.pdb至jdk的bin目录下。当前目录下为32位所需，64位需要进入x64目录下。虽然不影响正常启动，但是，看着红色的ERROR就必须想办法解决。下载好后用解压工具打开，进入bin目录。]]></description><category></category></item><item><title><![CDATA[Debian之Maven安装]]></title><link>https://blog.youkuaiyun.com/Lyon_yong/article/details/145049959</link><guid>https://blog.youkuaiyun.com/Lyon_yong/article/details/145049959</guid><author>Lyon_yong</author><pubDate>Fri, 10 Jan 2025 10:07:43 +0800</pubDate><description><![CDATA[下载地址：https://maven.apache.org/download.cgi。]]></description><category></category></item><item><title><![CDATA[解决java.sql.SQLException: Unable to load authentication plugin ‘caching_sha2_password‘.]]></title><link>https://blog.youkuaiyun.com/Lyon_yong/article/details/144183166</link><guid>https://blog.youkuaiyun.com/Lyon_yong/article/details/144183166</guid><author>Lyon_yong</author><pubDate>Mon, 02 Dec 2024 13:38:42 +0800</pubDate><description><![CDATA[在更新产品的yangtze-shop商城系统部分的版本时，报错。]]></description><category></category></item><item><title><![CDATA[程序员、架构师、技术经理、技术总监和CTO分别都是干什么的？]]></title><link>https://blog.youkuaiyun.com/Lyon_yong/article/details/143069019</link><guid>https://blog.youkuaiyun.com/Lyon_yong/article/details/143069019</guid><author>Lyon_yong</author><pubDate>Sat, 19 Oct 2024 11:18:11 +0800</pubDate><description><![CDATA[CTO做的事情，是商业、产品、技术、管理、团队相平衡的综合统管，公司的技术研发方向与重点商业化的结果负责，激励员工，营造工程师文化。技术总监主要是协调团队内部各个资源，引入工具，和方法提升工作效率。技术经理角色相对具体，绩效考核，产品落地，执行优胜劣汰的规则。架构师主要是为公司产品的业务问题提供高质量技术解决方案并能有效落地。正像《少有人走的路》，每个人的成长路径都不同，但无一不是兴趣与使命驱动——无论你是程序员，技术经理，还是在CTO的角色。]]></description><category></category></item><item><title><![CDATA[debian系统安装mysql8]]></title><link>https://blog.youkuaiyun.com/Lyon_yong/article/details/141805473</link><guid>https://blog.youkuaiyun.com/Lyon_yong/article/details/141805473</guid><author>Lyon_yong</author><pubDate>Mon, 02 Sep 2024 09:13:17 +0800</pubDate><description><![CDATA[在文件中找到 `[mysqld]` 部分，并添加或修改 `bind-address` 为 `0.0.0.0`，这将允许MySQL监听所有的网络接口。接下来，我们需要从MySQL官方网站下载APT配置工具，并安装它以便能够通过APT仓库安装MySQL。首先，需要确保我们的软件包列表是最新的。这可以通过运行 `apt update` 命令来完成。再次更新软件包列表，以便APT可以识别新添加的MySQL仓库。保存并关闭文件后，重新启动MySQL服务以应用更改。现在我们可以使用APT安装MySQL服务器。]]></description><category></category></item><item><title><![CDATA[解决win10蓝屏“选择一个选项”的问题!]]></title><link>https://blog.youkuaiyun.com/Lyon_yong/article/details/140801077</link><guid>https://blog.youkuaiyun.com/Lyon_yong/article/details/140801077</guid><author>Lyon_yong</author><pubDate>Tue, 30 Jul 2024 17:20:24 +0800</pubDate><description><![CDATA[今天台式机开机，出现蓝屏问题，记录一下。]]></description><category></category></item><item><title><![CDATA[记一次Mycat分库分表实践]]></title><link>https://blog.youkuaiyun.com/Lyon_yong/article/details/132606808</link><guid>https://blog.youkuaiyun.com/Lyon_yong/article/details/132606808</guid><author>Lyon_yong</author><pubDate>Thu, 25 Jul 2024 08:41:32 +0800</pubDate><description><![CDATA[例如博客的冷数据表，假如分为100个表，当同时有100万个用户在浏览时，如果是单表的话，会进行100万次请求，而现在分表后，就可能是每个表进行1万个数据的请求（因为，不可能绝对的平均，只是假设），这样压力就降低了很多。顾名思义，就是数据分散，将一台主机上的数据分摊到多台，减轻单台主机的负载压力，有两种切分方式，一种是分库，即按照业务模块分多个库，每个库中的表不一样，还有一种就是分表，按照一定的业务规则或者逻辑将数据拆分到不同的主机上，每个主机上的表是一样的，这个有点类似于Oracle的表分区。]]></description><category></category></item><item><title><![CDATA[解决：error An unexpected error occurred: “https://registry.npm.taobao.org/xxx.tgz: certificate]]></title><link>https://blog.youkuaiyun.com/Lyon_yong/article/details/138576606</link><guid>https://blog.youkuaiyun.com/Lyon_yong/article/details/138576606</guid><author>Lyon_yong</author><pubDate>Wed, 08 May 2024 16:27:20 +0800</pubDate><description><![CDATA[最近Vue开发过程中，npm run dev遇到报错。查看npm仓库地址。切换淘宝镜像地址或官源地址。再npm run dev依旧报错。ssl过期。]]></description><category></category></item><item><title><![CDATA[Python安装和开发环境搭建]]></title><link>https://blog.youkuaiyun.com/Lyon_yong/article/details/138081026</link><guid>https://blog.youkuaiyun.com/Lyon_yong/article/details/138081026</guid><author>Lyon_yong</author><pubDate>Mon, 22 Apr 2024 18:14:53 +0800</pubDate><description><![CDATA[Python的下载
访问Python语言官网(Welcome to Python.org)进行下载相关安装包，根据需要和系统环境、下载相应的windows/linux/macOs安装包。]]></description><category></category></item><item><title><![CDATA[Go安装和开发环境搭建]]></title><link>https://blog.youkuaiyun.com/Lyon_yong/article/details/138074462</link><guid>https://blog.youkuaiyun.com/Lyon_yong/article/details/138074462</guid><author>Lyon_yong</author><pubDate>Mon, 22 Apr 2024 14:18:15 +0800</pubDate><description><![CDATA[完成安装后，用cmd命令打开命令窗口，输入 go 或者go version 命令 ，打印出相应的版本信息证明安装成功。注意：msi文件安装后，会自动配置相应的环境变量。下载完成后，进入到下载目录，选择下载的安装包，进行双击安装文件，然后点击“Next”按钮安装即可。系统会推荐安装再默认路径中，自己也可以安装自己定义的目录中。，根据需要和系统环境、下载相应的windows/linux/macOs安装包。]]></description><category></category></item><item><title><![CDATA[解决java: 无法访问org.bouncycastle.crypto.params.ECPrivateKeyParameters 找不到org.bouncycastle.crypto.param]]></title><link>https://blog.youkuaiyun.com/Lyon_yong/article/details/136984728</link><guid>https://blog.youkuaiyun.com/Lyon_yong/article/details/136984728</guid><author>Lyon_yong</author><pubDate>Sun, 24 Mar 2024 11:46:20 +0800</pubDate><description><![CDATA[如果使用了ProGuard或其他混淆工具，可能需要相应地配置以保留Bouncy Castle的类。：检查构建脚本或IDE设置，确保包含了Bouncy Castle jar包的路径。：检查使用的Bouncy Castle版本，确保它与项目兼容，并且包含所需的类。：可能使用的Bouncy Castle jar包版本不兼容，或者缺少某些类。：在某些情况下，Java的安全管理器可能阻止加载某些类。：即使已经添加了jar包，类路径也可能没有正确设置。：更新混淆配置，以确保所需的类不被混淆或重命名。]]></description><category></category></item><item><title><![CDATA[解决Class com.sun.tools.javac.tree.JCTree$JCImport does not have member field ‘com.sun.tools.javac.tre]]></title><link>https://blog.youkuaiyun.com/Lyon_yong/article/details/136975218</link><guid>https://blog.youkuaiyun.com/Lyon_yong/article/details/136975218</guid><author>Lyon_yong</author><pubDate>Sat, 23 Mar 2024 21:05:53 +0800</pubDate><description><![CDATA[请注意，如果在经过上述尝试后，即使重新运行构建后仍然出现错误，可能是由于 IntelliJ 有一些缓存仍在获取以前的 lombok 版本。问题原因是Lombok ，与 JDK 21 兼容的最低 Lombok 版本是 1.18.30，最小的 Spring Boot 版本是 3.1.4。直接先升级lombok至1.18.30或以上版本，若仍不行，再尝试升级Spring Boot 至3.1.4或以上版本。在更新自建项目基础过程中，compile、install报错。这里先升级到1.18.30版本、问题解决。]]></description><category></category></item><item><title><![CDATA[Go语言基础]]></title><link>https://blog.youkuaiyun.com/Lyon_yong/article/details/136606844</link><guid>https://blog.youkuaiyun.com/Lyon_yong/article/details/136606844</guid><author>Lyon_yong</author><pubDate>Sun, 10 Mar 2024 19:14:17 +0800</pubDate><description><![CDATA[运算符是一种特殊的符号，可以表示数据的运算，赋值，比较等1）算术运算符2）赋值运算符3）比较运算符4）逻辑运算符5）位运算符6）其他运算符比较两个数的大小。a:=101b:=66if(a>b){fmt.Printf("a大一些")}else｛fmt.Printf("b大一些")注意：go语言不支持三元运算符在Go语言中，切片(Slice)是数组的一个引用。它会生成一个指向数组的指针，并通过切片长度关联到底层数组部分或者全部元素。]]></description><category></category></item><item><title><![CDATA[解决java: 无法访问javax.servlet.ServletException]]></title><link>https://blog.youkuaiyun.com/Lyon_yong/article/details/136536787</link><guid>https://blog.youkuaiyun.com/Lyon_yong/article/details/136536787</guid><author>Lyon_yong</author><pubDate>Thu, 07 Mar 2024 16:12:26 +0800</pubDate><description><![CDATA[在对历往项目工具类总结和归纳更新过程中，common模块在compile编译过程中遇到了“Error java: 无法访问javax.servlet.ServletException 找不到javax.servlet.ServletException的类文件”这个报错问题。IDE使用的是idea2021。]]></description><category></category></item><item><title><![CDATA[Java之BigDecimal详解]]></title><link>https://blog.youkuaiyun.com/Lyon_yong/article/details/134991679</link><guid>https://blog.youkuaiyun.com/Lyon_yong/article/details/134991679</guid><author>Lyon_yong</author><pubDate>Thu, 14 Dec 2023 12:25:57 +0800</pubDate><description><![CDATA[Java在java.math包中提供的API类BigDecimal，用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数，但在实际应用中，可能需要对更大或者更小的数进行运算和处理。一般情况下，对于那些不需要准确计算精度的数字，我们可以直接使用Float和Double处理，但是Double.valueOf(String) 和Float.valueOf(String)会丢失精度。所以开发中，如果我们需要精确计算的结果，则必须使用BigDecimal类来操作。]]></description><category></category></item></channel></rss>