<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[u010798073的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/u010798073</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; u010798073]]></copyright><item><title><![CDATA[Redis 生产禁用危险命令]]></title><link>https://blog.youkuaiyun.com/u010798073/article/details/121802512</link><guid>https://blog.youkuaiyun.com/u010798073/article/details/121802512</guid><author>u010798073</author><pubDate>Wed, 08 Dec 2021 22:08:14 +0800</pubDate><description><![CDATA[前言


风险极大命令生产不能执行。
耗时命令生产不能执行。
修改为别名，如果到时候要用也有的用。


步骤


第一步 禁用命令
第二步 重命名命令
第三步 重启后测试生效了


第一步 禁用命令




命令
作用




flushdb
清空数据库


flushall
清空所有数据


config
使用命令修改配置信息


keys
查看所有 key 的值


第二步 重命名命令


编辑配置文件 vim /etc/redis/6379.conf


# 我这里就加了 123 ，实际最好是生成一个]]></description><category></category></item><item><title><![CDATA[Redis 内存淘汰策略和最大使用内存]]></title><link>https://blog.youkuaiyun.com/u010798073/article/details/121801978</link><guid>https://blog.youkuaiyun.com/u010798073/article/details/121801978</guid><author>u010798073</author><pubDate>Wed, 08 Dec 2021 21:40:15 +0800</pubDate><description><![CDATA[前言


最大使用内存：默认无限制，可能会导致 Redis 进程被杀死。
内存淘汰策略：选择适合业务的策略。


步骤


第一步 内存淘汰策略说明
第二步 设置内存淘汰策略
第三步 设置最大使用内存


第一步 内存淘汰策略说明




参数
解释




noeviction
对于写请求不再提供服务，直接返回错误(Del除外)


allkeys-lru
所有key中使用LRU(最近没有使用)算法进行淘汰


volatile-lru
设置了过期时间的key中使用LRU算法进行淘汰


allkeys-]]></description><category></category></item><item><title><![CDATA[Reids单机版本搭建]]></title><link>https://blog.youkuaiyun.com/u010798073/article/details/121800746</link><guid>https://blog.youkuaiyun.com/u010798073/article/details/121800746</guid><author>u010798073</author><pubDate>Wed, 08 Dec 2021 20:43:14 +0800</pubDate><description><![CDATA[前言


简单粗暴复制黏贴搭建好 Redis，末尾有常见问题处理方式。


步骤


第一步 下载、解压
第二步 编译前环境准备工作
第三步 编译、编译安装
第四步 执行install_server.sh
第五步 开启远程连接
第六步 常用命令
第七步 常用参数
第八步 连接工具
第九步 错误解决 经典


第一步 下载、解压


下载


wget http://download.redis.io/releases/redis-6.0.6.tar.gz



解压


tar -zxvf redis-6.]]></description><category></category></item><item><title><![CDATA[JDK 安装-不需要登录下载]]></title><link>https://blog.youkuaiyun.com/u010798073/article/details/121800254</link><guid>https://blog.youkuaiyun.com/u010798073/article/details/121800254</guid><author>u010798073</author><pubDate>Wed, 08 Dec 2021 20:22:09 +0800</pubDate><description><![CDATA[前言

复制黏贴搭建好 jdk1.8 环境

步骤

第一步 不需要登录下载 jdk 1.8
第二步 解压 JDK 包
第三步 配置环境变量
第四步 source 环境变量，保证可以马上使用。
第五步 测试是否可用

第一步 不需要登录下载 jdk 1.8


下面是不需要登录下载JDK，也可以自己自己上传。


wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F;]]></description><category></category></item><item><title><![CDATA[JVM 问题分析]]></title><link>https://blog.youkuaiyun.com/u010798073/article/details/121443597</link><guid>https://blog.youkuaiyun.com/u010798073/article/details/121443597</guid><author>u010798073</author><pubDate>Sat, 20 Nov 2021 18:43:09 +0800</pubDate><description><![CDATA[前言


无意中搞出来的 JVM 案例，正好用作分析使用。


步骤


Java 代码
执行命令
500ms 打印一次获取日志数据
日志分析
日志变化不明显， 继续监控获取日志，找到老年代增长率。
日志分析，每次 Young GC 转移的对象大小
优化后执行命令
调优后执行日志
优化结果(重要)


Java 代码
public class Demo {
    public static void main(String[] args) throws InterruptedException {

  ]]></description><category></category></item><item><title><![CDATA[一次 JVM 分析问题]]></title><link>https://blog.youkuaiyun.com/u010798073/article/details/121443573</link><guid>https://blog.youkuaiyun.com/u010798073/article/details/121443573</guid><author>u010798073</author><pubDate>Sat, 20 Nov 2021 18:41:34 +0800</pubDate><description><![CDATA[万能解决方案


模拟 JVM 问题的时候，遇到了一个问题脑壳痛
放着没有处理。
然后按流程分析，从日志开始分析原因是什么。
找到了问题原因。
结果：愿意动手，并且相信自己能做到、做好，就这么简单。


步骤


