<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Adda_Chen的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Adda_Chen</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Adda_Chen]]></copyright><item><title><![CDATA[XXL-定时框架]]></title><link>https://blog.youkuaiyun.com/Adda_Chen/article/details/142495353</link><guid>https://blog.youkuaiyun.com/Adda_Chen/article/details/142495353</guid><author>Adda_Chen</author><pubDate>Tue, 24 Sep 2024 17:26:58 +0800</pubDate><description><![CDATA[XXL-定时框架。]]></description><category></category></item><item><title><![CDATA[百度文字识别OCR]]></title><link>https://blog.youkuaiyun.com/Adda_Chen/article/details/120551844</link><guid>https://blog.youkuaiyun.com/Adda_Chen/article/details/120551844</guid><author>Adda_Chen</author><pubDate>Thu, 25 Jan 2024 16:53:03 +0800</pubDate><description><![CDATA[1.注册账号，获取必要参数
官方文档地址
2.单例模式初始化Java客户端AipOcr
/**
 * @author byChen
 * @date 2021/9/29
 */
public class SingAipocr {
    /**
     * 将构造方法私有化，保证其他地方new不出来
     */
    private SingAipocr(){}

    /**
     * 在内部使用静态修饰，new一个该对象，该对象就是唯一单例（私有化方法在内部可以使用）
     */
  ]]></description><category></category></item><item><title><![CDATA[Fegin远程调用-传递Reponse的情况解决]]></title><link>https://blog.youkuaiyun.com/Adda_Chen/article/details/134393904</link><guid>https://blog.youkuaiyun.com/Adda_Chen/article/details/134393904</guid><author>Adda_Chen</author><pubDate>Tue, 14 Nov 2023 10:54:31 +0800</pubDate><description><![CDATA[不同模块之间，如果需要远程调用下载表格的接口，需要使用reponse来将表格流进行远程传递，但是如果直接使用HttpServletResponse作为参数传递的话，会报类型转换异常或者其他异常情况，导致reponse无法传递。重点需要一个将Fegin的Reponse转换为普通HttpServletResponse的方法，在这里是。方法内引入的包都是java原生的或者Fegin的包。]]></description><category></category></item><item><title><![CDATA[MySql判断表是否被锁定、如何解锁]]></title><link>https://blog.youkuaiyun.com/Adda_Chen/article/details/134142590</link><guid>https://blog.youkuaiyun.com/Adda_Chen/article/details/134142590</guid><author>Adda_Chen</author><pubDate>Tue, 31 Oct 2023 15:59:20 +0800</pubDate><description><![CDATA[在使用 MySQL 数据库时，我们可能会遇到数据库表被锁定的情况。当一张表被锁定时，其他用户无法对该表进行修改、删除或插入操作，这对于多人同时访问数据库的情况下会造成很大的影响。那么，如何对 MySQL 锁表进行解锁呢？总之，在面对 MySQL 锁表的情况时，我们需要先查看锁定表的状态，然后找到当前锁定该表的进程，并尝试杀掉这些进程。如果以上方法都无法解决问题，可以考虑重启 MySQL 服务。在特殊情况下，如果以上方法都无法解锁表格，可以尝试重启 MySQL 服务，这将强制解锁所有的表格。]]></description><category></category></item><item><title><![CDATA[查询、定位、排除项目中jar包依赖]]></title><link>https://blog.youkuaiyun.com/Adda_Chen/article/details/134070597</link><guid>https://blog.youkuaiyun.com/Adda_Chen/article/details/134070597</guid><author>Adda_Chen</author><pubDate>Fri, 27 Oct 2023 10:33:45 +0800</pubDate><description><![CDATA[有时候同一个项目中因为不同maven依赖而引入了相同jar包的不同版本，这就会导致jar包冲突而产生异常，而具体想要定位产生冲突的jar包是哪个maven依赖引入的，这里推荐一个idea插件。查询出原因，定位到位置，接下来就需要进行排除了。首先我们需要根据具体情况决定保留哪个版本排除哪个版本（这里根据业务不同决定，不多说）。知道了每个maven的冲突原因，我们还需要定位到该依赖处于哪个地方哪一行。都引入了 poi-ooxml 的jar包，只是分别为不同的版本。排除的依赖的坐标，可以通过。]]></description><category></category></item><item><title><![CDATA[更优雅的判空 - Optional类的使用]]></title><link>https://blog.youkuaiyun.com/Adda_Chen/article/details/133863662</link><guid>https://blog.youkuaiyun.com/Adda_Chen/article/details/133863662</guid><author>Adda_Chen</author><pubDate>Mon, 16 Oct 2023 17:38:03 +0800</pubDate><description><![CDATA[Optional 类是 Java 8 引入的一个特性。Optional 类主要解决的问题是臭名昭著的空指针异常（NullPointerException），使用它可以避免代码中出现过多的这样范式的代码，支持链式编程。引入：在项目中，经常会遇见需要取出一个处于很深的结构的实体中的某个值，比如如果想要成功无异常的取出需要的cityName的值，需要在访问每一个值之前对其进行判空，这就需要使用 if…{} 的结构，起码需要判断三次，嵌套三层 if…{} 会使得代码非常冗余。]]></description><category></category></item><item><title><![CDATA[SQL函数及高级用法]]></title><link>https://blog.youkuaiyun.com/Adda_Chen/article/details/132517510</link><guid>https://blog.youkuaiyun.com/Adda_Chen/article/details/132517510</guid><author>Adda_Chen</author><pubDate>Sat, 26 Aug 2023 23:55:55 +0800</pubDate><description><![CDATA[SQL函数大全，以及一些使用方法]]></description><category></category></item><item><title><![CDATA[Typora图片云保存]]></title><link>https://blog.youkuaiyun.com/Adda_Chen/article/details/132123452</link><guid>https://blog.youkuaiyun.com/Adda_Chen/article/details/132123452</guid><author>Adda_Chen</author><pubDate>Sat, 05 Aug 2023 19:10:15 +0800</pubDate><description><![CDATA[Typora图片 云图片]]></description><category></category></item><item><title><![CDATA[JUC - 并发编程进阶]]></title><link>https://blog.youkuaiyun.com/Adda_Chen/article/details/131485662</link><guid>https://blog.youkuaiyun.com/Adda_Chen/article/details/131485662</guid><author>Adda_Chen</author><pubDate>Sat, 01 Jul 2023 00:43:31 +0800</pubDate><description><![CDATA[打开 Future 类的源码，使用快捷键 ALT+7 查看类中全部的方法为什么会出现这个类？解决什么痛点？当主线程忙着其他业务的时候，如果需要执行另外一个耗时的任务时，则可以使用该类，新开一个子线程去办耗时的任务，主线程依旧忙自己的业务，当主线程业务忙完之后，可以调用改类的方法去检查子线程是否已经完成，以及完成的结果是怎样的，如果子线程已经完成且任务的结果是成功，那么流程完成；如果结果是失败，那么可以进行相应的重试操作。**总结：**Future接口可以为主线程开一个分支任务，专门为主线程处理耗时和费力的复]]></description><category></category></item><item><title><![CDATA[Stream流技术的使用]]></title><link>https://blog.youkuaiyun.com/Adda_Chen/article/details/130469114</link><guid>https://blog.youkuaiyun.com/Adda_Chen/article/details/130469114</guid><author>Adda_Chen</author><pubDate>Wed, 03 May 2023 01:14:33 +0800</pubDate><description><![CDATA[输出。]]></description><category></category></item><item><title><![CDATA[自动化部署Jenkins]]></title><link>https://blog.youkuaiyun.com/Adda_Chen/article/details/128058014</link><guid>https://blog.youkuaiyun.com/Adda_Chen/article/details/128058014</guid><author>Adda_Chen</author><pubDate>Sat, 26 Nov 2022 22:19:55 +0800</pubDate><description><![CDATA[jenkins在开发中处于的位置1.Jenkins需要放在服务器上，跟测试项目在同一个地方2.服务器需要提前部署jdk环境，然后官网下载 Jenkins的安装war包，之后直接 Java -jar jenkins.war 进行启动，也可以手动指定端口号tips: 安装好jdk，还需要再运行命令，下载完整的jdk环境  ： yum install -y java-devel启动命令：
