<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[sunRest的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/sunRest</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; sunRest]]></copyright><item><title><![CDATA[排查服务假死步骤(源机资源存在)]]></title><link>https://blog.youkuaiyun.com/sunRest/article/details/127730446</link><guid>https://blog.youkuaiyun.com/sunRest/article/details/127730446</guid><author>sunRest</author><pubDate>Mon, 07 Nov 2022 14:27:33 +0800</pubDate><description><![CDATA[3.jstack 查看堆内存日志,是否存在大量资源未被释放或者死锁等情况。1.top命令查看当前机器耗资源情况。2.找出高耗资源线程查看。]]></description><category></category></item><item><title><![CDATA[RedissonLocker-实现分布式锁]]></title><link>https://blog.youkuaiyun.com/sunRest/article/details/126059646</link><guid>https://blog.youkuaiyun.com/sunRest/article/details/126059646</guid><author>sunRest</author><pubDate>Fri, 29 Jul 2022 17:14:40 +0800</pubDate><description><![CDATA[redis-分布式锁]]></description><category></category></item><item><title><![CDATA[poi-导入导出excl表格信息]]></title><link>https://blog.youkuaiyun.com/sunRest/article/details/126059166</link><guid>https://blog.youkuaiyun.com/sunRest/article/details/126059166</guid><author>sunRest</author><pubDate>Fri, 29 Jul 2022 16:45:53 +0800</pubDate><description><![CDATA[poi-导出导入表格模板信息]]></description><category></category></item><item><title><![CDATA[try catch遇到NullPointerException的坑]]></title><link>https://blog.youkuaiyun.com/sunRest/article/details/121762598</link><guid>https://blog.youkuaiyun.com/sunRest/article/details/121762598</guid><author>sunRest</author><pubDate>Tue, 07 Dec 2021 10:18:25 +0800</pubDate><description><![CDATA[1.异常收集使用e.getMessage()方法进行错误捕获是，日志输出回事null字符，无法定位到具体bug位置,在生产上比较难排查问题，具体如下。

1.1 源码显示为固定字符串




1.2 此处进行实例化，默认返回null字符



2.解决方案，后面需要摘取报错日志信息，可以使用e.toString()方法具体如下：

方法已被重写，输出日志包含类名和信息比较好排查问题。
...]]></description><category></category></item><item><title><![CDATA[jvn程序分析]]></title><link>https://blog.youkuaiyun.com/sunRest/article/details/120502161</link><guid>https://blog.youkuaiyun.com/sunRest/article/details/120502161</guid><author>sunRest</author><pubDate>Mon, 27 Sep 2021 09:41:01 +0800</pubDate><description><![CDATA[下载按照mat(网上教程一大堆)
2.生成dump快照文件
2.1 jvm启动参数配置

 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$LOG_DIR/java.hprof"  