模拟一个 JVM 垃圾回收情况
执行 JVM 日志
日志分析
为什么会 FGC 呢？
1000ms 打印一次，数据不够齐全，再用 100ms 打印一次。
思考


模拟一个 JVM 垃圾回收情况


查看日志：jstat -gc PID 间隔时间 次数


执行 JVM 日志
[root@loca]]></description><category></category></item><item><title><![CDATA[Centos 使用防火墙 Firewalld 进行流量转发]]></title><link>https://blog.youkuaiyun.com/u010798073/article/details/121385876</link><guid>https://blog.youkuaiyun.com/u010798073/article/details/121385876</guid><author>u010798073</author><pubDate>Wed, 17 Nov 2021 19:48:03 +0800</pubDate><description><![CDATA[前言


通过防火墙 Firewalld 进行转发
很简单从头到尾看着操作就能学会。


应用场景


某些公司限制了出口流量外网端口访问，目标机器又不能改端口，这个时候中转就上场了。
直连目标机器(如国外)太卡，用了一个云服务商的带宽中转，速度立马提升。


参考博客


https://blog.youkuaiyun.com/weixin_35531655/article/details/116959516
https://blog.youkuaiyun.com/lvqingyao520/article/details/810]]></description><category></category></item><item><title><![CDATA[Druid 监控开启，新手可读性高]]></title><link>https://blog.youkuaiyun.com/u010798073/article/details/117339071</link><guid>https://blog.youkuaiyun.com/u010798073/article/details/117339071</guid><author>u010798073</author><pubDate>Thu, 27 May 2021 22:01:55 +0800</pubDate><description><![CDATA[前言


复制黏贴即可使用，经过生产考验。
讲清楚配置类 DataSource 是如何使用，StatViewServlet 如何开启监控。


步骤


参考博客
流程图重点对象描述
pom 文件。依赖的 jar 包
application.yml 配置文件。配置了 Druid 的 DataSource
DataSourceConfig 配置类和 DataSourceConfigProperties 类。配置了 dataSource 、Filters 、StatViewServelt
Controller ]]></description><category></category></item><item><title><![CDATA[Volatile保证可见性、不保证原子性]]></title><link>https://blog.youkuaiyun.com/u010798073/article/details/117003830</link><guid>https://blog.youkuaiyun.com/u010798073/article/details/117003830</guid><author>u010798073</author><pubDate>Wed, 19 May 2021 00:01:32 +0800</pubDate><description><![CDATA[前言


简单明了的说明 Volatile ，提供适合的使用场景。


步骤


参考博客
没有 Volatile 的情况
有 Volatile 保证可见性的情况
有 Volatile 不保证原子性的情况
Volatile 适用场景


1. 参考博客

石杉的架构笔记

2. 没有 Volatile 的情况



线程1 修改data = 0，刷新到 工作内存中
线程1 的工作内存，刷新到 主内存中，不是实时的。这个时候线程2 如果执行 data 还是 0
导致的问题：线程1 和 线程2 的 data 数]]></description><category></category></item><item><title><![CDATA[使用 AOP 的 @Aspect 注解，实现一个 Redis 缓存注解]]></title><link>https://blog.youkuaiyun.com/u010798073/article/details/116723519</link><guid>https://blog.youkuaiyun.com/u010798073/article/details/116723519</guid><author>u010798073</author><pubDate>Wed, 12 May 2021 22:44:44 +0800</pubDate><description><![CDATA[前言


参考别人博客，编写的 Redis 缓存注解
内含大量注释说明, 复制黏贴即可使用。
步骤 2-8 为Redis缓存处理，可以单独提出，放入 base 包或 util 包中
步骤 9-2 为测试使用。


步骤


参考博客
pom 依赖。需要的依赖文件
application.yml 配置文件。配置 Aop 和 Redis集群
RedisConfig 类。 RedisTemplate 实列化配置文件。
RedisUtil 类。相关 Redis 操作的工具类。
RedisCacheAnnotatio]]></description><category></category></item><item><title><![CDATA[Linux 常用命令场景——Java 版本]]></title><link>https://blog.youkuaiyun.com/u010798073/article/details/115840863</link><guid>https://blog.youkuaiyun.com/u010798073/article/details/115840863</guid><author>u010798073</author><pubDate>Sun, 18 Apr 2021 21:56:22 +0800</pubDate><description><![CDATA[前言


本人从事 Java 开发，所以命令都是围绕 Java 应用程序的使用场景。
从实际使用出发，会对命令使用场景详细描述。
日常工作，多使用才能学会，太多的命令细节，只有实践才能学会。


通用命令

当前所处的目录查看

[root@localhost ~]# pwd
/root


当前目录下，文件和文件夹

[root@localhost ~]# ll
总用量 17008
drwxrwxr-x. 9 root root      176 4月  10 14:12 agent
-rw-------]]></description><category></category></item><item><title><![CDATA[Elasticsearch 单机快速搭建]]></title><link>https://blog.youkuaiyun.com/u010798073/article/details/115832401</link><guid>https://blog.youkuaiyun.com/u010798073/article/details/115832401</guid><author>u010798073</author><pubDate>Sun, 18 Apr 2021 15:55:24 +0800</pubDate><description><![CDATA[前言


