<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[IceStreamLab]]></title><description><![CDATA[我想打从出生就是这样了，我会持续前进。解决问题的本质就是回归源码和阅读说明文档]]></description><link>https://blog.youkuaiyun.com/Mr_Mocha</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Mr_Mocha]]></copyright><item><title><![CDATA[LocalDateTime工具类篇]]></title><link>https://blog.youkuaiyun.com/Mr_Mocha/article/details/133216498</link><guid>https://blog.youkuaiyun.com/Mr_Mocha/article/details/133216498</guid><author>Mr_Mocha</author><pubDate>Sat, 23 Sep 2023 20:16:45 +0800</pubDate><description><![CDATA[【代码】LocalDateTime工具类篇。]]></description><category></category></item><item><title><![CDATA[oh my zsh 主题篇]]></title><link>https://blog.youkuaiyun.com/Mr_Mocha/article/details/121198058</link><guid>https://blog.youkuaiyun.com/Mr_Mocha/article/details/121198058</guid><author>Mr_Mocha</author><pubDate>Sun, 07 Nov 2021 21:56:22 +0800</pubDate><description><![CDATA[安装字体
ttf-meslo-nerd-font-powerlevel10k 字体官网

将字体应用到iterm2中
Preferences -&gt; Profiles -&gt; Text -&gt; Font -&gt; 选择 MesloLGS NF
![image.png](https://img-blog.csdnimg.cn/img_convert/ff4f525f406671242e868755397a1cd2.png#clientId=u8a17a29f-8982-4&amp;from=pa]]></description><category></category></item><item><title><![CDATA[oh my zsh 安装与配置]]></title><link>https://blog.youkuaiyun.com/Mr_Mocha/article/details/121197957</link><guid>https://blog.youkuaiyun.com/Mr_Mocha/article/details/121197957</guid><author>Mr_Mocha</author><pubDate>Sun, 07 Nov 2021 21:51:20 +0800</pubDate><description><![CDATA[安装iterm2
https://iterm2.com/downloads.html
​
安装zsh
# mac
brew install zsh

# 变更默认shell
sudo chsh -s /bin/zsh

安装oh my zsh
oh my zsh Github官网
需要提前安装好zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

配置oh my]]></description><category></category></item><item><title><![CDATA[设计思想 - 第三篇 为什么要用Wrappers来创建QueryWrapper？]]></title><link>https://blog.youkuaiyun.com/Mr_Mocha/article/details/120925962</link><guid>https://blog.youkuaiyun.com/Mr_Mocha/article/details/120925962</guid><author>Mr_Mocha</author><pubDate>Sat, 23 Oct 2021 20:40:56 +0800</pubDate><description><![CDATA[设计思想 - 第三篇 为什么要用Wrappers来创建QueryWrapper？
文章目录设计思想 - 第三篇 为什么要用Wrappers来创建QueryWrapper？使用案例Wrappers核心原理缺点
使用案例
LambdaQueryWrapper&lt;Demo&gt; lambdaQueryWrapper = Wrappers.lambdaQuery();
lambdaQueryWrapper.eq(Demo::getName, name);

Wrappers
public final clas]]></description><category></category></item><item><title><![CDATA[设计思想-第二篇]]></title><link>https://blog.youkuaiyun.com/Mr_Mocha/article/details/120925556</link><guid>https://blog.youkuaiyun.com/Mr_Mocha/article/details/120925556</guid><author>Mr_Mocha</author><pubDate>Sat, 23 Oct 2021 20:35:11 +0800</pubDate><description><![CDATA[设计思想 - 第二篇
文章目录设计思想 - 第二篇1）、设计思想之获取泛型T的真实类型2）、设计思想之通过String，StringBuffer实现字符串反转3）、设计思想之MVC表现层框架的核心思想4）、设计思想之使用fastjson获取用户open_id5）、设计思想之BigDecimal去掉多余的位数6）、forEach新用法
1）、设计思想之获取泛型T的真实类型
private Class&lt;T&gt; targetClass;  // 得到泛型T的真实类型

public GenericDAO]]></description><category></category></item><item><title><![CDATA[设计思想-第一篇-初出茅庐]]></title><link>https://blog.youkuaiyun.com/Mr_Mocha/article/details/120925468</link><guid>https://blog.youkuaiyun.com/Mr_Mocha/article/details/120925468</guid><author>Mr_Mocha</author><pubDate>Sat, 23 Oct 2021 20:10:17 +0800</pubDate><description><![CDATA[MoCha 设计思想 - 第一篇