启动效果框出来的是文件存在地址，隐藏文件夹进入文件夹：
访问 Jenkins
启动的端口不管是什么，页面访问的路径都是 808]]></description><category></category></item><item><title><![CDATA[ShardingSphere5]]></title><link>https://blog.youkuaiyun.com/Adda_Chen/article/details/127562442</link><guid>https://blog.youkuaiyun.com/Adda_Chen/article/details/127562442</guid><author>Adda_Chen</author><pubDate>Thu, 27 Oct 2022 23:04:55 +0800</pubDate><description><![CDATA[沙丁斯菲尔 - 分片秋读写分离原理，将数据库的读写操作分布在不同的节点上，写操作在主机上，读操作在从机上，主机执行完写操作后会报数据同步到从机上，完成数据同步读写分离的基本实现：读写分离会出现一个问题：读的时候可能会不能够及时的读取到最新的数据。因此引入 CAP理论在一个，当涉及读写操作时，只能保证一致性（Consistence）、可用性（Availability）、分区容错性（Partition Tolerance）三者中的两个，另外一个必须被牺牲。在实际设计过程中，每个系统不可能只处理一种数据，而是包含]]></description><category></category></item><item><title><![CDATA[Docker]]></title><link>https://blog.youkuaiyun.com/Adda_Chen/article/details/127478700</link><guid>https://blog.youkuaiyun.com/Adda_Chen/article/details/127478700</guid><author>Adda_Chen</author><pubDate>Sun, 23 Oct 2022 19:05:48 +0800</pubDate><description><![CDATA[仓库名、标签都是 none  的镜像，不知道是做什么用的，但是确实占用空间这种镜像建议删除可以发现，在远程仓库拉取镜像时，是一个文件一个文件的分步拉取，其实这每个“文件”，就是一层；也就是说，镜像其实是由不同的层组成的分层下载👆1.docker 修改，宿主机同步获得2.宿主机修改，docker也会同步获得3.docker容器停掉 stop,主机修改，docker容器重启后依旧能够同步最新数据。]]></description><category></category></item><item><title><![CDATA[sentinel 初步学习+控制台使用]]></title><link>https://blog.youkuaiyun.com/Adda_Chen/article/details/126694546</link><guid>https://blog.youkuaiyun.com/Adda_Chen/article/details/126694546</guid><author>Adda_Chen</author><pubDate>Sun, 04 Sep 2022 21:07:46 +0800</pubDate><description><![CDATA[资源可以是很多类型，但是经常使用的是将某个接口或者某个方法设置为资源，我们这里设置方法为资源，因为需要使用注解跟原生两种方式，所以定义两个不同的方法：/*** 方法定义于 demoService 中");} /*** 原生流控写法 - 注解方法}/*** 原生流控写法 - 耦合方法** @returnString str = "访问被保护的资源了。。";}查看机器列表以及健康情况当您在机器列表中看到您的机器，就代表着您已经成功接入控制台；如果没有看到您的机器，请检查配置，并通过。]]></description><category></category></item><item><title><![CDATA[springBoot指标监控 - Actuator]]></title><link>https://blog.youkuaiyun.com/Adda_Chen/article/details/126612172</link><guid>https://blog.youkuaiyun.com/Adda_Chen/article/details/126612172</guid><author>Adda_Chen</author><pubDate>Tue, 30 Aug 2022 23:08:00 +0800</pubDate><description><![CDATA[如何有其他的软件应用也实现了健康指标，在这里也会显示，比如redis。]]></description><category></category></item><item><title><![CDATA[JUC - 并发编程]]></title><link>https://blog.youkuaiyun.com/Adda_Chen/article/details/126288813</link><guid>https://blog.youkuaiyun.com/Adda_Chen/article/details/126288813</guid><author>Adda_Chen</author><pubDate>Wed, 17 Aug 2022 11:33:32 +0800</pubDate><description><![CDATA[传统的项目使用线程举例：卖票业务代码如下：
访问结果：
2.修改，可重复锁 - ReentrantLock


