<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[LLstudyJava的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/LLstudyJava</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; LLstudyJava]]></copyright><item><title><![CDATA[nacos配置数据库，实现配置文件的持久化]]></title><link>https://blog.youkuaiyun.com/LLstudyJava/article/details/118339869</link><guid>https://blog.youkuaiyun.com/LLstudyJava/article/details/118339869</guid><author>LLstudyJava</author><pubDate>Wed, 07 Jul 2021 16:43:47 +0800</pubDate><description><![CDATA[作为一个稀有的Java妹子，所写的所有博客都只是当作自己的笔记，留下证据自己之前是有用心学习的～哈哈哈哈（如果有不对的地方，也请大家指出，不要悄悄咪咪的不告诉我）

]]></description><category></category></item><item><title><![CDATA[springboot+springsecurity+springsession实现session共享]]></title><link>https://blog.youkuaiyun.com/LLstudyJava/article/details/118106349</link><guid>https://blog.youkuaiyun.com/LLstudyJava/article/details/118106349</guid><author>LLstudyJava</author><pubDate>Tue, 22 Jun 2021 14:57:26 +0800</pubDate><description><![CDATA[作为一个稀有的Java妹子，所写的所有博客都只是当作自己的笔记，留下证据自己之前是有用心学习的～哈哈哈哈（如果有不对的地方，也请大家指出，不要悄悄咪咪的不告诉我）
一、前言
在工作中遇到多系统时，比如oa人事相关的是独立的系统，在其他系统登录后，在这个系统不应该再让用户重新登录，想实现一次登录，多系统session共享，有很多种实现方式，针对web业务可以使用springsession，如果是移动端业务可以使用jwt的token，今天主要记录spring session。
二、jar包准备
在此之前已经整合]]></description><category></category></item><item><title><![CDATA[Spring:ApplicationEventPublisher事件发布与监听]]></title><link>https://blog.youkuaiyun.com/LLstudyJava/article/details/109204978</link><guid>https://blog.youkuaiyun.com/LLstudyJava/article/details/109204978</guid><author>LLstudyJava</author><pubDate>Wed, 21 Oct 2020 17:53:48 +0800</pubDate><description><![CDATA[作为一个稀有的Java妹子，所写的所有博客都只是当作自己的笔记，留下证据自己之前是有用心学习的～哈哈哈哈（如果有不对的地方，也请大家指出，不要悄悄咪咪的不告诉我）
一、概述
Spring的事件机制是观察者模式的典型，跟发布订阅模式也十分接近，被观察者发布事件，观察者监听到事件，然后处理事件。这个模式的应用场景有用户注册等，比如用户注册后需要给用户发送优惠券，这时用户注册就是被观察者，事件是发送优惠券。
二、实现
1、事件
首先需要定义事件，继承ApplicationEvent类
public class O]]></description><category></category></item><item><title><![CDATA[Spring 注解：@Async]]></title><link>https://blog.youkuaiyun.com/LLstudyJava/article/details/109053860</link><guid>https://blog.youkuaiyun.com/LLstudyJava/article/details/109053860</guid><author>LLstudyJava</author><pubDate>Wed, 14 Oct 2020 14:28:19 +0800</pubDate><description><![CDATA[作为一个稀有的Java妹子，所写的所有博客都只是当作自己的笔记，留下证据自己之前是有用心学习的～哈哈哈哈（如果有不对的地方，也请大家指出，不要悄悄咪咪的不告诉我）
一、概述
1、Java执行顺序默认是同步的，代码是逐条执行，当需要调用三方的接口或者耗时的方法时可能会造成接口的响应时间变长。有些时候我们不关心三方接口的返回结果，那么以前的话是使用多线程来解决这个问题，将耗时的方法或者请求三方的方法单开线程来处理。
2、使用@Async注解的方法可以使方法被异步调用，底层其实也是使用的线程池来实现的。
二、源码]]></description><category></category></item><item><title><![CDATA[Java接口有多个实现类，按照排序调用每个实现类重写的方法]]></title><link>https://blog.youkuaiyun.com/LLstudyJava/article/details/108843219</link><guid>https://blog.youkuaiyun.com/LLstudyJava/article/details/108843219</guid><author>LLstudyJava</author><pubDate>Mon, 28 Sep 2020 10:23:10 +0800</pubDate><description><![CDATA[作为一个稀有的Java妹子，所写的所有博客都只是当作自己的笔记，留下证据自己之前是有用心学习的～哈哈哈哈（如果有不对的地方，也请大家指出，不要悄悄咪咪的不告诉我）
1、目标接口
public interface IEventDriver {