文章内容是初学Java时，记录的内容，现在回头看感觉很有意思。

文章目录MoCha 设计思想 - 第一篇1）、设计思想之限制接口调用的参数范围2）、设计思想之利用Properties类读取配置文件3）、设计思想之关于多线程中线程安全问题4）、设计思想之生产者与消费者问题5）、设计思想之关于文件复制和删除问题6）、设计思想之在GUI中，如何善用API？（查找我们不了解的方法或类）7）、设计思想之如何将JFrame窗体的坐标位置居中？8）、设计思想之IO版用户登录注册9）、]]></description><category></category></item><item><title><![CDATA[解决Maven无法下载依赖问题]]></title><link>https://blog.youkuaiyun.com/Mr_Mocha/article/details/120925403</link><guid>https://blog.youkuaiyun.com/Mr_Mocha/article/details/120925403</guid><author>Mr_Mocha</author><pubDate>Sat, 23 Oct 2021 20:05:10 +0800</pubDate><description><![CDATA[背景
当尝试下载较新版本的Spring Boot时，会出现以下问题：

解决方案

-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true

// -e表示详细异常，-U表示强制更新
mvn clean install -e -U


]]></description><category></category></item><item><title><![CDATA[Mac 安装 MySQL 8.0]]></title><link>https://blog.youkuaiyun.com/Mr_Mocha/article/details/115792860</link><guid>https://blog.youkuaiyun.com/Mr_Mocha/article/details/115792860</guid><author>Mr_Mocha</author><pubDate>Sat, 17 Apr 2021 12:15:29 +0800</pubDate><description><![CDATA[一、从官网上下载MySQL安装包
选择“MySQL Community Server”
MySQL macOS安装包下载地址

下载完毕后，一路安装即可！
二、如何在Mac中查看MySQL安装情况
我们可以在“系统偏好设置”里面看到MySQL图标
这里面，我们可以对MySQL进行启动与停止，以及是否要设置开机启动
三、设置终端访问MySQL

1、首先创建一个环境变量文件

vim ~/.bash_profile


2、暴露MySQL的可执行路径

export PATH="$PATH":/usr/loc]]></description><category></category></item><item><title><![CDATA[解决IDEA中MyBatis xml映射文件的黄色背景色]]></title><link>https://blog.youkuaiyun.com/Mr_Mocha/article/details/113179885</link><guid>https://blog.youkuaiyun.com/Mr_Mocha/article/details/113179885</guid><author>Mr_Mocha</author><pubDate>Tue, 26 Jan 2021 14:38:36 +0800</pubDate><description><![CDATA[解决IDEA中MyBatis xml映射文件的黄色背景色
去除 No data sources configure 警告


File ⇒ Settings ⇒ Editor ⇒ Inspections ⇒ SQL ⇒ No data sources configured


取消勾选，屏蔽该检查



去除 SQL dialect is not configured 警告


File ⇒ Settings ⇒ Editor ⇒ Inspections ⇒ SQL ⇒ SQL dialect detect]]></description><category></category></item><item><title><![CDATA[Java基础进阶系列-08之结合JLS深度解读三目运算符]]></title><link>https://blog.youkuaiyun.com/Mr_Mocha/article/details/109553916</link><guid>https://blog.youkuaiyun.com/Mr_Mocha/article/details/109553916</guid><author>Mr_Mocha</author><pubDate>Sat, 07 Nov 2020 23:02:44 +0800</pubDate><description><![CDATA[文章目录一、三目运算符的类型务必一致案例分析二、代码案例分析三、解读JLS规范规范说明操作数表达式分类布尔条件表达式数字型表达式引用条件表达式二元数字提升拓宽简单类型转换四、解读阿里巴巴Java规范

三目运算符，从代码逻辑上看，其实就是if-else条件判断语句的简化版。

一、三目运算符的类型务必一致

观察以下代码案例，看看两者是否相等

答案是：false


