<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[yuec1998的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/yuec1998</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; yuec1998]]></copyright><item><title><![CDATA[2023校招，2024校招，社招Shein，大量HC，使用内推码直达，流程快速]]></title><link>https://blog.youkuaiyun.com/yuec1998/article/details/131624460</link><guid>https://blog.youkuaiyun.com/yuec1998/article/details/131624460</guid><author>yuec1998</author><pubDate>Sun, 09 Jul 2023 16:42:58 +0800</pubDate><description><![CDATA[广州，深圳，南京，大量开发岗位，包含Java开发岗，前端开发岗大数据开发岗位，产品岗位，测试岗位等等，大量hc，欢迎大家投递Shein，打造全球化的快时尚跨境电商品牌。]]></description><category></category></item><item><title><![CDATA[PageHelper分页合理化reasonable源码分析]]></title><link>https://blog.youkuaiyun.com/yuec1998/article/details/126592161</link><guid>https://blog.youkuaiyun.com/yuec1998/article/details/126592161</guid><author>yuec1998</author><pubDate>Mon, 29 Aug 2022 22:24:04 +0800</pubDate><description><![CDATA[PageHelper分页合理化reasonable，PageHelper死循环问题，PageHelper源码解析]]></description><category></category></item><item><title><![CDATA[@EnableConfigurationProperties和@ConfigurationProperties用法及注意事项]]></title><link>https://blog.youkuaiyun.com/yuec1998/article/details/126357003</link><guid>https://blog.youkuaiyun.com/yuec1998/article/details/126357003</guid><author>yuec1998</author><pubDate>Tue, 16 Aug 2022 22:59:46 +0800</pubDate><description><![CDATA[@EnableConfigurationProperties中引用的类一定要加@ConfigurationProperties这个注解，并且不需要再添加@Component注解，不然会导致被@ConfigurationProperties注解的类，在容器中实例化了2个bean对象：1、被@Component实例化注入到容器中，2、被@EnableConfigurationProperties实例化注入到容器中，此时如果我们使用@Aware获取Ltbus类的bean对象，会导致报错...]]></description><category></category></item><item><title><![CDATA[MDC实现线程池tranceId全链路传递]]></title><link>https://blog.youkuaiyun.com/yuec1998/article/details/126333028</link><guid>https://blog.youkuaiyun.com/yuec1998/article/details/126333028</guid><author>yuec1998</author><pubDate>Sun, 14 Aug 2022 17:19:53 +0800</pubDate><description><![CDATA[判断当前线程对应MDC的上下文是否存在，存在则是子线程，设置MDC中的traceId值，不存在则生成新的tranceid，再执行run方法，执行结束之后清除线程tranceId。1、首先定义一个自定义线程池类继承ThreadPoolTaskExecutor。打印结果tranceid均一致，快动手试试吧。2、编写tranceid包装工具类。3、初始化自定义线程池。4、接下来进入实战环节。...]]></description><category></category></item><item><title><![CDATA[两种白名单限流方案（redis lua限流，guava方案）]]></title><link>https://blog.youkuaiyun.com/yuec1998/article/details/126087630</link><guid>https://blog.youkuaiyun.com/yuec1998/article/details/126087630</guid><author>yuec1998</author><pubDate>Sun, 31 Jul 2022 17:03:18 +0800</pubDate><description><![CDATA[redis+lua限流技术方案
guava限流技术方案]]></description><category></category></item><item><title><![CDATA[java死锁如何排查]]></title><link>https://blog.youkuaiyun.com/yuec1998/article/details/126086668</link><guid>https://blog.youkuaiyun.com/yuec1998/article/details/126086668</guid><author>yuec1998</author><pubDate>Sun, 31 Jul 2022 16:48:38 +0800</pubDate><description><![CDATA[java死锁排查
jconsole
jps，jps -l，jstark]]></description><category></category></item><item><title><![CDATA[springboot事件event的使用(关键词：ApplicationEvent,@EventListener,publishEvent)]]></title><link>https://blog.youkuaiyun.com/yuec1998/article/details/124580441</link><guid>https://blog.youkuaiyun.com/yuec1998/article/details/124580441</guid><author>yuec1998</author><pubDate>Sun, 12 Jun 2022 22:58:05 +0800</pubDate><description><![CDATA[spring事件,事件监听，@EventListener]]></description><category></category></item><item><title><![CDATA[ES分片副本设置及集群部署]]></title><link>https://blog.youkuaiyun.com/yuec1998/article/details/124079837</link><guid>https://blog.youkuaiyun.com/yuec1998/article/details/124079837</guid><author>yuec1998</author><pubDate>Sun, 10 Apr 2022 17:14:26 +0800</pubDate><description><![CDATA[es分片副本设置，es集群部署，es增删改查在集群中的流程，es优化]]></description><category></category></item><item><title><![CDATA[mysql数据库表锁、行锁]]></title><link>https://blog.youkuaiyun.com/yuec1998/article/details/123465421</link><guid>https://blog.youkuaiyun.com/yuec1998/article/details/123465421</guid><author>yuec1998</author><pubDate>Mon, 14 Mar 2022 01:09:40 +0800</pubDate><description><![CDATA[mysql的2种常见的锁：表锁和行锁
间隙锁的危害]]></description><category></category></item><item><title><![CDATA[当我从jdk8过渡到jdk17有哪些明显的变化]]></title><link>https://blog.youkuaiyun.com/yuec1998/article/details/122354381</link><guid>https://blog.youkuaiyun.com/yuec1998/article/details/122354381</guid><author>yuec1998</author><pubDate>Mon, 10 Jan 2022 00:07:35 +0800</pubDate><description><![CDATA[当我从jdk8过渡到jdk17有哪些明显的变化1、jshell的便利2、var 语法糖的引入
注：文中很多功能并不是jdk17才有的新功能，而是阐述我在jdk8过渡到jdk17的过程中，对我编程带来的新特性的感受 ~
1、jshell的便利