ReentrantLock官方示例代码：
代码修改为：
访问结果，与之前传统写法一样：
代码优化：
代码过于臃肿，可以使用lamba表达式进行代码简洁

如果不计算返回值的话，上面的是最简洁的，计算的话就下面这样。
但是这样不适应内部逻辑很复杂的代码，因此看情况使用线程调用 .start() 方法后，线程进入就绪状态，并没有直接启动，而是等 cpu 来调用才会启用。查看源码枚举：
引申知识点：

]]></description><category></category></item><item><title><![CDATA[消息中间件-RocketMq]]></title><link>https://blog.youkuaiyun.com/Adda_Chen/article/details/126201549</link><guid>https://blog.youkuaiyun.com/Adda_Chen/article/details/126201549</guid><author>Adda_Chen</author><pubDate>Wed, 10 Aug 2022 14:58:09 +0800</pubDate><description><![CDATA[消费者订阅的topic的queue数量发生变化+消费者组中消费者的数量发生变化幂等是需要业务代码来辅助完成的，MQ只提供能够实现幂等的唯一性标识的设置api,以此来避免消息被业务重复处理。消息重复无法避免，但是可以避免业务重复处理消息。.........]]></description><category></category></item><item><title><![CDATA[消息中间件 Kafka]]></title><link>https://blog.youkuaiyun.com/Adda_Chen/article/details/126072541</link><guid>https://blog.youkuaiyun.com/Adda_Chen/article/details/126072541</guid><author>Adda_Chen</author><pubDate>Tue, 02 Aug 2022 22:10:05 +0800</pubDate><description><![CDATA[自定义分区器之后，kafka原生的就失效了，会按照自定义的进行；1.实现接口，重写方法，创建分区器类/*** 自定义 kafka 分区器/*** 重写分区策略 (根据自己需要做逻辑判断)** @param topic 主题* @param keyBytes 序列化之后的 key* @param valueBytes 序列化之后的 value* @return//获取value String strValue = value . toString();} else {...]]></description><category></category></item><item><title><![CDATA[redis使用-基本命令+进阶配置]]></title><link>https://blog.youkuaiyun.com/Adda_Chen/article/details/125543428</link><guid>https://blog.youkuaiyun.com/Adda_Chen/article/details/125543428</guid><author>Adda_Chen</author><pubDate>Mon, 04 Jul 2022 09:10:53 +0800</pubDate><description><![CDATA[123]]></description><category></category></item><item><title><![CDATA[动态的为实体字段添加注解/注解属性]]></title><link>https://blog.youkuaiyun.com/Adda_Chen/article/details/120869545</link><guid>https://blog.youkuaiyun.com/Adda_Chen/article/details/120869545</guid><author>Adda_Chen</author><pubDate>Wed, 29 Jun 2022 22:52:54 +0800</pubDate><description><![CDATA[可以动态的给实体添加注解，比如：导出表格的时候，根据条件决定是否导出该字段的列等使用
本例子将所有代码都放入工具类中，实际上有些不能实例化到内存中，只能作为一部分代码放在逻辑中，此种代码以再程序中标注；另一部分是可以持久化到内存，使用完工具类之后也可以继续保存注解或者属性；
使用搭配在文末指出
代码如下：
package com.springcloud.utils;

import org.apache.ibatis.javassist.ClassPool;
import org.apache.ibatis]]></description><category></category></item></channel></rss>