public static void main(String[] args) {
    int i = 100;
    String s]]></description><category></category></item><item><title><![CDATA[Java基础进阶系列-07之数组基础进阶开发小指南]]></title><link>https://blog.youkuaiyun.com/Mr_Mocha/article/details/109553880</link><guid>https://blog.youkuaiyun.com/Mr_Mocha/article/details/109553880</guid><author>Mr_Mocha</author><pubDate>Sat, 07 Nov 2020 22:58:45 +0800</pubDate><description><![CDATA[文章目录一、深入思考（一）避开基本类型数组转换集合陷阱（二）不可忽略的默认初始化（三）数组转换为List集合com.google.common.primitives.Intsjava.util.Arrays#asList(T... a)Apache org.apache.commons.lang3.ArrayUtils.toObjectArrays.stream().boxed().collect()（四）数组转换为Set集合将基本数据类型数组转换为Set集合将引用类型数组转换为Set集合（五）List集合]]></description><category></category></item><item><title><![CDATA[Java基础进阶系列-06之数组基础语法]]></title><link>https://blog.youkuaiyun.com/Mr_Mocha/article/details/109553818</link><guid>https://blog.youkuaiyun.com/Mr_Mocha/article/details/109553818</guid><author>Mr_Mocha</author><pubDate>Sat, 07 Nov 2020 22:53:23 +0800</pubDate><description><![CDATA[Java基础进阶-数组基础语法
文章目录Java基础进阶-数组基础语法一、数组基础语法（一）数组声明（二）数组初始化（三）数组默认元素的初始值二、注意事项输出数组内容
一、数组基础语法
（一）数组声明

type代表数组的数据类型，arrayName代表数组名称。
想要声明几维数组就在type或arrayName后面加几个[]。

type[]...[] arrayName;
或
type arrayName[][];

（二）数组初始化
int[] intArray = new int[4];
intAr]]></description><category></category></item><item><title><![CDATA[Java基础进阶系列-05之从for-each循环深入解读ArrayList与LinkedList不同遍历方式带来的影响，深度好文！]]></title><link>https://blog.youkuaiyun.com/Mr_Mocha/article/details/109265436</link><guid>https://blog.youkuaiyun.com/Mr_Mocha/article/details/109265436</guid><author>Mr_Mocha</author><pubDate>Sat, 24 Oct 2020 20:42:19 +0800</pubDate><description><![CDATA[文章目录关于for-each循环一、深入思考（一）将局部变量的作用域最小化（二）for-each循环Collection对象的陷阱场景引入遍历Collection对象时尝试删除元素，出现ConcurrentModificationException异常解决方案一：遍历时将待删除元素存放到临时集合，再调用removeAll来实现解决方案二：通过迭代器遍历时，进行删除操作解决方案三：Java8 Collection提供的removeIf（三）嵌套循环中使用迭代器的陷阱（四）Collection对象为何能与for]]></description><category></category></item><item><title><![CDATA[Java基础进阶系列-04之循环结构基础讲解]]></title><link>https://blog.youkuaiyun.com/Mr_Mocha/article/details/109265404</link><guid>https://blog.youkuaiyun.com/Mr_Mocha/article/details/109265404</guid><author>Mr_Mocha</author><pubDate>Sat, 24 Oct 2020 20:34:51 +0800</pubDate><description><![CDATA[文章目录一、循环结构基础语法for循环for-each循环while循环do-while循环二、深入思考for循环与while循环之间的转换do-while循环为什么在开发中不常见do-while使用场景联想抢票场景进制转换CAS自旋操作while(true)与for(;;)的区别三、最佳实践与注意事项
一、循环结构基础语法
for循环
// JLS(Java Language Specification)
for ([FotInit]; [Expression]; [ForUpdate]) Stateme]]></description><category></category></item><item><title><![CDATA[Java基础进阶系列-03之JMH分析if条件判断语句与switch性能差异]]></title><link>https://blog.youkuaiyun.com/Mr_Mocha/article/details/109008466</link><guid>https://blog.youkuaiyun.com/Mr_Mocha/article/details/109008466</guid><author>Mr_Mocha</author><pubDate>Sun, 11 Oct 2020 10:17:19 +0800</pubDate><description><![CDATA[文章目录背景说明JMH 微基准测试 验证性能效率引入依赖场景代入测试代码重构一，try{}catch()重构二，使用guava重构三，静态Map索引
解决问题的本质就是回归源码和阅读说明文档
背景说明
我们知道switch-case结构，当case值是“密集”时，底层指令会优化为tableswitch结构，执行效率上要比“稀疏”时的lookupswitch好。
Java 虚拟机规范 基于JDK8-&gt;3.10 编译switch章节

