<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[weixin_46358769的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/weixin_46358769</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; weixin_46358769]]></copyright><item><title><![CDATA[Golang笔记]]></title><link>https://blog.youkuaiyun.com/weixin_46358769/article/details/155747514</link><guid>https://blog.youkuaiyun.com/weixin_46358769/article/details/155747514</guid><author>weixin_46358769</author><pubDate>Fri, 12 Dec 2025 15:39:19 +0800</pubDate><description><![CDATA[切片就像数组的引用 切片并不存储任何数据，它只是描述了底层数组中的一段。fmt.Println(*p) // 通过指针 p 读取 i。*p = 21         // 通过指针 p 设置 i。这也就是通常所说的「解引用」或「间接引用」。和它共享底层数组的切片都会观测到这些修改。指针保存了值的内存地址。操作符会生成一个指向其操作数的指针。与 C 不同，Go 没有指针运算。操作符表示指针指向的底层值。类型值的指针，其零值为。]]></description><category></category></item><item><title><![CDATA[Java 双重检查锁定]]></title><link>https://blog.youkuaiyun.com/weixin_46358769/article/details/151575813</link><guid>https://blog.youkuaiyun.com/weixin_46358769/article/details/151575813</guid><author>weixin_46358769</author><pubDate>Thu, 11 Sep 2025 12:05:59 +0800</pubDate><description><![CDATA[确保一个类，并提供一个全局访问点。，防止外部直接用new创建对象。提供一个，用于获取这个唯一的实例。数据库连接池、日志记录器、配置管理器等。// 1. 使用 volatile 关键字保证实例的可见性// 2. 私有化构造函数// 防止通过反射创建多个实例= null) {throw new RuntimeException("请通过 getInstance() 方法获取实例。");// 3. 公有静态方法，提供全局访问点// 第一次检查，避免不必要的同步开销。]]></description><category></category></item><item><title><![CDATA[合并链表 你改节点引用没用 改prev结点的指向才会修改链表]]></title><link>https://blog.youkuaiyun.com/weixin_46358769/article/details/149841576</link><guid>https://blog.youkuaiyun.com/weixin_46358769/article/details/149841576</guid><author>weixin_46358769</author><pubDate>Fri, 01 Aug 2025 21:08:38 +0800</pubDate><description><![CDATA[3.合并用dummy结点，head移动顺序是先找到next 再后移，循环结束head在尾部，因此下一步是用head.next去链接。2.归并先拆分，拆分用快慢指针，判断head为空或者指向尾部tail,然后把指向置空 断开连接。♥链接是靠next来绑定的 对单个节点的引用的修改与之前的链表无关。1.构造tail结点null 左闭右开区间。]]></description><category></category></item><item><title><![CDATA[一个场景理解ES]]></title><link>https://blog.youkuaiyun.com/weixin_46358769/article/details/148480091</link><guid>https://blog.youkuaiyun.com/weixin_46358769/article/details/148480091</guid><author>weixin_46358769</author><pubDate>Fri, 06 Jun 2025 18:31:17 +0800</pubDate><description><![CDATA[一个空索引在集群中就像一个已经建好、分配好工人（主分片和副本）的仓库，虽然里面还没放任何货物（文档），但它已经完全准备就绪，随时可以开始接收和处理货物。我理解您想再次确认这个问题，因为这在 Elasticsearch 的实际部署中非常重要。2.]]></description><category></category></item><item><title><![CDATA[静态-内部-final]]></title><link>https://blog.youkuaiyun.com/weixin_46358769/article/details/147307573</link><guid>https://blog.youkuaiyun.com/weixin_46358769/article/details/147307573</guid><author>weixin_46358769</author><pubDate>Thu, 17 Apr 2025 16:06:55 +0800</pubDate><description><![CDATA[非静态内部类的实例必须与外部类的一个实例关联。如果在非静态内部类中定义静态方法，可能会导致逻辑上的混乱，因为静态方法无法访问外部类的非静态成员（因为没有隐式的外部类实例引用）。静态内部类本身虽然是静态的（不依赖于外部类的实例），但它仍然是一个类。它可以拥有自己的成员变量（静态和非静态）和方法（静态和非静态）。非静态方法属于静态内部类的实例。你完全可以在一个不能被继承的类中拥有可以被修改的成员变量（非。静态方法属于类本身，调用时不需要创建类的实例。关键字只用于修饰类的内部类（嵌套类）。]]></description><category></category></item><item><title><![CDATA[内部类--]]></title><link>https://blog.youkuaiyun.com/weixin_46358769/article/details/147307525</link><guid>https://blog.youkuaiyun.com/weixin_46358769/article/details/147307525</guid><author>weixin_46358769</author><pubDate>Thu, 17 Apr 2025 15:37:37 +0800</pubDate><description><![CDATA[因此，“静态内部类只有一份属于外部类本身而不是某个实例” 的说法强调了其类型定义和实例化不依赖于外部类的特定对象，以及它在逻辑上是外部类的一个组成部分。它与外部类共享类型信息，但它的对象可以独立创建。它就像外部类实例的一个特殊成员，可以自由访问外部类的所有成员。非静态内部类（Inner Class）的每个实例都。与外部类的一个实例相关联。]]></description><category></category></item><item><title><![CDATA[创建springboot的application.yaml文件的分文件]]></title><link>https://blog.youkuaiyun.com/weixin_46358769/article/details/142206069</link><guid>https://blog.youkuaiyun.com/weixin_46358769/article/details/142206069</guid><author>weixin_46358769</author><pubDate>Fri, 13 Sep 2024 11:29:30 +0800</pubDate><description><![CDATA[springboot的application.yaml文件太大变量太多。2.configuration中添加program arguments。3.新建application.yaml的分文件，相关变量填在其中。有一个单独的模块用到的变量多且跟其他变量不相关。1.在application.yaml中加变量。]]></description><category></category></item><item><title><![CDATA[@Resource注入类A会把A的成员变量类B也注入（B不为null）]]></title><link>https://blog.youkuaiyun.com/weixin_46358769/article/details/142205609</link><guid>https://blog.youkuaiyun.com/weixin_46358769/article/details/142205609</guid><author>weixin_46358769</author><pubDate>Fri, 13 Sep 2024 11:17:25 +0800</pubDate><description><![CDATA[A类有init，A类的init动作涉及注入B类，B类也依赖注入C类（有成员变量C），在A的初始化动作中，底层涉及使用C类的方法。在A类中注入B类，build方法中使用依赖注入的b，b的注入会使得b中的c也被注入。则会报错空指针，因为此时C为null，调用c的方法时直接报错。]]></description><category></category></item><item><title><![CDATA[UT中添加@MockBean绕过@PostConstruct初始化动作]]></title><link>https://blog.youkuaiyun.com/weixin_46358769/article/details/142204958</link><guid>https://blog.youkuaiyun.com/weixin_46358769/article/details/142204958</guid><author>weixin_46358769</author><pubDate>Fri, 13 Sep 2024 10:58:06 +0800</pubDate><description><![CDATA[buildClient()中需要用到可变变量，无法完成init动作，在启动项目的UT测试时，预构建的动作会被执行，UT无法启动。在UT类中添加@MockBean的成员变量。]]></description><category></category></item><item><title><![CDATA[springboot接口注解]]></title><link>https://blog.youkuaiyun.com/weixin_46358769/article/details/141713727</link><guid>https://blog.youkuaiyun.com/weixin_46358769/article/details/141713727</guid><author>weixin_46358769</author><pubDate>Fri, 30 Aug 2024 15:30:18 +0800</pubDate><description><![CDATA[类注解

