<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[wheree的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wheree</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wheree]]></copyright><item><title><![CDATA[Linux CPU 100% 故障排查总结]]></title><link>https://blog.youkuaiyun.com/wheree/article/details/148603435</link><guid>https://blog.youkuaiyun.com/wheree/article/details/148603435</guid><author>wheree</author><pubDate>Thu, 12 Jun 2025 09:40:05 +0800</pubDate><description><![CDATA[线上分析CPU 100% 排查脚本。]]></description><category></category></item><item><title><![CDATA[Spring Boot发布事件订阅]]></title><link>https://blog.youkuaiyun.com/wheree/article/details/139290140</link><guid>https://blog.youkuaiyun.com/wheree/article/details/139290140</guid><author>wheree</author><pubDate>Wed, 29 May 2024 11:10:01 +0800</pubDate><description><![CDATA[Spring Boot发布事件订阅代码记录。]]></description><category></category></item><item><title><![CDATA[多线程同步操作]]></title><link>https://blog.youkuaiyun.com/wheree/article/details/134971324</link><guid>https://blog.youkuaiyun.com/wheree/article/details/134971324</guid><author>wheree</author><pubDate>Wed, 13 Dec 2023 14:25:48 +0800</pubDate><description><![CDATA[【代码】多线程同步操作。]]></description><category></category></item><item><title><![CDATA[基于Guava的本地缓存]]></title><link>https://blog.youkuaiyun.com/wheree/article/details/134811631</link><guid>https://blog.youkuaiyun.com/wheree/article/details/134811631</guid><author>wheree</author><pubDate>Tue, 05 Dec 2023 16:49:31 +0800</pubDate><description><![CDATA[【代码】基于Guava的本地缓存。]]></description><category></category></item><item><title><![CDATA[linux mysql 操作命令]]></title><link>https://blog.youkuaiyun.com/wheree/article/details/121745002</link><guid>https://blog.youkuaiyun.com/wheree/article/details/121745002</guid><author>wheree</author><pubDate>Mon, 06 Dec 2021 13:36:56 +0800</pubDate><description><![CDATA[1.linux下启动mysql的命令：
mysqladmin start
/ect/init.d/mysql start (前面为mysql的安装路径)
2.linux下重启mysql的命令：
mysqladmin restart
/ect/init.d/mysql restart (前面为mysql的安装路径)
3.linux下关闭mysql的命令：
mysqladmin shutdown
/ect/init.d/mysql shutdown (前面为mysql的安装路径)
4.连接本机上的mysql：
]]></description><category></category></item><item><title><![CDATA[java并行程序开发及优化]]></title><link>https://blog.youkuaiyun.com/wheree/article/details/121190976</link><guid>https://blog.youkuaiyun.com/wheree/article/details/121190976</guid><author>wheree</author><pubDate>Sun, 07 Nov 2021 17:23:55 +0800</pubDate><description><![CDATA[并行程序设计模式
并行设计模式属于设计优化的一部分，它是对一些常用的多线程结构的总结和抽象。与串行程序相比，并行程序的结构通常更为复杂。因此，合理的使用并行模式在多线程开发中，更具有积极意义。本文中主要介绍Future模式、Master-Worker模式、GuardedSuspeionsion模式、不变模式和生产者-消费者模式。
**1Future模式**
	Future模式有点类似商品订单。比如在进行网上购物时，当看中某一件商品时，就可以提交订单，当订单处理完毕后，便可以等在家里等待商品送货上门。卖家根据]]></description><category></category></item><item><title><![CDATA[linux安装MySQL]]></title><link>https://blog.youkuaiyun.com/wheree/article/details/120926112</link><guid>https://blog.youkuaiyun.com/wheree/article/details/120926112</guid><author>wheree</author><pubDate>Sat, 23 Oct 2021 20:56:32 +0800</pubDate><description><![CDATA[一 安装前准备