2.2 手动生成dump
```handlebars
jmap -dump:format=b,file=heap.bin  &lt;pid&gt;


]]></description><category></category></item><item><title><![CDATA[代码管理sonal]]></title><link>https://blog.youkuaiyun.com/sunRest/article/details/116449164</link><guid>https://blog.youkuaiyun.com/sunRest/article/details/116449164</guid><author>sunRest</author><pubDate>Thu, 06 May 2021 11:07:19 +0800</pubDate><description><![CDATA[1.下载客户端

下载链接

2.下载jdk（需要jdk11配合）

jdk11

3.服务端操作







中文切换









导入项目









4.命令行导入项目(以上客户端压缩包提供scanner)


sonar-scanner.bat -D"sonar.projectKey=Unifiedauthentication" -D"sonar.projectName=Unifiedauthentication" -D"sonar.language=java" -D"so...]]></description><category></category></item><item><title><![CDATA[mysql数据库一些常规操作]]></title><link>https://blog.youkuaiyun.com/sunRest/article/details/114699381</link><guid>https://blog.youkuaiyun.com/sunRest/article/details/114699381</guid><author>sunRest</author><pubDate>Fri, 12 Mar 2021 16:51:35 +0800</pubDate><description><![CDATA[1.为指定mysql用户指定表授权
grant select, insert, update, delete on testdb.orders to dba@localhost ;
2.查看当前mysql所有用户
SELECT DISTINCT CONCAT(‘User: ‘’’,user,’’’@’’’,host,’’’;’) AS query FROM mysql.user;
3.查询当前数据库中是否存在表锁
show OPEN TABLES where In_use &gt; 0;
4.解决表锁
sh]]></description><category></category></item><item><title><![CDATA[springboot -mybatis-swagger 项目 demo]]></title><link>https://blog.youkuaiyun.com/sunRest/article/details/108738556</link><guid>https://blog.youkuaiyun.com/sunRest/article/details/108738556</guid><author>sunRest</author><pubDate>Tue, 22 Sep 2020 18:59:52 +0800</pubDate><description><![CDATA[git地址

]]></description><category></category></item><item><title><![CDATA[linux 常用命令助手]]></title><link>https://blog.youkuaiyun.com/sunRest/article/details/106034214</link><guid>https://blog.youkuaiyun.com/sunRest/article/details/106034214</guid><author>sunRest</author><pubDate>Sun, 10 May 2020 12:00:28 +0800</pubDate><description><![CDATA[1.通过端口号查询pid和进程情况：


lsof -i:端口号


netstat -tunlp|grep 端口号

 2.查询进程的运行状态 通过进程名


ps -ef |grep 进程名


]]></description><category></category></item><item><title><![CDATA[linux 静默安装oracle  12c(自己修改对应的文件路径  很重要)]]></title><link>https://blog.youkuaiyun.com/sunRest/article/details/106001406</link><guid>https://blog.youkuaiyun.com/sunRest/article/details/106001406</guid><author>sunRest</author><pubDate>Fri, 08 May 2020 17:04:34 +0800</pubDate><description><![CDATA[1.下载依赖包：


yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*i686 compat-libstdc++-33*.devel compat-libstdc++-33 compat-libstdc++-33*.devel gcc gcc-c++ glibc glibc*.i686 ...]]></description><category></category></item><item><title><![CDATA[mysql 性能检测]]></title><link>https://blog.youkuaiyun.com/sunRest/article/details/105448186</link><guid>https://blog.youkuaiyun.com/sunRest/article/details/105448186</guid><author>sunRest</author><pubDate>Sat, 11 Apr 2020 10:32:22 +0800</pubDate><description><![CDATA[mysql 性能检测判断

]]></description><category></category></item><item><title><![CDATA[人生]]></title><link>https://blog.youkuaiyun.com/sunRest/article/details/105447299</link><guid>https://blog.youkuaiyun.com/sunRest/article/details/105447299</guid><author>sunRest</author><pubDate>Sat, 11 Apr 2020 09:41:26 +0800</pubDate><description><![CDATA[人生若只如初见，何事秋风本画扇。
等闲变却故人心，却道故人心易变。

]]></description><category></category></item><item><title><![CDATA[各类参数校验（身份证，手机号等）验证 实现（java）]]></title><link>https://blog.youkuaiyun.com/sunRest/article/details/105447108</link><guid>https://blog.youkuaiyun.com/sunRest/article/details/105447108</guid><author>sunRest</author><pubDate>Sat, 11 Apr 2020 09:29:17 +0800</pubDate><description><![CDATA[各种常用的验证（身份证,手机号等）

]]></description><category></category></item><item><title><![CDATA[Hystrix（自定义的实现 熔断，降级）]]></title><link>https://blog.youkuaiyun.com/sunRest/article/details/103985824</link><guid>https://blog.youkuaiyun.com/sunRest/article/details/103985824</guid><author>sunRest</author><pubDate>Wed, 15 Jan 2020 11:25:06 +0800</pubDate><description><![CDATA[创建类继承  HystrixCommand类实现里面的方法：
@Component
public class HystrixFallback&lt;T&gt; extends HystrixCommand&lt;T&gt;{
	private Object cla;// 方法对象
	private Object[]  args; //参数 
	private String mname;//方法名
...]]></description><category></category></item><item><title><![CDATA[springboot-jpa]]></title><link>https://blog.youkuaiyun.com/sunRest/article/details/103968769</link><guid>https://blog.youkuaiyun.com/sunRest/article/details/103968769</guid><author>sunRest</author><pubDate>Tue, 14 Jan 2020 10:35:46 +0800</pubDate><description><![CDATA[1.maven 引入(父项目依赖):
&lt;parent&gt;
		&lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
		&lt;artifactId&gt;spring-boot-starter-parent&lt;/artifactId&gt;
		&lt;version&gt;2.2.1.RELEASE&lt;/version...]]></description><category></category></item><item><title><![CDATA[消息队列]]></title><link>https://blog.youkuaiyun.com/sunRest/article/details/103927460</link><guid>https://blog.youkuaiyun.com/sunRest/article/details/103927460</guid><author>sunRest</author><pubDate>Fri, 10 Jan 2020 16:50:43 +0800</pubDate><description><![CDATA[消息队列

]]></description><category></category></item><item><title><![CDATA[多线程-线程池(队列-最大线程数-核心线程数)]]></title><link>https://blog.youkuaiyun.com/sunRest/article/details/103926044</link><guid>https://blog.youkuaiyun.com/sunRest/article/details/103926044</guid><author>sunRest</author><pubDate>Fri, 10 Jan 2020 16:08:11 +0800</pubDate><description><![CDATA[java 多线程：
一般通过继承Thread类，实现Runnable接口，实现Callable接口，以及线程池。
这里主要是讲解线程池:
通过线程池主要是创建以下4种类型的线程池。
工具类 : Executors
ExecutorService newFixedThreadPool() : 创建固定大小的线程池
ExecutorService newCachedThreadPool() : 缓存线...]]></description><category></category></item><item><title><![CDATA[多线程（信号量-解析-Semaphore）]]></title><link>https://blog.youkuaiyun.com/sunRest/article/details/103363104</link><guid>https://blog.youkuaiyun.com/sunRest/article/details/103363104</guid><author>sunRest</author><pubDate>Tue, 03 Dec 2019 10:57:42 +0800</pubDate><description><![CDATA[Semaphore 类   位于java.util.concurrent.Semaphore包下面。
该类主要有两个重要的方法:
1.acquire();
该方法主要是将初始化Semaphore里面的信号量数量-1。0为界限，此时不会在执行该方法。
2.release();
该方法主要是将初始化Semaphore里面的信号量数量+1。
demo:
1.列如对线程执行顺序做限制：
import ja...]]></description><category></category></item><item><title><![CDATA[nginx http 访问到https解析]]></title><link>https://blog.youkuaiyun.com/sunRest/article/details/103204401</link><guid>https://blog.youkuaiyun.com/sunRest/article/details/103204401</guid><author>sunRest</author><pubDate>Fri, 22 Nov 2019 17:23:33 +0800</pubDate><description><![CDATA[1.对http请求进行拦截，解析到https.
2.修改nginx.conf

3.拦截之后在对访问进行转换或者负载均衡策略。

]]></description><category></category></item><item><title><![CDATA[响应式编程和SpringMvc的区别（webflux和spring Mvc）]]></title><link>https://blog.youkuaiyun.com/sunRest/article/details/102958246</link><guid>https://blog.youkuaiyun.com/sunRest/article/details/102958246</guid><author>sunRest</author><pubDate>Thu, 07 Nov 2019 16:47:12 +0800</pubDate><description><![CDATA[响应式编程
高并发，高吞吐量的系统处理方法，业务逻辑简单,使用webflux比较实用。
并且flux支持spring的相关注解 以及Mvc相关注解，区别于servlet。

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