jshell并不是jdk17才有的功能，有些时候你会爱上他，例如有时候想写一段测试的代码，你得打开idea，然后在原项目里面建一个类并在main方法里面写下你的demo，写完还要编译运行，但是有了jshell，你只需要双击打开，就可以直接在界面进行编程，而且功能十分强]]></description><category></category></item><item><title><![CDATA[java接口的幂等性及解决方案]]></title><link>https://blog.youkuaiyun.com/yuec1998/article/details/121186035</link><guid>https://blog.youkuaiyun.com/yuec1998/article/details/121186035</guid><author>yuec1998</author><pubDate>Sat, 06 Nov 2021 23:31:54 +0800</pubDate><description><![CDATA[一、什么情况下需要幂等
用户多次点击按钮
用户页面回退再次提交
微服务相互调用，由于网络问题，导致请求失败，feign触发重试机制
二、幂等性解决方案
2.1 token机制（令牌）
即验证码机制，例如页面点击提交按钮之前，会先去服务端获取token，服务端同时也在Redis中保存这个token数据，并将token显示到前端（验证码），让用户正确填写验证码并发起请求，此时后端便会校验token是否一致，一致的话即是通过并在Redis中删除该token，当用户还是携带上次的验证码多次提交，此时服务器判断验证码]]></description><category></category></item><item><title><![CDATA[es搜索同义词近义词技术方案]]></title><link>https://blog.youkuaiyun.com/yuec1998/article/details/121128031</link><guid>https://blog.youkuaiyun.com/yuec1998/article/details/121128031</guid><author>yuec1998</author><pubDate>Wed, 03 Nov 2021 19:15:13 +0800</pubDate><description><![CDATA[方案一：
使用同义词文件，在es索引中定义"synonyms_path"，并设置updateable为true动态更新同义词，但这个需要运维一起配合，当有新增的同义词时候，也需要运维帮我们添加进这个文件中,维护比较不方便
PUT /myIndex
{
  "settings": {
    "analysis": {
      "filter": {
        "my_synonym_filter": {
          "type": "synonym",
          "updatea]]></description><category></category></item><item><title><![CDATA[java异步线程池配置]]></title><link>https://blog.youkuaiyun.com/yuec1998/article/details/120487989</link><guid>https://blog.youkuaiyun.com/yuec1998/article/details/120487989</guid><author>yuec1998</author><pubDate>Wed, 29 Sep 2021 16:12:21 +0800</pubDate><description><![CDATA[一.异步：
1）初始化 线程 的四种方式：
a：继承 Thread 类
b：实现 Runnable 接口
c：实现 Callable 接口 + FutureTask 类（可以拿到 返回结果，可以处理异常）
d：线程池：

-1.实际开发中，以上三种，线程启动的方式都不使用，将所有的多线程一步任务，都交给线程池执行。
-2.整个系统中，线程池只有一两个。每个异步任务，直接提交给 线程池，让他自己去执行就行。
-3.代码示例：

public class ThreadTest01 {
 
    public ]]></description><category></category></item><item><title><![CDATA[es如何修改es索引字段类型 reindex]]></title><link>https://blog.youkuaiyun.com/yuec1998/article/details/120071718</link><guid>https://blog.youkuaiyun.com/yuec1998/article/details/120071718</guid><author>yuec1998</author><pubDate>Fri, 03 Sep 2021 00:08:51 +0800</pubDate><description><![CDATA[今天因为上线之前，忘记提单先把es的索引新增的几个字段先建好，导致需求上线后，一些触发es推送数据的接口，使得es自动根据数据类型创建索引机制生效，原本我打算增加的mapping字段是数组keyword类型的，但是es自动匹配创建类型为long，导致索引作废，可是这个es索引24小时都有人在使用，如果粗暴删除重建索引，再全量同步数据，会导致一段时间国内外用户查询数据受影响，这个操作估计也会上传比较严重的故障等级，那有什么解决方法吗？–当然
如果你们系统没有使用es别名，那么暂时先按以下方式处理，后面提出了后]]></description><category></category></item><item><title><![CDATA[Mysql:企业中的SQL规范]]></title><link>https://blog.youkuaiyun.com/yuec1998/article/details/119714541</link><guid>https://blog.youkuaiyun.com/yuec1998/article/details/119714541</guid><author>yuec1998</author><pubDate>Sun, 15 Aug 2021 15:38:55 +0800</pubDate><description><![CDATA[mysql企业中的使用规范]]></description><category></category></item><item><title><![CDATA[详细:idea2021自定义注解模板live Templates]]></title><link>https://blog.youkuaiyun.com/yuec1998/article/details/119395744</link><guid>https://blog.youkuaiyun.com/yuec1998/article/details/119395744</guid><author>yuec1998</author><pubDate>Thu, 05 Aug 2021 00:03:14 +0800</pubDate><description><![CDATA[在编写代码的时候，我们都会给创建的类或者，所写的方法，又或者是变量添加一个注解，以下图为例：

图中一共3种注释模板，其中第一种和第三种显然不是自己每次去添加的，而是使用idea快捷键自动生成的注解模板，那么我们盖怎么实现呢？
1.在idea设置中搜索 live Templates

2、可以点击最右边的+号选项2创建一个自定义的快捷键模板，这里使用user，接着还是再点+，选择选项1，开始创建一个自定义的快捷键模板

3、以方法注解为例子

我们想要每次敲一个再加一个回车键，就自动生成一个方法注解，例如我]]></description><category></category></item><item><title><![CDATA[linux docker mysql容器 表名大小写敏感失效-有效解决方法]]></title><link>https://blog.youkuaiyun.com/yuec1998/article/details/118887331</link><guid>https://blog.youkuaiyun.com/yuec1998/article/details/118887331</guid><author>yuec1998</author><pubDate>Mon, 19 Jul 2021 02:23:39 +0800</pubDate><description><![CDATA[今天遇到启动程序时遇到一个问题：
报错详情是指找不到该表，日志中表名是大写的，但是数据库存在小写，所以定位问题就是linux服务器上的mysql没有设置大小写不敏感，我们如果安装win版本是默认不敏感的，而我是linux上docker启动的mysql容器，所以具体解决如下：
如果容器有挂载，那么直接查看过载路径下的文件，例如：

