<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[与望]]></title><description><![CDATA[你不会找到路，除非你敢于迷路。]]></description><link>https://blog.youkuaiyun.com/sayWhat_sayHello</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; sayWhat_sayHello]]></copyright><item><title><![CDATA[非常疑惑文章变成了仅VIP可读]]></title><link>https://blog.youkuaiyun.com/sayWhat_sayHello/article/details/140122908</link><guid>https://blog.youkuaiyun.com/sayWhat_sayHello/article/details/140122908</guid><author>sayWhat_sayHello</author><pubDate>Tue, 02 Jul 2024 12:07:55 +0800</pubDate><description><![CDATA[VIP文章系系统自动设置的~~]]></description><category></category></item><item><title><![CDATA[【异常处理】java: java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not have]]></title><link>https://blog.youkuaiyun.com/sayWhat_sayHello/article/details/140122284</link><guid>https://blog.youkuaiyun.com/sayWhat_sayHello/article/details/140122284</guid><author>sayWhat_sayHello</author><pubDate>Tue, 02 Jul 2024 11:37:10 +0800</pubDate><description><![CDATA[在项目中原本使用的是JDK17，随后升级到JDK21，提示以下报错：
解决方案
在中引入的版本比较低。需要升级
参考文献
stackoverflow]]></description><category></category></item><item><title><![CDATA[启动 WSL 2时报错“参考的对象类型不支持尝试的操作”]]></title><link>https://blog.youkuaiyun.com/sayWhat_sayHello/article/details/132352400</link><guid>https://blog.youkuaiyun.com/sayWhat_sayHello/article/details/132352400</guid><author>sayWhat_sayHello</author><pubDate>Thu, 17 Aug 2023 23:08:31 +0800</pubDate><description><![CDATA[启动 WSL 2时报错“参考的对象类型不支持尝试的操作”。或者是：占位程序接收到错误数据一番搜索 发现说和代理有关。]]></description><category></category></item><item><title><![CDATA[ThreadPoolExecutor源码详解]]></title><link>https://blog.youkuaiyun.com/sayWhat_sayHello/article/details/132247106</link><guid>https://blog.youkuaiyun.com/sayWhat_sayHello/article/details/132247106</guid><author>sayWhat_sayHello</author><pubDate>Sat, 12 Aug 2023 11:59:48 +0800</pubDate><description><![CDATA[谈到池化，通常我们会想到线程池、连接池、对象池等池子。在Java线程池通常指的是。]]></description><category></category></item><item><title><![CDATA[【探讨】Java POI 处理 Excel 中的名称管理器]]></title><link>https://blog.youkuaiyun.com/sayWhat_sayHello/article/details/127452616</link><guid>https://blog.youkuaiyun.com/sayWhat_sayHello/article/details/127452616</guid><author>sayWhat_sayHello</author><pubDate>Fri, 28 Jul 2023 10:05:02 +0800</pubDate><description><![CDATA[最近遇到了一些导表的问题。原本的导表工具导不了使用名称管理器的Excel。首先我们有两个Sheet。B1用的是名称管理器中的AAA, 而B2用的对应的公式。第二个sheet，名为Test2:这意味着无法解析这个命名统计后的值。为啥公式可以执行。但是从名称管理器拿不到？是否可以通过拿名称对应的公式来计算出相应的结果？这么看来RichString可以拿到我们想要的值。但是当我把Sheet2中对应的值改为数字：这里我想拿到一个可以区分是Name还是Formula的属性。]]></description><category></category></item><item><title><![CDATA[fastutil简单测试下性能]]></title><link>https://blog.youkuaiyun.com/sayWhat_sayHello/article/details/131956747</link><guid>https://blog.youkuaiyun.com/sayWhat_sayHello/article/details/131956747</guid><author>sayWhat_sayHello</author><pubDate>Thu, 27 Jul 2023 11:56:55 +0800</pubDate><description><![CDATA[简单测试一下fastutil的实现和Java类库实现的速率。使用jmh进行测试。简单解释一下，每轮测试预热2次，每次1s；实测2次，每次1秒。进行5轮测试。数组大小3种。]]></description><category></category></item><item><title><![CDATA[Github中Contribution activity不展示commit相关的信息]]></title><link>https://blog.youkuaiyun.com/sayWhat_sayHello/article/details/130246408</link><guid>https://blog.youkuaiyun.com/sayWhat_sayHello/article/details/130246408</guid><author>sayWhat_sayHello</author><pubDate>Wed, 19 Apr 2023 16:01:56 +0800</pubDate><description><![CDATA[Github中Contribution activity不展示commit相关的信息]]></description><category></category></item><item><title><![CDATA[IDEA使用AWS CodeWhisperer]]></title><link>https://blog.youkuaiyun.com/sayWhat_sayHello/article/details/130153820</link><guid>https://blog.youkuaiyun.com/sayWhat_sayHello/article/details/130153820</guid><author>sayWhat_sayHello</author><pubDate>Fri, 14 Apr 2023 15:00:36 +0800</pubDate><description><![CDATA[IDEA2023.1安装AWS codewhisperer。]]></description><category></category></item><item><title><![CDATA[fastjson2中Json下划线转Java驼峰命名]]></title><link>https://blog.youkuaiyun.com/sayWhat_sayHello/article/details/129155367</link><guid>https://blog.youkuaiyun.com/sayWhat_sayHello/article/details/129155367</guid><author>sayWhat_sayHello</author><pubDate>Wed, 22 Feb 2023 09:51:27 +0800</pubDate><description><![CDATA[fastjson2中Json下划线转Java驼峰命名。]]></description><category></category></item><item><title><![CDATA[Vim文本对象中的句子s、段落p]]></title><link>https://blog.youkuaiyun.com/sayWhat_sayHello/article/details/123176119</link><guid>https://blog.youkuaiyun.com/sayWhat_sayHello/article/details/123176119</guid><author>sayWhat_sayHello</author><pubDate>Mon, 28 Feb 2022 11:12:47 +0800</pubDate><description><![CDATA[引言
使用了快半年的ideaVim了，是时候反馈社区了~~
vim文本对象中大部分的文本对象都很容易理解。本文主要针对的是其中比较少用和比较难理解的句子和段落，进行代码的展示和理解。
参考文献
vim帮助文档
正文
这里我们需要先了解他们的定义：
句子s

