<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Refain的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Refain</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Refain]]></copyright><item><title><![CDATA[oracle分析函数（环比、同比、递增求和）]]></title><link>https://blog.youkuaiyun.com/Refain/article/details/123507851</link><guid>https://blog.youkuaiyun.com/Refain/article/details/123507851</guid><author>Refain</author><pubDate>Tue, 15 Mar 2022 17:32:04 +0800</pubDate><description><![CDATA[1.普及一下概念

环比 = 2018年10月/2018年09月（同一时期内不同时间段的比较）

同比 = 2018年10月/2017年10月（不同时期内相同时间段的比较）

环比增长率 =（2018年10月-2018年09月）/2018年09月

同比增长率 =（2018年10月-2017年10月）/2017年10月

2.关键sql 解释

(1)分析函数

lead(params,m,n) 以params为目标向下m位取数，当取不到时默认为 n,

lag(params,m,n) 以pa...]]></description><category></category></item><item><title><![CDATA[plsql导出导入 表结构、表数据、存储过程等]]></title><link>https://blog.youkuaiyun.com/Refain/article/details/123450630</link><guid>https://blog.youkuaiyun.com/Refain/article/details/123450630</guid><author>Refain</author><pubDate>Sat, 12 Mar 2022 21:24:16 +0800</pubDate><description><![CDATA[导出：
首先点击 TOOLS，选择 EXPORT TABLES



选中你需要导出的表，









勾选 “Create tables” 是因为在导入的数据库中没有此表

如果勾选"Drop tables" 而没有勾选 “Create tables” ，而数据库中没有此表，会报表和视图不存在

Output file 为导出的路径











如果你想导的表 数据记录很多，就只想导出表结构，你可以在 where clause 后面接一个 否定条件，就可以只导出表结构而...]]></description><category></category></item><item><title><![CDATA[mysql单表大数据量优化]]></title><link>https://blog.youkuaiyun.com/Refain/article/details/122939163</link><guid>https://blog.youkuaiyun.com/Refain/article/details/122939163</guid><author>Refain</author><pubDate>Tue, 15 Feb 2022 10:58:22 +0800</pubDate><description><![CDATA[问题概述

使用阿里云rds for MySQL数据库（就是MySQL5.6版本），有个用户上网记录表6个月的数据量近2000万，保留最近一年的数据量达到4000万，查询速度极慢，日常卡死。严重影响业务。

问题前提：老系统，当时设计系统的人大概是大学没毕业，表设计和sql语句写的不仅仅是垃圾，简直无法直视。原开发人员都已离职，到我来维护，这就是传说中的维护不了就跑路，然后我就是掉坑的那个！！！

我尝试解决该问题，so，有个这个日志。

方案概述

方案一：优化现有mysql数据库。优点：不影响现有业务，]]></description><category></category></item><item><title><![CDATA[rabbitmq]]></title><link>https://blog.youkuaiyun.com/Refain/article/details/122938820</link><guid>https://blog.youkuaiyun.com/Refain/article/details/122938820</guid><author>Refain</author><pubDate>Tue, 15 Feb 2022 10:56:07 +0800</pubDate><description><![CDATA[55

1.命令行用户管理


	在linux中使用命令行创建用户
	
	
	
## 进入到rabbit_mq的sbin目录
cd /usr/local/rabbitmq_server-3.7.0/sbin

## 新增用户
./rabbitmqctl add_user jikeyi admin123

	设置用户级别
	
	
	
## 用户级别：
## 1.administrator 可以登录控制台、查看所有信息、可以对RabbitMQ进行管理
## 2.monitoring 监控者 登录控制台、查看所有]]></description><category></category></item><item><title><![CDATA[分布式锁（redisson、悲观乐观锁）]]></title><link>https://blog.youkuaiyun.com/Refain/article/details/122805919</link><guid>https://blog.youkuaiyun.com/Refain/article/details/122805919</guid><author>Refain</author><pubDate>Mon, 07 Feb 2022 11:10:17 +0800</pubDate><description><![CDATA[—、redisson

一、简介

Redisson是一个Redis的基础上实现的Java驻内存数据网格，它不仅提供了一系列分布式的Java常用对象，还有一个重要的分布式锁的实现，主要作用为了防止分布式系统中的多个进程之间相互干扰。比如单机模式下的多线程用同步锁synchronized等解决数据一致性的并发操作，而分布式系统中则需要用redisson的lock或其他方式来解决。

二、原理



底层其实就是基于分布式的Redis集群实现的。

用key作为是否上锁的标识，当通过getLock(Stri..]]></description><category></category></item><item><title><![CDATA[java拦截器 (含自定义注解)]]></title><link>https://blog.youkuaiyun.com/Refain/article/details/122744168</link><guid>https://blog.youkuaiyun.com/Refain/article/details/122744168</guid><author>Refain</author><pubDate>Sat, 29 Jan 2022 15:36:02 +0800</pubDate><description><![CDATA[java三大利器：过滤器、监听器、拦截器





Springboot 拦截器配置（登录拦截）：

第一步：编写拦截器实现类，实现接口 HandlerInterceptor，

重写里面需要的三个比较常用的方法，实现自己的业务逻辑代码

(就是自己拦截器拦截时做什么处理)




package com.*.*.interceptor;

import java.io.IOException;

import javax.servlet.http.HttpServletRequest;
import ..]]></description><category></category></item><item><title><![CDATA[hashMap存储结构（key为对象时 为什么要重写对象的hashCode() 和equal()方法]]></title><link>https://blog.youkuaiyun.com/Refain/article/details/121999455</link><guid>https://blog.youkuaiyun.com/Refain/article/details/121999455</guid><author>Refain</author><pubDate>Fri, 17 Dec 2021 16:33:38 +0800</pubDate><description><![CDATA[解释：

在HashMap中，如果key为类对象，则必须要重写hashCode() 和equal()这两个方法。     Why？首先了解下未被重写的hashCode() 和equal()方法。



1.未被重写的hashCode() 和equal()方法

 　　HashCode是根类Obeject中的方法。如果对象不重写该方法，默认情况下 返回相应对象的32为JVM内存地址。

 　　equals()用于比较两个对象是否相同，它其实就是使用两个对象的内存地址在比较。Objec...]]></description><category></category></item><item><title><![CDATA[RedisTemplate模板使用]]></title><link>https://blog.youkuaiyun.com/Refain/article/details/120672852</link><guid>https://blog.youkuaiyun.com/Refain/article/details/120672852</guid><author>Refain</author><pubDate>Sat, 09 Oct 2021 15:51:37 +0800</pubDate><description><![CDATA[———————————————————————————————
















]]></description><category></category></item><item><title><![CDATA[Listener监听器的使用]]></title><link>https://blog.youkuaiyun.com/Refain/article/details/120672791</link><guid>https://blog.youkuaiyun.com/Refain/article/details/120672791</guid><author>Refain</author><pubDate>Sat, 09 Oct 2021 15:50:29 +0800</pubDate><description><![CDATA[java web中监听器的使用

使用Listener类
当java web应用程序在web容器中运行时，在java web应用程序内部会不断发生各种事件，例如web应用的启动，暂停，销毁等。以及web应用中session开始和结束
这些web应用对开发者来说通常是看不见的。其实在servletapi中。提供了大量的监听器来监听web应用事件，其中Listener类是最为常用的。此类允许当web内部事件发生时回掉事件
监听器的方法。


2.Listener基础。
在java web应用程序中使用lis..]]></description><category></category></item></channel></rss>