    /**
     * 触发事件
     *
     * @param event 事件
     * @return 是否冒泡, true不往下传递事件, false继续往下传递
     */
    boolean trigger(BaseEvent ]]></description><category></category></item><item><title><![CDATA[Java8特性：lambda表达式]]></title><link>https://blog.youkuaiyun.com/LLstudyJava/article/details/108511105</link><guid>https://blog.youkuaiyun.com/LLstudyJava/article/details/108511105</guid><author>LLstudyJava</author><pubDate>Thu, 10 Sep 2020 15:02:57 +0800</pubDate><description><![CDATA[作为一个稀有的Java妹子，所写的所有博客都只是当作自己的笔记，留下证据自己之前是有用心学习的～哈哈哈哈（如果有不对的地方，也请大家指出，不要悄悄咪咪的不告诉我）
一、概述
以前我们在实现接口时，一般是写一个实现类，然后重写需要调用的方法，如果不想创建实现类，就使用匿名内部类来重写方法。
public interface MyInterface {
    void test();
}

实现类重写方法
public class MyInterfaceImpl implements MyInterface ]]></description><category></category></item><item><title><![CDATA[Java接口有多个实现类，根据不同的业务场景创建不同的实现类实例]]></title><link>https://blog.youkuaiyun.com/LLstudyJava/article/details/108365424</link><guid>https://blog.youkuaiyun.com/LLstudyJava/article/details/108365424</guid><author>LLstudyJava</author><pubDate>Wed, 02 Sep 2020 17:25:08 +0800</pubDate><description><![CDATA[作为一个稀有的Java妹子，所写的所有博客都只是当作自己的笔记，留下证据自己之前是有用心学习的～哈哈哈哈（如果有不对的地方，也请大家指出，不要悄悄咪咪的不告诉我）
1.概述
有的时候，需要一个接口根据不同的业务场景实现不同的功能，比如支付接口有多个运营商，不同的运营商的对接方式不同，但是对自己本身的系统来说，入口应该只有一个，就是调用的接口是同一个，不过有不同的实现类，来完成不同的支付方式的对接。
2.上代码
用户的授权接口，根据不同的传参调用不同的认证方法，验证方法有：校验密码、校验密码和验证码等等，这个]]></description><category></category></item><item><title><![CDATA[java后台实现Excel的导出：easypoi实现]]></title><link>https://blog.youkuaiyun.com/LLstudyJava/article/details/106079059</link><guid>https://blog.youkuaiyun.com/LLstudyJava/article/details/106079059</guid><author>LLstudyJava</author><pubDate>Thu, 27 Aug 2020 10:46:29 +0800</pubDate><description><![CDATA[作为一个稀有的Java妹子，所写的所有博客都只是当作自己的笔记，留下证据自己之前是有用心学习的～哈哈哈哈（如果有不对的地方，也请大家指出，不要悄悄咪咪的不告诉我）
1.概述
在企业的后台系统中，报表导出是经常会有的一个功能，比如每个月导出订单，

...]]></description><category></category></item><item><title><![CDATA[mysql数据库详解（五）：日常开发收集的问题点]]></title><link>https://blog.youkuaiyun.com/LLstudyJava/article/details/108238354</link><guid>https://blog.youkuaiyun.com/LLstudyJava/article/details/108238354</guid><author>LLstudyJava</author><pubDate>Wed, 26 Aug 2020 18:40:32 +0800</pubDate><description><![CDATA[作为一个稀有的Java妹子，所写的所有博客都只是当作自己的笔记，留下证据自己之前是有用心学习的～哈哈哈哈（如果有不对的地方，也请大家指出，不要悄悄咪咪的不告诉我）
1、存在则更新，不存在则添加
insert into table_name values (...)
ON DUPLICATE KEY UPDATE 需要更新的字段=值，，