一个句子以 ‘.’、’!’ 或者 ‘?’ 结尾并紧随着一个换行符、空格或者制表符。结束标点
和空白字符之间可以出现任何数量的闭括号和引号: ‘)’、’]’、’"’ 和 ‘’’。段落和小节
的边界也视为句子的边界。
如果 ‘cpoptions’ 包含 ‘J]]></description><category></category></item><item><title><![CDATA[Vim快速选中一段方法/函数]]></title><link>https://blog.youkuaiyun.com/sayWhat_sayHello/article/details/123137029</link><guid>https://blog.youkuaiyun.com/sayWhat_sayHello/article/details/123137029</guid><author>sayWhat_sayHello</author><pubDate>Fri, 25 Feb 2022 18:04:08 +0800</pubDate><description><![CDATA[引言
使用了快半年的ideaVim了，是时候反馈社区了~~
正文
在方法中跳到方法开始的地方：
[m
进入行选中模式：
shift + v
匹配整个方法：
%

后言
如果有更好的方法请留言赐教~~

]]></description><category></category></item><item><title><![CDATA[Java17 switch表达式]]></title><link>https://blog.youkuaiyun.com/sayWhat_sayHello/article/details/121904661</link><guid>https://blog.youkuaiyun.com/sayWhat_sayHello/article/details/121904661</guid><author>sayWhat_sayHello</author><pubDate>Mon, 13 Dec 2021 14:27:48 +0800</pubDate><description><![CDATA[Java 17关于switch新增一些便利的写法。本文是基于谷歌翻译后调整的译文。]]></description><category></category></item><item><title><![CDATA[JAVA record]]></title><link>https://blog.youkuaiyun.com/sayWhat_sayHello/article/details/121902216</link><guid>https://blog.youkuaiyun.com/sayWhat_sayHello/article/details/121902216</guid><author>sayWhat_sayHello</author><pubDate>Mon, 13 Dec 2021 11:48:40 +0800</pubDate><description><![CDATA[Java17发布的新特性record，基于谷歌翻译再大致改下不通畅的地方。]]></description><category></category></item><item><title><![CDATA[JAVA热更新]]></title><link>https://blog.youkuaiyun.com/sayWhat_sayHello/article/details/121083133</link><guid>https://blog.youkuaiyun.com/sayWhat_sayHello/article/details/121083133</guid><author>sayWhat_sayHello</author><pubDate>Tue, 02 Nov 2021 13:46:33 +0800</pubDate><description><![CDATA[引言
知识储备先看这篇文章：JAVA Instrument
在这个案例中我们会利用Instrument机制实现一个简单的热更新案例。
总体来说，步骤如下：

创建一个带permain方法的jar包。这个方法定时检测某个文件然后进行热更新。
命令行启动业务类时使用参数-javaagent，例如java -javaagent:jarpath[=选项] Main。

网上有很多案例都是用Maven打jar包的，但是这里我讲的是纯命令行的做法。
代码实现
结构如下

这个是编译后的结构，这里先从逻辑实现说起。
1.]]></description><category></category></item><item><title><![CDATA[【翻译】JAVA Instrument]]></title><link>https://blog.youkuaiyun.com/sayWhat_sayHello/article/details/121037591</link><guid>https://blog.youkuaiyun.com/sayWhat_sayHello/article/details/121037591</guid><author>sayWhat_sayHello</author><pubDate>Fri, 29 Oct 2021 16:27:32 +0800</pubDate><description><![CDATA[概述
Package java.lang.instrument: 提供允许Java编程语言代理检测JVM上运行的程序的服务。检测机制是修改方法的字节码。
其中包含两个接口：