@RestController




此类的接口公共路径可以提取@RequestMapping("/v2")



接口方法注解


@RequestMapping 需在注解内补充方法类型如post/get


@RequestMapping(value = "/test/test/submit",
        produces = {MediaType.APPLICATION_JSON_VALUE}, method = RequestMethod.POST)


@PostMapping、]]></description><category></category></item><item><title><![CDATA[idea打开项目右侧导航栏没有maven选项]]></title><link>https://blog.youkuaiyun.com/weixin_46358769/article/details/141423831</link><guid>https://blog.youkuaiyun.com/weixin_46358769/article/details/141423831</guid><author>weixin_46358769</author><pubDate>Thu, 22 Aug 2024 11:28:53 +0800</pubDate><description><![CDATA[点击菜单栏Help->Find Action(Ctrl+Shift+A),输入Maven projects，在项目中加入Maven projects。]]></description><category></category></item><item><title><![CDATA[alibaba.fastjson&google.gson]]></title><link>https://blog.youkuaiyun.com/weixin_46358769/article/details/141187138</link><guid>https://blog.youkuaiyun.com/weixin_46358769/article/details/141187138</guid><author>weixin_46358769</author><pubDate>Wed, 14 Aug 2024 11:50:54 +0800</pubDate><description><![CDATA[@return Map对象。如果解码失败，请抛出异常，而不要返回null或空Map。* @param text JSON文本。* 将一个Map对象编码成JSON文本。* 将一个Map对象编码成JSON文本。* 将JSON文本解码为Map对象。* 将JSON文本解码为Map对象。]]></description><category></category></item><item><title><![CDATA[snakeyaml.error.MarkedYAMLException: while scanning a double-quoted scalar乱码字符]]></title><link>https://blog.youkuaiyun.com/weixin_46358769/article/details/139525547</link><guid>https://blog.youkuaiyun.com/weixin_46358769/article/details/139525547</guid><author>weixin_46358769</author><pubDate>Fri, 07 Jun 2024 14:16:37 +0800</pubDate><description><![CDATA[这种情况可能并不一定是yaml文件里有错误，可能是编码格式问题，检查setting---maven---runner里的VM options，里面如果有-Dfile.encoding=GBK则需要去掉，同步检查下setting---maven---Importing里的配置，如有也删掉。针对报错里出现的是乱码字符的情况。]]></description><category></category></item><item><title><![CDATA[JDK8/17切换配置修改]]></title><link>https://blog.youkuaiyun.com/weixin_46358769/article/details/139520016</link><guid>https://blog.youkuaiyun.com/weixin_46358769/article/details/139520016</guid><author>weixin_46358769</author><pubDate>Fri, 07 Jun 2024 10:29:03 +0800</pubDate><description><![CDATA[2.IDE中project structures（实测直接使用也行）1.首先修改环境变量里的JAVA_HOME指向要使用的jdk版本地址。3.Setting---Maven---Runner中的JRE地址。需要替换修改的地方（行不通的时候1.刷新依赖2.重启3.深呼吸）实测jdk切换也需要同时安装对应的证书。4.pom文件中maven编译插件。5.配置证书（公司内可能用到）]]></description><category></category></item><item><title><![CDATA[GlobalExceptionHandler]]></title><link>https://blog.youkuaiyun.com/weixin_46358769/article/details/137056519</link><guid>https://blog.youkuaiyun.com/weixin_46358769/article/details/137056519</guid><author>weixin_46358769</author><pubDate>Tue, 26 Mar 2024 20:28:39 +0800</pubDate><description><![CDATA[当方法中抛出对应异常时，如果有try catch捕获该异常则对应catch中的逻辑继续执行；若没有被方法的外层捕获，用throws在方法层抛出，就会被全局异常处理器捕捉到，返回错误体。其中类注解@RestControllerAdvice和方法注解@ExceptionHandler(BindException.class)必须添加。]]></description><category></category></item><item><title><![CDATA[required a bean of type ‘org.springframework.data.redis.core.StringRedisTemplate‘]]></title><link>https://blog.youkuaiyun.com/weixin_46358769/article/details/135913216</link><guid>https://blog.youkuaiyun.com/weixin_46358769/article/details/135913216</guid><author>weixin_46358769</author><pubDate>Mon, 29 Jan 2024 15:31:42 +0800</pubDate><description><![CDATA[原因：在另一个没有被依赖的模块中初始化了redisTemplate,代码在72 73行中有重写的序列化，因此需要依赖此模块或者原始spring的Redis模块来完成初始化。排查：代码有使用且点击可跳转。]]></description><category></category></item><item><title><![CDATA[1个spring-boot项目是怎么跑起来的之123]]></title><link>https://blog.youkuaiyun.com/weixin_46358769/article/details/135886398</link><guid>https://blog.youkuaiyun.com/weixin_46358769/article/details/135886398</guid><author>weixin_46358769</author><pubDate>Sat, 27 Jan 2024 18:27:26 +0800</pubDate><description><![CDATA[一般写在src-main-resource目录的application.yaml文件中，可以被其他命名的application-1或者-2里的值覆盖；1.运行时参数，也就是环境变量，一些在本地配了值(如数据库地址)本地能跑起来，代码拿到别人电脑/流水线环境上需要换成另一些值的参数；但如果不想每次提交代码都去掉默认值，可以在configuration中配置。【不分先后，因为我拼凑不出完整流程】]]></description><category></category></item><item><title><![CDATA[自动生成【查表类】]]></title><link>https://blog.youkuaiyun.com/weixin_46358769/article/details/135885794</link><guid>https://blog.youkuaiyun.com/weixin_46358769/article/details/135885794</guid><author>weixin_46358769</author><pubDate>Sat, 27 Jan 2024 17:37:52 +0800</pubDate><description><![CDATA[4.如果此时生成的类路径展开之后不像package包，生成的类图标是个小茶杯小咖啡，选中target中的Java目录，右键Mark as resource root。3.在右上角点edit configuration，点加号选择maven类型，起名字，run类型选compile，目录自选，apply and run。需要代码生成的一份位于target目录下的查询表内容的类（胡说的 不知道应该怎么称呼）1.【查表类】指的是在人为设计了表内容和repository接口（如下）之后。2.需要maven依赖如下。]]></description><category></category></item><item><title><![CDATA[IDEA没有代码提示]]></title><link>https://blog.youkuaiyun.com/weixin_46358769/article/details/135860579</link><guid>https://blog.youkuaiyun.com/weixin_46358769/article/details/135860579</guid><author>weixin_46358769</author><pubDate>Fri, 26 Jan 2024 10:38:43 +0800</pubDate><description><![CDATA[1.清缓存重启2.关省电模式。]]></description><category></category></item><item><title><![CDATA[GIT案例:时间跨度大的多个提交合并]]></title><link>https://blog.youkuaiyun.com/weixin_46358769/article/details/135410586</link><guid>https://blog.youkuaiyun.com/weixin_46358769/article/details/135410586</guid><author>weixin_46358769</author><pubDate>Mon, 08 Jan 2024 19:08:34 +0800</pubDate><description><![CDATA[3【cherry-pick】查看git提交记录，从ABC三个节点分别cherry-pick对应的提交内容，解决冲突，（如果有误操作，只能cancel本次merge，重新来过），全部pick并解决后就完成了。2 重新clone新的代码仓，基于最新的主分支rebase一个新的个人分支，保险起见可以再拉取一下最新代码——>此时新分支与最新代码保持一致。在ABC三个时间点分别提交代码，需要合并为一个完整的合并请求，代码仓在这三次提交中另外大量别人的提交痕迹，add/modify文件量巨大。4 待补充解决冲突原则。]]></description><category></category></item></channel></rss>