编译器会使用tableswitch和lookupswitch指令来生成]]></description><category></category></item><item><title><![CDATA[JMH报错：ERROR: Unable to find the resource: /META-INF/BenchmarkList]]></title><link>https://blog.youkuaiyun.com/Mr_Mocha/article/details/108990222</link><guid>https://blog.youkuaiyun.com/Mr_Mocha/article/details/108990222</guid><author>Mr_Mocha</author><pubDate>Sat, 10 Oct 2020 08:54:37 +0800</pubDate><description><![CDATA[文章目录问题原因

背景说明：
最近在尝试用JMH做性能测试时，出现Exception in thread “main” java.lang.RuntimeException: ERROR: Unable to find the resource: /META-INF/BenchmarkList问题

&lt;!-- JMH基准测试框架依赖 --&gt;
&lt;!-- The jmh is a Java harness for building, running,
and analysing nano/m]]></description><category></category></item><item><title><![CDATA[IDEA系列 主题配置篇]]></title><link>https://blog.youkuaiyun.com/Mr_Mocha/article/details/108827205</link><guid>https://blog.youkuaiyun.com/Mr_Mocha/article/details/108827205</guid><author>Mr_Mocha</author><pubDate>Sun, 27 Sep 2020 14:24:15 +0800</pubDate><description><![CDATA[文章目录主题对应字体设置项目栏背景设置最终效果

主题插件：roboticket-light-theme

主题对应字体设置


项目栏背景设置
界面左侧的项目栏区域与代码界面区域的颜色保持一致，这样会更美观

最终效果


...]]></description><category></category></item><item><title><![CDATA[Java基础进阶系列-02之if与switch的斗法]]></title><link>https://blog.youkuaiyun.com/Mr_Mocha/article/details/108808027</link><guid>https://blog.youkuaiyun.com/Mr_Mocha/article/details/108808027</guid><author>Mr_Mocha</author><pubDate>Sat, 26 Sep 2020 09:40:47 +0800</pubDate><description><![CDATA[文章目录一、if条件语句基础语法二、switch-case语句基础语法三、深入思考四、最佳实践与注意事项关于if条件语句关于Switch结构归纳总结扩展内容lookupswitch 和 tableswitch指令
一、if条件语句基础语法
if (布尔表达式1) {
    // 如果布尔表达式1的值为true时执行代码
} else if (布尔表达式2) {
    // 如果布尔表达式2的值为true时执行代码
} else if (布尔表达式3) {
    // 如果布尔表达式3的值为true时执]]></description><category></category></item><item><title><![CDATA[Java基础进阶系列-01之常量]]></title><link>https://blog.youkuaiyun.com/Mr_Mocha/article/details/108807953</link><guid>https://blog.youkuaiyun.com/Mr_Mocha/article/details/108807953</guid><author>Mr_Mocha</author><pubDate>Sat, 26 Sep 2020 09:34:46 +0800</pubDate><description><![CDATA[Java基础之常量

一、怎样才算是常量
二、定义常量的几种方式
三、关于常量的几个深度思考
四、定义常量的最佳实践

一、怎样才算是常量
即需要具备怎样的特点，就可以称之为常量

由final关键字修饰

常量的特性


只能被赋值一次，赋值后值不再改变


对基本类型使用final关键字不能改变的是其数值
对于对象引用，不能改变的是其引用，而对象本身是可以修改的


关于静态常量
通过final关键字来声明常量，配合static关键字进行修饰，该常量则为静态常量，语法格式如下：
权限修饰符 static]]></description><category></category></item><item><title><![CDATA[编写bat脚本跳转到特定目录执行指定命令]]></title><link>https://blog.youkuaiyun.com/Mr_Mocha/article/details/108807871</link><guid>https://blog.youkuaiyun.com/Mr_Mocha/article/details/108807871</guid><author>Mr_Mocha</author><pubDate>Sat, 26 Sep 2020 09:27:04 +0800</pubDate><description><![CDATA[cmd /k "cd /d F:\Java 技术分享\Java-Thinking-GitBook &amp;&amp; gitbook serve


如果我们想进去特定目录，并执行命令的话，通过&amp;&amp;进行连接
bat脚本文件的编码为ANSI编码格式


]]></description><category></category></item></channel></rss>