ClassFileTransformer
Instrumentation

一个类：

ClassDefinition

以及几个异常类：

IllegalClassFormatException
UnmodifiableClassException

使用方式
命令行启动：
java -javaagent:jarpath[=选项]
]]></description><category></category></item><item><title><![CDATA[【案例】Netty客户端从控制台读取内容发送到服务端]]></title><link>https://blog.youkuaiyun.com/sayWhat_sayHello/article/details/120996711</link><guid>https://blog.youkuaiyun.com/sayWhat_sayHello/article/details/120996711</guid><author>sayWhat_sayHello</author><pubDate>Thu, 28 Oct 2021 09:03:58 +0800</pubDate><description><![CDATA[引言
最近在看《Netty实战》，其中一个案例是一个回显的客户端/服务端实现。这个以前在用原生jdk时是经典的案例。
但是唯一的区别在于以前是从控制台读取输入。
这个就是一个实现从控制台读取输入的案例。
服务端
import io.netty.bootstrap.ServerBootstrap;
import io.netty.buffer.ByteBuf;
import io.netty.channel.*;
import io.netty.channel.nio.NioEventLoopGroup;
i]]></description><category></category></item><item><title><![CDATA[【异常处理】rocketmq /lib/ext is not supported. Use -classpath instead.【rocketmq】]]></title><link>https://blog.youkuaiyun.com/sayWhat_sayHello/article/details/119980080</link><guid>https://blog.youkuaiyun.com/sayWhat_sayHello/article/details/119980080</guid><author>sayWhat_sayHello</author><pubDate>Sun, 29 Aug 2021 14:45:36 +0800</pubDate><description><![CDATA[前言
JAVA的版本是11的，在安装rocketmq时会报错，当下报了这个错：
wyw@weiyuwang-ubuntu:~/Downloads/rocketmq-all-4.9.1-source-release/distribution$ sh bin/mqnamesrv
-Djava.ext.dirs=/jre/lib/ext:/home/ligang/Downloads/rocketmq-all-4.9.1-source-release/distribution/bin/../lib:/lib/ext]]></description><category></category></item><item><title><![CDATA[一次SpringBoot定时任务优化]]></title><link>https://blog.youkuaiyun.com/sayWhat_sayHello/article/details/119895484</link><guid>https://blog.youkuaiyun.com/sayWhat_sayHello/article/details/119895484</guid><author>sayWhat_sayHello</author><pubDate>Tue, 24 Aug 2021 18:03:56 +0800</pubDate><description><![CDATA[前言
有些以前工作时写的博文，没有同步到博客过来。这一篇可能是1年多前写的，希望能给读者一些启示。
我们是多款游戏公用一个数据后台，通过不同的配置区分不同的游戏和环境。通过指定application.properties的spring.profiles.active来决定读取哪套配置。
例如我们需要发布到代号为sfish下的prd环境就选择spring.profiles.active=sfishlyprd，同时我们的配置文件在resources/config下有application-sfishlyprd.]]></description><category></category></item><item><title><![CDATA[一次JAVA内存泄露排查]]></title><link>https://blog.youkuaiyun.com/sayWhat_sayHello/article/details/119884867</link><guid>https://blog.youkuaiyun.com/sayWhat_sayHello/article/details/119884867</guid><author>sayWhat_sayHello</author><pubDate>Tue, 24 Aug 2021 10:58:37 +0800</pubDate><description><![CDATA[前言
有些以前工作时写的博文，没有同步到博客过来。这一篇可能是1年多前写的，希望能给读者一些启示。
首先要介绍下项目的背景。我们的项目是部署到tomcat的，一个tomcat下有若干的Java项目在跑，我们发现在每次重新部署（把war包直接丢进webapps目录下）项目时经常会出现长时间卡顿等现象，并且后续的解决方案一般是重启tomcat。
这个是我做的一次排查尝试。
1. 首先开启tomcat manager界面。
具体步骤为：

/tomcat/conf/tomcat-users.xml添加：

&lt]]></description><category></category></item><item><title><![CDATA[Java获取对象的内存地址]]></title><link>https://blog.youkuaiyun.com/sayWhat_sayHello/article/details/119334690</link><guid>https://blog.youkuaiyun.com/sayWhat_sayHello/article/details/119334690</guid><author>sayWhat_sayHello</author><pubDate>Mon, 02 Aug 2021 21:51:17 +0800</pubDate><description><![CDATA[前言
我们知道在Java中对于synchronized对于同步方法锁的是当前的实例对象。
例如以下这段代码：
import java.util.concurrent.TimeUnit;

public class Test {
    public static void main(String[] args) {
        Test test = new Test();
        test.helper();
    }

    public synchronized void helper]]></description><category></category></item></channel></rss>