1、检查是否已经安装过mysql，执行命令
rpm -qa | grep mysql
如果已存在，则执行删除命令 后边为Mysql目录
rpm -e --nodeps mysql-xxxx
2、查询所有Mysql对应的文件夹
whereis mysqlm
find / -name mysql
删除相关目录或文件
rm -rf /usr/bin/mysql /usr/include/mysql /data/mysql /data/mysql/mysql
验证是否删除完毕
whereis mys]]></description><category></category></item><item><title><![CDATA[java面试题]]></title><link>https://blog.youkuaiyun.com/wheree/article/details/120651890</link><guid>https://blog.youkuaiyun.com/wheree/article/details/120651890</guid><author>wheree</author><pubDate>Fri, 08 Oct 2021 14:55:40 +0800</pubDate><description><![CDATA[https://blog.youkuaiyun.com/Java_aoe/article/details/120635515

]]></description><category></category></item><item><title><![CDATA[Spring的AOP使用场景之性能监控]]></title><link>https://blog.youkuaiyun.com/wheree/article/details/120218387</link><guid>https://blog.youkuaiyun.com/wheree/article/details/120218387</guid><author>wheree</author><pubDate>Fri, 10 Sep 2021 11:30:56 +0800</pubDate><description><![CDATA[模块执行时间监控
想要了解各个接口具体执行时间，需要计算方法执行开始到方法执行结束所用的时间，下面通过AOP+注解的方式来实现此功能。想要获取方法执行的时间只需加上注解即可。
首先新建注解
/**
 * 功能说明：监控注解
 *
 * @return &lt;br&gt;
 *     1.[2021年09月10日下午13:50] 创建方法 by wheree
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Docum]]></description><category></category></item><item><title><![CDATA[批量处理数据库数据]]></title><link>https://blog.youkuaiyun.com/wheree/article/details/120178106</link><guid>https://blog.youkuaiyun.com/wheree/article/details/120178106</guid><author>wheree</author><pubDate>Wed, 08 Sep 2021 13:39:50 +0800</pubDate><description><![CDATA[当任务需要处理大量数据时，防止内存溢出应多次分批处理数据
例如当使用spring定时任务时
 //定时任务规则
 @Scheduled(cron = "30 * * * * ?")
    public void test() {
    	
    	//分页index
    	//pageSize
         Integer pageIndex = 0;
        while (true) {
        	//DAO层查询数据库
            List&lt;UserDto]]></description><category></category></item><item><title><![CDATA[jmtter性能测试工具]]></title><link>https://blog.youkuaiyun.com/wheree/article/details/119798439</link><guid>https://blog.youkuaiyun.com/wheree/article/details/119798439</guid><author>wheree</author><pubDate>Thu, 19 Aug 2021 11:35:08 +0800</pubDate><description><![CDATA[https://www.cnblogs.com/TankXiao/p/4045439.html

]]></description><category></category></item><item><title><![CDATA[使用NIO提升性能]]></title><link>https://blog.youkuaiyun.com/wheree/article/details/119798107</link><guid>https://blog.youkuaiyun.com/wheree/article/details/119798107</guid><author>wheree</author><pubDate>Thu, 19 Aug 2021 11:29:10 +0800</pubDate><description><![CDATA[NIO是New I/O的简称，与旧式的基于流的I/O方法相对，从名字看，它表示新的一套Java I/O标准。
具有以下特性：
传统Java IO，它是阻塞的，低效的。那么Java NIO和传统Java IO有什么不同？带来了什么？
（1）面向块的I/O
　　传统JavaIO是面向流的I/O。流I/O一次处理一个字节。NIO则是面向块的I/O，每次操作都是以数据块为单位。它们的差距就好象两个人吃饭，一个人一粒一粒的吃，另一个人狼吞虎咽，快慢显而易见。
NIO中引入了缓冲区（Buffer）的概念，缓冲区作为传输]]></description><category></category></item><item><title><![CDATA[Java IO和Java NIO在文件拷贝上的性能差异分析]]></title><link>https://blog.youkuaiyun.com/wheree/article/details/119797868</link><guid>https://blog.youkuaiyun.com/wheree/article/details/119797868</guid><author>wheree</author><pubDate>Thu, 19 Aug 2021 11:23:11 +0800</pubDate><description><![CDATA[在JAVA传统的IO系统中，读取磁盘文件数据的过程如下：



以FileInputStream类为例，该类有一个read(byte b[])方法，byte b[]是我们要存储读取
到用户空间的缓冲区。参看read(byte b[])方法的源码，可知，它会在内部再调用readBytes(b, 0, b.length)方法，而且readBytes(b, 0, b.length)方法是一个native方法（即本地方法），最终通过这个本地方法来发起一次系统调用，即调用系统内核的read()方法，内核从磁盘...]]></description><category></category></item><item><title><![CDATA[SQL规范]]></title><link>https://blog.youkuaiyun.com/wheree/article/details/119670361</link><guid>https://blog.youkuaiyun.com/wheree/article/details/119670361</guid><author>wheree</author><pubDate>Fri, 13 Aug 2021 10:45:31 +0800</pubDate><description><![CDATA[一.命名规范：
1	库
a.不使用MySQL保留字
b.使用小写字母
c.清晰明了，根据业务线，环境进行定义
d.使用_分割
2	表
a.不使用MySQL保留字
b.使用小写字母
c.清晰明了，根据业务进行定义
d.使用_分割
3	字段
a.不使用MySQL保留字
b.使用小写字母
c.清晰明了，根据存储内容进行定义
d.使用_分割
4	索引
a.二级索引： idx_column1_column2
b.唯一索引： uniq_column1_column2
二.表结构规范
1	类型简单化	越简单的类型占用越少]]></description><category></category></item><item><title><![CDATA[Mysql分页查询优化]]></title><link>https://blog.youkuaiyun.com/wheree/article/details/119538926</link><guid>https://blog.youkuaiyun.com/wheree/article/details/119538926</guid><author>wheree</author><pubDate>Mon, 09 Aug 2021 15:20:21 +0800</pubDate><description><![CDATA[业务要根据时间范围查询交易记录，接口原始的SQL如下：
select  * from trade_info where status = 0 and create_time &gt;= '2020-10-01 00:00:00' and create_time &lt;= '2020-10-07 23:59:59' order by id desc limit 102120, 20;

表trade_info上有索引idx_status_create_time(status,create_time)，通过上]]></description><category></category></item><item><title><![CDATA[Mysql亿级数据清洗迁移]]></title><link>https://blog.youkuaiyun.com/wheree/article/details/119447277</link><guid>https://blog.youkuaiyun.com/wheree/article/details/119447277</guid><author>wheree</author><pubDate>Fri, 06 Aug 2021 10:48:10 +0800</pubDate><description><![CDATA[Mysql亿级数据清洗迁移
本文使用代码做数据清洗和迁移
需求：清洗旧表数据并添加新业务数据至新表
大致步骤
1计算当前数据库写QPS   若每秒内可处理200条数据则size设置为200
2定义定时任务管理每秒调一次 每次执行200条数据
3引入redis根据主键ID排列顺序，存入当前已处理的最后一条数据的主键ID
4从redis中获取主键ID
5查询从主键ID开始偏移量为size的数据
6获取旧数据添加业务数据并插入新表
    /**
    * type ：任务类型
    * size ：一次迁移]]></description><category></category></item><item><title><![CDATA[策略模式+SpringBoot自动注入]]></title><link>https://blog.youkuaiyun.com/wheree/article/details/119217559</link><guid>https://blog.youkuaiyun.com/wheree/article/details/119217559</guid><author>wheree</author><pubDate>Thu, 29 Jul 2021 18:25:50 +0800</pubDate><description><![CDATA[策略模式+SpringBoot自动注入
解决springboot环境中策略模式不能注入bean问题，例如导致注入DAO为null
话不多说，上代码
1公共接口

public interface BusinessStrategy{

    public void doOperation(String json);

	//根据枚举类型分配策略
    ScheduleTypeEnum getStyle();
}

2策略1
@Service
public class BusinessStrategyOne]]></description><category></category></item><item><title><![CDATA[linux脚本启动jar包]]></title><link>https://blog.youkuaiyun.com/wheree/article/details/118308135</link><guid>https://blog.youkuaiyun.com/wheree/article/details/118308135</guid><author>wheree</author><pubDate>Mon, 28 Jun 2021 17:17:07 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[TongWeb7 安装指南]]></title><link>https://blog.youkuaiyun.com/wheree/article/details/111470552</link><guid>https://blog.youkuaiyun.com/wheree/article/details/111470552</guid><author>wheree</author><pubDate>Mon, 21 Dec 2020 11:46:42 +0800</pubDate><description><![CDATA[系统配置要求
安装 TongWeb7 应用服务器最低系统要求见以下内容：
系统组件 系统要求
操作系统 Windows 平台：
Microsoft Windows 系列
Linux 平台：
RedHat 系列
RedFlag 系列
Suse Linux 系列
19
国产平台：
龙芯系列
飞腾系列
华为系列
申威系列
海光系列
Java 环境 JDK1.7 以上
物理内存 512MB 及以上
硬盘空间 可用空间 500MB 及以上
监视器 图形界面安装需要 256 色，字符界面安装没有色彩要
求
浏览器 Mi]]></description><category></category></item></channel></rss>