其中，我一开始挂载配置只有一个my.conf,于是乎看了网上的解决办法在该文件加了lower_case_table_names=1，但是重启无效，于是我怀疑没有设置成功，进入容器查]]></description><category></category></item><item><title><![CDATA[设计模式-简单工厂模式例子]]></title><link>https://blog.youkuaiyun.com/yuec1998/article/details/118685949</link><guid>https://blog.youkuaiyun.com/yuec1998/article/details/118685949</guid><author>yuec1998</author><pubDate>Mon, 12 Jul 2021 22:57:54 +0800</pubDate><description><![CDATA[public class Factory {
    public static void main(String[] args) {
        new OrderPizza(new SimpleFactory());
    }
}

//订购pizza
class OrderPizza{
    SimpleFactory simpleFactory;
    Pizza pizza;

    public OrderPizza (SimpleFactory simpleFactory){
  ]]></description><category></category></item><item><title><![CDATA[设计模式-单例模式的8种实现]]></title><link>https://blog.youkuaiyun.com/yuec1998/article/details/118643677</link><guid>https://blog.youkuaiyun.com/yuec1998/article/details/118643677</guid><author>yuec1998</author><pubDate>Sun, 11 Jul 2021 00:33:51 +0800</pubDate><description><![CDATA[//1、饿汉式（静态变量）
class Singleton1 {
    //构造器私有化
    private Singleton1() {
    }

    private final static Singleton1 instance = new Singleton1();

    public static Singleton1 getInstance() {
        return instance;
    }
}

//2、饿汉式（静态代码块）
class Singleton2]]></description><category></category></item><item><title><![CDATA[（最新）idea git合并多条提交成一条commit]]></title><link>https://blog.youkuaiyun.com/yuec1998/article/details/118460431</link><guid>https://blog.youkuaiyun.com/yuec1998/article/details/118460431</guid><author>yuec1998</author><pubDate>Sun, 04 Jul 2021 12:09:29 +0800</pubDate><description><![CDATA[很多情况，我们在开发过程中并不是一次完成开发就commit然后push，我们可能因为一些事情需要切换分支，所以需要在本分支先commit一下demo，这样会导致我们明明一个功能的开发却分为了很多次commit，那么，如何利用idea将多次提交的内容合并成一次提交？

如图，我在开发中，同个功能的开发，提交了2次，现在我想把这2次提交合并成一次，首先，我们选择第一次（最早）提交的log，右击选择（如下图）

右击最新一次（最后）的提交，选择Fixup，合并到上一次提交中

这时，新的提交就合并到旧的提交了，此]]></description><category></category></item></channel></rss>