<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[WangJava_的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/WangJava_</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; WangJava_]]></copyright><item><title><![CDATA[【分布式锁篇】Redisson源码分析]]></title><link>https://blog.youkuaiyun.com/WangJava_/article/details/131934059</link><guid>https://blog.youkuaiyun.com/WangJava_/article/details/131934059</guid><author>WangJava_</author><pubDate>Wed, 26 Jul 2023 10:55:59 +0800</pubDate><description><![CDATA[Redisson，分布式锁，微服务，锁机制]]></description><category></category></item><item><title><![CDATA[NACOS源码学习---raft]]></title><link>https://blog.youkuaiyun.com/WangJava_/article/details/126905278</link><guid>https://blog.youkuaiyun.com/WangJava_/article/details/126905278</guid><author>WangJava_</author><pubDate>Mon, 19 Sep 2022 12:03:57 +0800</pubDate><description><![CDATA[Nacos学习Raft]]></description><category></category></item><item><title><![CDATA[druid连接池源码分析]]></title><link>https://blog.youkuaiyun.com/WangJava_/article/details/119891488</link><guid>https://blog.youkuaiyun.com/WangJava_/article/details/119891488</guid><author>WangJava_</author><pubDate>Tue, 24 Aug 2021 15:42:51 +0800</pubDate><description><![CDATA[Druid
Druid是java语言中最好的数据库连接池之一，经常在项目中使用。本文基于目前最新的版本1.1.6，探索下Druid连接池的实现原理。因为涉及到各种复杂逻辑，暂未想到比较好的图示来描述源码，因此本文更多的是代码+文字，大家见谅哈
首先，提出几个问题，我们带着这几个疑问去学习druid连接池源码
druid常用的参数
druid如何创建连接的
connection是如何被回收利用的
druid如何维护、清理连接
druid怎么解决并发情况下获取、创建、关闭连接的问题
DruidDataSourc]]></description><category></category></item><item><title><![CDATA[对java自带的类理解]]></title><link>https://blog.youkuaiyun.com/WangJava_/article/details/118030904</link><guid>https://blog.youkuaiyun.com/WangJava_/article/details/118030904</guid><author>WangJava_</author><pubDate>Fri, 18 Jun 2021 17:43:52 +0800</pubDate><description><![CDATA[我们安装jdk，java环境，然后用idea编程，我们会发现java提供了很多类。
比如网络socket，IO流文件处理，web相关的类等等。这些类都是java帮我们弄好了，我想了下，既然java让我们用它的语言，它肯定会帮我们提供很多不同用途的类，比如sockert这种网络通信类，这种类我们自己无法用java语法写出来，只能java提供，并且java提供的类肯定是jvm能识别的，所以我们直接用即可。hashmap这些类我们自己可以根据java语法写出来，但是不一定效率高，并且我们也没必要重复造轮子。jav]]></description><category></category></item><item><title><![CDATA[SpringBoot 中Filter的作用以及使用]]></title><link>https://blog.youkuaiyun.com/WangJava_/article/details/117705081</link><guid>https://blog.youkuaiyun.com/WangJava_/article/details/117705081</guid><author>WangJava_</author><pubDate>Tue, 08 Jun 2021 15:41:22 +0800</pubDate><description><![CDATA[SpringBoot 中Filter的作用以及使用
1、Filter的作用
Filter使用户可以改变一个 request和修改一个response.
Filter 不是一个servlet,它不能产生一个response,它能够在一个request到达servlet之前预处理request,也可以在离开 servlet时处理response.
换种说法,filter其实是一个”servlet chaining”(servlet 链).
通俗点说法filter相当于加油站，request是条路，respons]]></description><category></category></item><item><title><![CDATA[druid连接超时时间20分钟引起的血案]]></title><link>https://blog.youkuaiyun.com/WangJava_/article/details/117691582</link><guid>https://blog.youkuaiyun.com/WangJava_/article/details/117691582</guid><author>WangJava_</author><pubDate>Tue, 08 Jun 2021 10:12:49 +0800</pubDate><description><![CDATA[1.问题描述
生产环境当数据量大的时候有时就会出现挂批问题。(默认3分钟定时任务调度一次，可是有时候定时任务启动了，但是业务数据没有处理）。挂批就造成大量业务挤压，没有处理。这时候就需要人手工处理。
2.问题分析
2.1 bug 反思路分析
JobDetail#execute
/*这段代码中首先判断一下批次的状态是否是running，若是running那么直接返回，不调用处理业务逻辑代码/
if (RUNNING.equals(taskInfo.getStatus())) {
&nbsp;  logger.]]></description><category></category></item><item><title><![CDATA[shiro整合redis出现的问题]]></title><link>https://blog.youkuaiyun.com/WangJava_/article/details/115051816</link><guid>https://blog.youkuaiyun.com/WangJava_/article/details/115051816</guid><author>WangJava_</author><pubDate>Sun, 21 Mar 2021 16:57:54 +0800</pubDate><description><![CDATA[ shiro-redis是网上的大牛开源的一个插件（github地址：https://github.com/alexxiyang/shiro-redis ），最近在用它的时候老是报如下错误（版本是3.1.0）：
We need a field to identify this Cache Object in Redis. So you need to defined an id field which you can get unique id to identify this principal. Fo.]]></description><category></category></item><item><title><![CDATA[根据JPA规则去写方法，由于刚用JPA不久，整合出现错误，百度了下]]></title><link>https://blog.youkuaiyun.com/WangJava_/article/details/114258048</link><guid>https://blog.youkuaiyun.com/WangJava_/article/details/114258048</guid><author>WangJava_</author><pubDate>Mon, 01 Mar 2021 11:03:05 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[spring源码解读]]></title><link>https://blog.youkuaiyun.com/WangJava_/article/details/109686733</link><guid>https://blog.youkuaiyun.com/WangJava_/article/details/109686733</guid><author>WangJava_</author><pubDate>Sat, 14 Nov 2020 09:42:18 +0800</pubDate><description><![CDATA[https://blog.youkuaiyun.com/weixin_43734095/article/details/106309373
]]></description><category></category></item><item><title><![CDATA[Idea中用git，数据被覆盖了，如何回滚]]></title><link>https://blog.youkuaiyun.com/WangJava_/article/details/108369020</link><guid>https://blog.youkuaiyun.com/WangJava_/article/details/108369020</guid><author>WangJava_</author><pubDate>Wed, 02 Sep 2020 19:50:05 +0800</pubDate><description><![CDATA[回滚数据
]]></description><category></category></item><item><title><![CDATA[Centos7部署Oracle11g以及排错]]></title><link>https://blog.youkuaiyun.com/WangJava_/article/details/107819079</link><guid>https://blog.youkuaiyun.com/WangJava_/article/details/107819079</guid><author>WangJava_</author><pubDate>Wed, 05 Aug 2020 17:21:25 +0800</pubDate><description><![CDATA[Cenots7部署Oracle11g

先安装好jdk8（https://blog.youkuaiyun.com/weixin_44538107/article/details/88683530）这是我在网上找的一个博主的。跟着教程可以很快安装jdk8

在确定安装好JDK8后，然后进入安装。
	
	Oracle11g安装包

	下载地址：http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
	
	
	

.]]></description><category></category></item><item><title><![CDATA[运行themeleaf时，出现的问题，虽然出现了错误，但是不影响正常使用，解决方案是: fiva.ico]]></title><link>https://blog.youkuaiyun.com/WangJava_/article/details/107566334</link><guid>https://blog.youkuaiyun.com/WangJava_/article/details/107566334</guid><author>WangJava_</author><pubDate>Fri, 24 Jul 2020 17:42:18 +0800</pubDate><description><![CDATA[2020-07-24 17:17:15.282 ERROR 11104 — [io-8080-exec-10] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.thymeleaf.exce.]]></description><category></category></item><item><title><![CDATA[redis整合springboot]]></title><link>https://blog.youkuaiyun.com/WangJava_/article/details/107448863</link><guid>https://blog.youkuaiyun.com/WangJava_/article/details/107448863</guid><author>WangJava_</author><pubDate>Sun, 19 Jul 2020 18:01:48 +0800</pubDate><description><![CDATA[springboot与jedis的整合
1、创建SpringBoot工程
使用idea自带的Spring Initializr创建一个基本的SpringBoot工程。
​​
2、修改POM文件
工程创建成功后，修改pom文件，添加所需的jar包

    org.springframework.boot
    spring-boot-starter-data-redis


    redis.clients
    jedis
    3.1.0


    org.projectlombok
    ]]></description><category></category></item><item><title><![CDATA[jedis整合Springboot以及redis的分布式]]></title><link>https://blog.youkuaiyun.com/WangJava_/article/details/107448818</link><guid>https://blog.youkuaiyun.com/WangJava_/article/details/107448818</guid><author>WangJava_</author><pubDate>Sun, 19 Jul 2020 17:59:31 +0800</pubDate><description><![CDATA[springboot与jedis的整合

1、创建SpringBoot工程



使用idea自带的Spring Initializr创建一个基本的SpringBoot工程。



2、修改POM文件

工程创建成功后，修改pom文件，添加所需的jar包





&lt;dependency&gt;
  &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
  &lt;artifactId&gt;spring-boot-starter...]]></description><category></category></item><item><title><![CDATA[乐观锁的实现机制--CAS（Compare And Set）]]></title><link>https://blog.youkuaiyun.com/WangJava_/article/details/107389837</link><guid>https://blog.youkuaiyun.com/WangJava_/article/details/107389837</guid><author>WangJava_</author><pubDate>Thu, 16 Jul 2020 18:27:02 +0800</pubDate><description><![CDATA[锁机制
]]></description><category></category></item><item><title><![CDATA[mybatis-plus依赖包会有相应的数据库导入]]></title><link>https://blog.youkuaiyun.com/WangJava_/article/details/107234959</link><guid>https://blog.youkuaiyun.com/WangJava_/article/details/107234959</guid><author>WangJava_</author><pubDate>Thu, 09 Jul 2020 18:22:29 +0800</pubDate><description><![CDATA[这时候我们就要好好考虑了
]]></description><category></category></item><item><title><![CDATA[git push reject方案]]></title><link>https://blog.youkuaiyun.com/WangJava_/article/details/107212701</link><guid>https://blog.youkuaiyun.com/WangJava_/article/details/107212701</guid><author>WangJava_</author><pubDate>Wed, 08 Jul 2020 18:48:15 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[mysql主从复制]]></title><link>https://blog.youkuaiyun.com/WangJava_/article/details/107211254</link><guid>https://blog.youkuaiyun.com/WangJava_/article/details/107211254</guid><author>WangJava_</author><pubDate>Wed, 08 Jul 2020 17:38:16 +0800</pubDate><description><![CDATA[myqsl中的主从复制，主要是通过binlog日志实现，就是主表增删改都会记录到相应的binlog，然后从表会读取主表的binlog，然后根据里面的信息，然后改变自己的值，

主表一般是增删改，从表是查询，并且不要去修改从表的值了，从表自己会去主表中同步，

为什么用主从复制呢？

这样更好的提高mysql的性能，还有吞吐量，
...]]></description><category></category></item><item><title><![CDATA[JVM内存模型以及类加载机制]]></title><link>https://blog.youkuaiyun.com/WangJava_/article/details/107155341</link><guid>https://blog.youkuaiyun.com/WangJava_/article/details/107155341</guid><author>WangJava_</author><pubDate>Mon, 06 Jul 2020 12:46:41 +0800</pubDate><description><![CDATA[JVM内存模型
Java代码是运行在Java虚拟机(JVM)上的，Java虚拟机通过解释执行（解释器）或编译执行（编译器）来完成。

Java内存模型分为5个部分：方法区（Method Area），Java堆（Heap），Java栈（VM Stack），本地方法栈（Native Method Stack），程序计数器（PC 寄存器）

（图片来源：http://gityuan.com/images/jvm/jvm_memory_1.png）

线程共享区：

方法区（Method Area）：方法区是各个线]]></description><category></category></item><item><title><![CDATA[线程池]]></title><link>https://blog.youkuaiyun.com/WangJava_/article/details/107155284</link><guid>https://blog.youkuaiyun.com/WangJava_/article/details/107155284</guid><author>WangJava_</author><pubDate>Mon, 06 Jul 2020 12:44:52 +0800</pubDate><description><![CDATA[原文链接：https://editor.youkuaiyun.com/md?articleId=107102851
收起
我们都知道，java中有ThreadPoolExecutor提供的线程池服务，非常好用。可以有效的解决了一些异步业务，提高系统性能。但是java中配置和使用线程池有点繁琐，而在springboot中，线程池的配置简直就是轻而易举。下面直接上干货。
springboot中主要使用配置类来配置线程池
@Async注解可以使用配置好的线程池
其他的配置例如yml或者properties文件，按照sprin]]></description><category></category></item></channel></rss>