Linux 快速搭建 Elasticsearch
只要复制黏贴，快速搭建好。


步骤


参考博客
准备工作一：安装JDK
准备工作一：修改 /etc/security/limits.conf
准备工作三：修改 /etc/sysctl.conf
Elasticsearch 下载、解压
Elasticsearch 配置
Elasticsearch 创建专门的用户
Elasticsearch 启动
查看 Elasticsearch 启动日志
访问 Elasticsearch 看启动结果
Elasti]]></description><category></category></item><item><title><![CDATA[Spring-Async调用]]></title><link>https://blog.youkuaiyun.com/u010798073/article/details/115832302</link><guid>https://blog.youkuaiyun.com/u010798073/article/details/115832302</guid><author>u010798073</author><pubDate>Sun, 18 Apr 2021 15:53:00 +0800</pubDate><description><![CDATA[前言


Spring 自带的异步调用，方便使用
Spring 的异步存储在内存中，突然宕机会导致任务丢失，只能执行不重要的操作，比如：日志写入。
应用场景：发短信、邮件、消息通知、统计，和正常业务没有直接关联。上下文无关，数据不重要，可以出错。
正常业务上下文关联，异步不能出错。后面操作依赖前面操作的结果，需要等待。


步骤


参考博客。文章来自大佬博客，我只是实践一下。
思维导图。重点内容描述，并发步骤。
pom依赖。pom依赖文件
Service 层。用于编写 同步 和 异步方法。
main 类。]]></description><category></category></item><item><title><![CDATA[logback全流程日志打印]]></title><link>https://blog.youkuaiyun.com/u010798073/article/details/115832156</link><guid>https://blog.youkuaiyun.com/u010798073/article/details/115832156</guid><author>u010798073</author><pubDate>Sun, 18 Apr 2021 15:51:34 +0800</pubDate><description><![CDATA[前言


日志重点消息打印，以及唯一 tid 和唯一 requestId 用于定位一个唯一请求，方便定位问题。


步骤


思维导图。编写前的设计思考，要处理哪些点。
pom 依赖。 所有使用的依赖包
logback.xml 配置文件。指定打印的 日志信息
controller 层。测试日志打印。
service 层。测试异步打印
filter 层。通用关键信息打印，两个类。
config 层。@Bean 实例化 filter 层
util 层。用到的工具类
entity 层。 配合 Controller]]></description><category></category></item><item><title><![CDATA[观察者模式——Spring中使用]]></title><link>https://blog.youkuaiyun.com/u010798073/article/details/115832077</link><guid>https://blog.youkuaiyun.com/u010798073/article/details/115832077</guid><author>u010798073</author><pubDate>Sun, 18 Apr 2021 15:48:14 +0800</pubDate><description><![CDATA[前言


观察者模式在 Spring 中的应用
观察者模式，在目标对象发出动作后，触发事件，观察者接收事件，然后执行对应操作。


步骤


观察者模型。
参考博客。看大佬博客写的文档学习。
思维导图。画图讲解清楚流程。（待定）
学习方法。怎么样学习。
注意点。
pom 依赖。
Main 方法编写。
Controller 层。Http 请求发送使用
register 层。编写事件类。
service 层，目标对象，事件创建、发送类。
service 层，观察者对象1，事件接收、执行类。
service 层，]]></description><category></category></item><item><title><![CDATA[MockMVC和Mockito的使用]]></title><link>https://blog.youkuaiyun.com/u010798073/article/details/115832007</link><guid>https://blog.youkuaiyun.com/u010798073/article/details/115832007</guid><author>u010798073</author><pubDate>Sun, 18 Apr 2021 15:46:59 +0800</pubDate><description><![CDATA[前言


Mockito 作用，部分代码段无法返回稳定的结果，这个时候就用 Mockito 拦截构造假数据返回。
比如：Dao 调用数据库，Http调用第三方接口。


步骤


pom依赖。项目需要的所有依赖
Main。Springboot 项目启动必须
Controller 层。Http 请求提供
Service 层。
Dao 层。用于被拦截。
单元测试。
注意事项


1. pom依赖
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;project x]]></description><category></category></item><item><title><![CDATA[MockMVC的使用]]></title><link>https://blog.youkuaiyun.com/u010798073/article/details/115831800</link><guid>https://blog.youkuaiyun.com/u010798073/article/details/115831800</guid><author>u010798073</author><pubDate>Sun, 18 Apr 2021 15:45:30 +0800</pubDate><description><![CDATA[前言


MockMVC 作用，请求 Controller 层是否正常，替代了 Postman 的作用
本文，复制黏贴即可使用，包含四种常见情况 Get 提交 params 和 pathvariable 、Post 提交 json 和 from


步骤讲解


参考大佬博客。
pom 依赖。引入项目需要的所有包
Main 启动类。SpringBoot 的启动类。
Controller 层。提供HTTP接口。
Entity 类。配合封装对象使用。
单元测试。MockMVC 就是在单元测试中使用。
注意。注意]]></description><category></category></item></channel></rss>