需要在表设置唯一索引，当唯一索引值重复就更新，不重复就插入
2、order by
排序，desc倒序排列 asc默认正序排列，如果想要多列排序，则以逗号分开 order b]]></description><category></category></item><item><title><![CDATA[nginx的配置，实现反向代理、负载均衡]]></title><link>https://blog.youkuaiyun.com/LLstudyJava/article/details/107411004</link><guid>https://blog.youkuaiyun.com/LLstudyJava/article/details/107411004</guid><author>LLstudyJava</author><pubDate>Fri, 17 Jul 2020 16:48:19 +0800</pubDate><description><![CDATA[作为一个稀有的Java妹子，所写的所有博客都只是当作自己的笔记，留下证据自己之前是有用心学习的～哈哈哈哈（如果有不对的地方，也请大家指出，不要悄悄咪咪的不告诉我）
1.nginx的作用
nginx是一个轻量的Web和反向代理服务器，可以实现：
1.服务器静态资源的访问
2.反向代理，通过监听端口/域名将请求转发给指定的服务器
3.负载均衡，通过反向代理使客户端的请求nginx，然后转发给不同的服务器，实现负载均衡。
2.nginx的配置文件
//启动nginx的用户和所属组，默认是nobody，如果在访问时]]></description><category></category></item><item><title><![CDATA[mysql数据库详解（四）：基础知识]]></title><link>https://blog.youkuaiyun.com/LLstudyJava/article/details/105090909</link><guid>https://blog.youkuaiyun.com/LLstudyJava/article/details/105090909</guid><author>LLstudyJava</author><pubDate>Wed, 08 Apr 2020 16:46:29 +0800</pubDate><description><![CDATA[作为一个稀有的Java妹子，所写的所有博客都只是当作自己的笔记，留下证据自己之前是有用心学习的～哈哈哈哈（如果有不对的地方，也请大家指出，不要悄悄咪咪的不告诉我）
一、数据库三大范式
第一范式：每个列都不可以再拆分。
第二范式：在第一范式的基础上，非主键列完全依赖于主键，而不能是依赖于主键的一部分。
第三范式：在第二范式的基础上，非主键列只依赖于主键，不依赖于其他非主键。
1、数据库三大范式是什么...]]></description><category></category></item><item><title><![CDATA[mysql数据库详解（三）：索引与sql优化]]></title><link>https://blog.youkuaiyun.com/LLstudyJava/article/details/105072282</link><guid>https://blog.youkuaiyun.com/LLstudyJava/article/details/105072282</guid><author>LLstudyJava</author><pubDate>Tue, 24 Mar 2020 16:57:53 +0800</pubDate><description><![CDATA[作为一个稀有的Java妹子，所写的所有博客都只是当作自己的笔记，留下证据自己之前是有用心学习的～哈哈哈哈（如果有不对的地方，也请大家指出，不要悄悄咪咪的不告诉我）
一、索引是什么
索引是一种可以高效查询的数据结构。数据库的查询是经常被使用的操作，我们往往希望查询的效率高，如果是按照顺序查找的方法，当数据量变大的时候，查询效率就会变得非常低，所以mysql的开发者设计了索引来优化查询效率。
二、索引...]]></description><category></category></item><item><title><![CDATA[mysql数据库详解（二）：mybatis与springboot整合]]></title><link>https://blog.youkuaiyun.com/LLstudyJava/article/details/105048608</link><guid>https://blog.youkuaiyun.com/LLstudyJava/article/details/105048608</guid><author>LLstudyJava</author><pubDate>Mon, 23 Mar 2020 15:47:22 +0800</pubDate><description><![CDATA[作为一个稀有的Java妹子，所写的所有博客都只是当作自己的笔记，留下证据自己之前是有用心学习的～哈哈哈哈（如果有不对的地方，也请大家指出，不要悄悄咪咪的不告诉我）
一、引入相关的jar包
 &lt;dependency&gt;
      &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
      &lt;artifactId&gt;...]]></description><category></category></item><item><title><![CDATA[mysql数据库详解（一）：sql语句]]></title><link>https://blog.youkuaiyun.com/LLstudyJava/article/details/104961196</link><guid>https://blog.youkuaiyun.com/LLstudyJava/article/details/104961196</guid><author>LLstudyJava</author><pubDate>Fri, 20 Mar 2020 15:02:26 +0800</pubDate><description><![CDATA[作为一个稀有的Java妹子，所写的所有博客都只是当作自己的笔记，留下证据自己之前是有用心学习的～哈哈哈哈（如果有不对的地方，也请大家指出，不要悄悄咪咪的不告诉我）
一.语句分类
1.DDL（Data Definition Languages）
数据库的定义语句，用来创建数据库中的表、索引、视图、存储过程、触发器等，常用的语句关键字有：CREATE,ALTER,DROP,TRUNCATE,COMME...]]></description><category></category></item><item><title><![CDATA[redis缓存数据库详解(六)：高可用方案]]></title><link>https://blog.youkuaiyun.com/LLstudyJava/article/details/104689458</link><guid>https://blog.youkuaiyun.com/LLstudyJava/article/details/104689458</guid><author>LLstudyJava</author><pubDate>Fri, 06 Mar 2020 17:06:29 +0800</pubDate><description><![CDATA[作为一个稀有的Java妹子，所写的所有博客都只是当作自己的笔记，留下证据自己之前是有用心学习的～哈哈哈哈（如果有不对的地方，也请大家指出，不要悄悄咪咪的不告诉我）
概述
redis在实际应用中安装部署的方式有所不同，如果对数据没有持久化的要求，只是为了提高读取数据效率，可能会采用单机模式；但是生产环境中基本上都会要求持久化数据，备份数据，节点失效转移等，那么这时候单节点部署就不能满足了，下面就介绍...]]></description><category></category></item><item><title><![CDATA[redis缓存数据库详解(五)：分布式锁的实现]]></title><link>https://blog.youkuaiyun.com/LLstudyJava/article/details/104649545</link><guid>https://blog.youkuaiyun.com/LLstudyJava/article/details/104649545</guid><author>LLstudyJava</author><pubDate>Wed, 04 Mar 2020 14:16:37 +0800</pubDate><description><![CDATA[作为一个稀有的Java妹子，所写的所有博客都只是当作自己的笔记，留下证据自己之前是有用心学习的～哈哈哈哈（如果有不对的地方，也请大家指出，不要悄悄咪咪的不告诉我）
1.锁
锁是为了控制高并发而产生的，多个线程访问同一个资源、用户多次提交等等都是高并发的情况，带来的影响就是数据不正确。比如提交订单，用户点击很多次，如果代码里不加控制，就会产生多条订单数据。
线程锁：主要用来给方法、代码块加锁。当某个...]]></description><category></category></item><item><title><![CDATA[redis缓存数据库详解(四)：redis与springboot整合]]></title><link>https://blog.youkuaiyun.com/LLstudyJava/article/details/104625827</link><guid>https://blog.youkuaiyun.com/LLstudyJava/article/details/104625827</guid><author>LLstudyJava</author><pubDate>Tue, 03 Mar 2020 11:07:44 +0800</pubDate><description><![CDATA[作为一个稀有的Java妹子，所写的所有博客都只是当作自己的笔记，留下证据自己之前是有用心学习的～哈哈哈哈（如果有不对的地方，也请大家指出，不要悄悄咪咪的不告诉我）
概述
在之前的一篇文章中介绍了redis的数据结构，以及每种数据结构对应的命令，这些命令是通过redis-cli连接redis服务器后，直接在控制台中输入的。所以本片文章介绍怎样实现在代码里操作redis。
一、引入依赖
&lt;dep...]]></description><category></category></item><item><title><![CDATA[redis缓存数据库详解(三)：redis的持久化]]></title><link>https://blog.youkuaiyun.com/LLstudyJava/article/details/104558415</link><guid>https://blog.youkuaiyun.com/LLstudyJava/article/details/104558415</guid><author>LLstudyJava</author><pubDate>Sat, 29 Feb 2020 17:28:13 +0800</pubDate><description><![CDATA[作为一个稀有的Java妹子，所写的所有博客都只是当作自己的笔记，留下证据自己之前是有用心学习的～哈哈哈哈（如果有不对的地方，也请大家指出，不要悄悄咪咪的不告诉我）
redis的持久化
1.因为redis是把数据存放在内存中，如果没有持久化的机制，redis关闭后数据就全部没有了，所以为了在redis关闭再次启动后数据还能再次被加载到内存里，就需要有持久化的机制。将内存中的数据存到磁盘中。
2.re...]]></description><category></category></item><item><title><![CDATA[redis缓存数据库详解(二)：redis的数据结构及基础命令]]></title><link>https://blog.youkuaiyun.com/LLstudyJava/article/details/104555651</link><guid>https://blog.youkuaiyun.com/LLstudyJava/article/details/104555651</guid><author>LLstudyJava</author><pubDate>Fri, 28 Feb 2020 18:16:11 +0800</pubDate><description><![CDATA[作为一个稀有的Java妹子，所写的所有博客都只是当作自己的笔记，留下证据自己之前是有用心学习的～哈哈哈哈（如果有不对的地方，也请大家指出，不要悄悄咪咪的不告诉我）
1.redis的数据结构
redis数据库不像mysql关系型数据库，使用表来存放数据，redis是使用key-value的形式来存放数据的，支持的数据类型有：String，list，set，zset，hash。
2.String类型的...]]></description><category></category></item><item><title><![CDATA[redis缓存数据库详解(一)：config文件详解]]></title><link>https://blog.youkuaiyun.com/LLstudyJava/article/details/104536771</link><guid>https://blog.youkuaiyun.com/LLstudyJava/article/details/104536771</guid><author>LLstudyJava</author><pubDate>Fri, 28 Feb 2020 11:52:23 +0800</pubDate><description><![CDATA[作为一个稀有的Java妹子，所写的所有博客都只是当作自己的笔记，留下证据自己之前是有用心学习的～哈哈哈哈（如果有不对的地方，也请大家指出，不要悄悄咪咪的不告诉我）
1.redis是什么？
1.redis是一种可以高效存取的数据库，支持多种数据结构，比如字符串、集合、hash等等。
2.redis是把数据存放在内存里，从而使得数据的读写都是发生在内存里，速度十分的快，然后通过一定的机制持久化到磁盘。...]]></description><category></category></item></channel></rss>