<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[jupiter_windy的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/jupiter_windy</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; jupiter_windy]]></copyright><item><title><![CDATA[rabbit笔记]]></title><link>https://blog.youkuaiyun.com/jupiter_windy/article/details/124916185</link><guid>https://blog.youkuaiyun.com/jupiter_windy/article/details/124916185</guid><author>jupiter_windy</author><pubDate>Sun, 22 May 2022 20:48:01 +0800</pubDate><description><![CDATA[rabbitMQ学习笔记
介绍


点对点式： – 消息发送者发送消息，消息代理将其放入一个队列中，消息接收者从队列中获取消息内容， 消息读取后被移出队列 – 消息只有唯一的发送者和接受者，但并不是说只能有一个接收者


. 发布订阅式： – 发送者（发布者）发送消息到主题，多个接收者（订阅者）监听（订阅）这个主题，那么 就会在消息到达时同时收到消息
direct点对点,fanout,topic,headers:后三者发布订阅模式
topic 的模糊匹配占位符
# ：匹配一个或多个词
* ：匹配不多不少恰好]]></description><category></category></item><item><title><![CDATA[ELK es,logstash,kibana未更新完]]></title><link>https://blog.youkuaiyun.com/jupiter_windy/article/details/124875289</link><guid>https://blog.youkuaiyun.com/jupiter_windy/article/details/124875289</guid><author>jupiter_windy</author><pubDate>Fri, 20 May 2022 01:03:03 +0800</pubDate><description><![CDATA[ELK es,logstash,kibana
ElasticSearch: https://mirrors.huaweicloud.com/elasticsearch/?C=N&amp;O=D
logstash: https://mirrors.huaweicloud.com/logstash/?C=N&amp;O=D
kibana: https://mirrors.huaweicloud.com/kibana/?C=N&amp;O=D
elasticsearch-analysis-ik: https://]]></description><category></category></item><item><title><![CDATA[设计模式 个人理解记录]]></title><link>https://blog.youkuaiyun.com/jupiter_windy/article/details/124875245</link><guid>https://blog.youkuaiyun.com/jupiter_windy/article/details/124875245</guid><author>jupiter_windy</author><pubDate>Fri, 20 May 2022 00:57:31 +0800</pubDate><description><![CDATA[设计模式总结
单一原则，3.依赖倒置原则 方法尽可能细分，多用接口
里氏替换原则继承不要用覆写  父类的属性，方法在子类依然成立
接口隔离–&gt;接口的拆分太细容易导致接口过多，太少的话会导致接口臃肿，得适量判断，个人感觉在现有业务逻辑下单一功能下的统一动作 尽可能粗狂，粗狂的话能继续拓展  比如：吃水果如果是一个接口，可以就一个方法 eat（） 但是更细的可以是 包含获得水果，处理水果，吃水果  再细可以是 买水果/摘水果，洗水果，削皮，用喂的，吃的。  在项目初期的接口尽可能粗狂，便于下面拓展。(因为]]></description><category></category></item><item><title><![CDATA[gis 重点笔记]]></title><link>https://blog.youkuaiyun.com/jupiter_windy/article/details/124875202</link><guid>https://blog.youkuaiyun.com/jupiter_windy/article/details/124875202</guid><author>jupiter_windy</author><pubDate>Fri, 20 May 2022 00:50:46 +0800</pubDate><description><![CDATA[gis
基本概念
操作地图的工具 API
核心概念： 地图 数据
数据种的基本要素 点 线 画 体
地图的某个坐标显示对应的要素
底图
瓦片 地图文件 天地图
第一步就是通过WEB把底图加载出来

总结


加载地图
图层操作
要素操作

产品体系
桌面端 浏览器端 移动端
桌面端 MapGIS
开发完了之后
发布到云GIS服务器 专门用来发布图层 底图
最终呈现效果 存储到 云GIS存储
开发流程：
数据处理
瓦片裁剪
生成矢量地图
生成地图文档
添加各种要素
数据发布 传到云服务器上去
通过server]]></description><category></category></item><item><title><![CDATA[zookeeper]]></title><link>https://blog.youkuaiyun.com/jupiter_windy/article/details/124840045</link><guid>https://blog.youkuaiyun.com/jupiter_windy/article/details/124840045</guid><author>jupiter_windy</author><pubDate>Wed, 18 May 2022 12:50:36 +0800</pubDate><description><![CDATA[zookeeper
概念
zookeeper 是一个开源的分布式框架 提供协调服务的apache项目
动物园用来管理hadoop 大象，hive 蜜蜂 pig 小猪
提供配置管理 分布式锁 集群管理
服务器特点
强一致性 ，有配置文件管理功能

一个leader 多个follower 集群
集群半数定理
全局一致性
请求按序，类似于公平锁
数据更新原子性

命令操作
数据模型


树形目录服务


Znode 每个节点都会保存自己的数据跟节点信息


节点可以拥有子节点，同时允许少量数据（1MB）存储在该节]]></description><category></category></item><item><title><![CDATA[oracle 树型数据查询 #oracle#函数]]></title><link>https://blog.youkuaiyun.com/jupiter_windy/article/details/95356023</link><guid>https://blog.youkuaiyun.com/jupiter_windy/article/details/95356023</guid><author>jupiter_windy</author><pubDate>Wed, 14 Jul 2021 20:59:12 +0800</pubDate><description><![CDATA[select * from (SELECT t1.id ,t1.name as name ,parent_id
  FROM SAF_FUND_TYPE t1 union all select -1 as id,t2.name as name,t2.fund_type_id as parent_id from saf_fund_account t2) t
 START WITH t....]]></description><category></category></item><item><title><![CDATA[socket 事件驱动模型，阻塞IO非阻塞IO多路复用IO的理解 #有学习价值的]]></title><link>https://blog.youkuaiyun.com/jupiter_windy/article/details/118574357</link><guid>https://blog.youkuaiyun.com/jupiter_windy/article/details/118574357</guid><author>jupiter_windy</author><pubDate>Thu, 08 Jul 2021 15:39:50 +0800</pubDate><description><![CDATA[没用过socket开发，好奇了解了一下

主要是事件驱动模型阻塞IO等看不懂，总觉得少了关键的点解释不了整个过程为什么要这样设计。

问题：

1.socket.read()会阻塞，于是用事件驱动模型，减少用户线程的消耗，那用事件驱动模型一样要消耗用户的线程去调用socket.read()为什么就不会阻塞了。？

2.理解的socket客户端跟服务端实施通讯传输数据，像http请求一样，A--&gt;B通过数据通道直连，如此一来始终理解不了有啥优化的空间。

后面看socket应用实例才知道，原来socke]]></description><category></category></item><item><title><![CDATA[spring源码导入idea测试 #spring#源码]]></title><link>https://blog.youkuaiyun.com/jupiter_windy/article/details/116454349</link><guid>https://blog.youkuaiyun.com/jupiter_windy/article/details/116454349</guid><author>jupiter_windy</author><pubDate>Thu, 06 May 2021 15:35:19 +0800</pubDate><description><![CDATA[idea导入源码

1.下载gradle 配置环境变量 百度 仓库我跟maven用同一个，idea中可以设置gradle的属性

2.github源码下载

地址：https://github.com/spring-projects/spring-framework

选择版本，我选的4.3



拉完之后，根路径下面有import-into-eclipse.bat,import-into-idea.md 可以照着她的流程来。

a.先cmd进入此目录，运行./gradlew cleanIdea :spr.]]></description><category></category></item><item><title><![CDATA[oracle 方法函数记录 #oracle#函数]]></title><link>https://blog.youkuaiyun.com/jupiter_windy/article/details/113742088</link><guid>https://blog.youkuaiyun.com/jupiter_windy/article/details/113742088</guid><author>jupiter_windy</author><pubDate>Sun, 07 Feb 2021 15:42:45 +0800</pubDate><description><![CDATA[row_number() over的运用

select * from (select a.*, row_number() over(partition by a.agency_id order by sumv1 desc) rn from ( --视图部分 select agency_id, bill_id, sum(v1) over(partition by agency_id order by bill_id) as sumv1, sum(v2) over(partition by agency_id]]></description><category></category></item><item><title><![CDATA[oracle建表 删用户 表空间 #oracle#DDL语法]]></title><link>https://blog.youkuaiyun.com/jupiter_windy/article/details/104002050</link><guid>https://blog.youkuaiyun.com/jupiter_windy/article/details/104002050</guid><author>jupiter_windy</author><pubDate>Thu, 16 Jan 2020 11:41:30 +0800</pubDate><description><![CDATA[exp kfsalary/a@218.76.22.161:61521/orcl file=D:\salary.dmp

---用PLSQL oracle import导入 不然报错
imp kfsalary/a@127.0.0.1:1521/orcl file=D:\salary.dmp full＝y


--删除用户 连代表删
drop user ELEMENT cascade;
--查看用户...]]></description><category></category></item><item><title><![CDATA[笔记 java 多线程 事务 #java基础#多线程]]></title><link>https://blog.youkuaiyun.com/jupiter_windy/article/details/103920731</link><guid>https://blog.youkuaiyun.com/jupiter_windy/article/details/103920731</guid><author>jupiter_windy</author><pubDate>Fri, 10 Jan 2020 11:03:38 +0800</pubDate><description><![CDATA[1.多线程

4种多线程：https://blog.youkuaiyun.com/hnd978142833/article/details/80253784

子线程事务与主线程事务是分离的，

子线程事务相互也是分离的，

子线程抛异常给主线程 可以让主线程事务回滚，但是不会影响其他子线程。

springboot子线程调用主线程本类中的方法是不会有事务管理的 ,子线程必须调用sping管理的bean 且此...]]></description><category></category></item><item><title><![CDATA[循环List与Map.contain 性能测试 #java基础#性能优化]]></title><link>https://blog.youkuaiyun.com/jupiter_windy/article/details/103045325</link><guid>https://blog.youkuaiyun.com/jupiter_windy/article/details/103045325</guid><author>jupiter_windy</author><pubDate>Wed, 13 Nov 2019 11:09:26 +0800</pubDate><description><![CDATA[1.直接循环List 模拟判断List中每个值是否存在



2.将List转成Map之后 循环判断每个值是否在Map中存在 （包含了List转成Map的时间）
]]></description><category></category></item><item><title><![CDATA[tkMybatis + @Select 注解 个人 笔记 #工具]]></title><link>https://blog.youkuaiyun.com/jupiter_windy/article/details/98184530</link><guid>https://blog.youkuaiyun.com/jupiter_windy/article/details/98184530</guid><author>jupiter_windy</author><pubDate>Fri, 02 Aug 2019 16:23:19 +0800</pubDate><description><![CDATA[public interface UserMapper extends Mapper&lt;User&gt;{

 @Select("select * from tb_user where user_name = #{userName} ")
 public List&lt;User&gt; selectUserByUserName(@Param("userName") St...]]></description><category></category></item><item><title><![CDATA[spring security 个人 笔记 #spring#springcloud]]></title><link>https://blog.youkuaiyun.com/jupiter_windy/article/details/97366871</link><guid>https://blog.youkuaiyun.com/jupiter_windy/article/details/97366871</guid><author>jupiter_windy</author><pubDate>Fri, 02 Aug 2019 16:22:59 +0800</pubDate><description><![CDATA[全文照https://github.com/wuyouzhuguli/SpringAll MrBird课程敲的代码

 包含了：Spring security自定义用户认证、图形验证码、记住我、短信验证码、session管理、退出登录

权限控制



 @Override
 protected void configure(HttpSecurity http) thro...]]></description><category></category></item><item><title><![CDATA[oauth2 个人记录 基础知识 #spring#springcloud#oauth2]]></title><link>https://blog.youkuaiyun.com/jupiter_windy/article/details/98207494</link><guid>https://blog.youkuaiyun.com/jupiter_windy/article/details/98207494</guid><author>jupiter_windy</author><pubDate>Fri, 02 Aug 2019 16:21:53 +0800</pubDate><description><![CDATA[http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html--作者阮一峰



1、授权码模式



第一次请求：



第二次请求：



客户端返回值：



2、简化模式

步骤：



向客户端发送信息参数：



客户端返回值的参数:



后续：



3、密码模式

步骤与参数:



4、客户端模式

步骤与参数：



更新令牌：...]]></description><category></category></item><item><title><![CDATA[23种设计模式-组合模式 #java基础#设计模式]]></title><link>https://blog.youkuaiyun.com/jupiter_windy/article/details/98098229</link><guid>https://blog.youkuaiyun.com/jupiter_windy/article/details/98098229</guid><author>jupiter_windy</author><pubDate>Thu, 01 Aug 2019 20:08:11 +0800</pubDate><description><![CDATA[合模式使得用户对单个对象和组合对象的使用具有一致性

类似于传销发展下线??

代码例子：


public class Composite {
  private List&lt;Component&gt; components = new ArrayList&lt;&gt;();

  private String name;

  public Composite(String...]]></description><category></category></item><item><title><![CDATA[23种设计模式-适配器模式与策略模式的区别 #java基础#设计模式]]></title><link>https://blog.youkuaiyun.com/jupiter_windy/article/details/98091769</link><guid>https://blog.youkuaiyun.com/jupiter_windy/article/details/98091769</guid><author>jupiter_windy</author><pubDate>Thu, 01 Aug 2019 19:18:25 +0800</pubDate><description><![CDATA[策略模式：方法的形参为接口对象，实参为接口的实现类

适配器模式：在适配器中定义适配者来辅助实现接口

相似点：都是通过找到已经存在的、运行良好的类来实现接口

不同点：

策略模式 所有的策略都需要暴露出去，由客户端决定使用哪一个策略。

而适配器模式是定义好接口的实现方式以及内部需要引用的类，客户端直接调用适配器的方法



然后以下是简单的模式设计代码：

策略模式 :









...]]></description><category></category></item><item><title><![CDATA[设计模式-原型模式(深拷贝) #java基础#设计模式]]></title><link>https://blog.youkuaiyun.com/jupiter_windy/article/details/97668054</link><guid>https://blog.youkuaiyun.com/jupiter_windy/article/details/97668054</guid><author>jupiter_windy</author><pubDate>Mon, 29 Jul 2019 19:10:55 +0800</pubDate><description><![CDATA[浅拷贝：拷贝了对象的基本数据类型或其封装类，对于内部的数组、引用对象依旧是采用引用的形式；



@Data
public class TestEntity implements Cloneable{
    private String testAid;
    private String testAname;
    private TestEntityB testEntityB;

 ...]]></description><category></category></item><item><title><![CDATA[光 Hikari 数据库使用 基础(springboot 2.0) #spring#springboot#Hikari]]></title><link>https://blog.youkuaiyun.com/jupiter_windy/article/details/95638045</link><guid>https://blog.youkuaiyun.com/jupiter_windy/article/details/95638045</guid><author>jupiter_windy</author><pubDate>Fri, 12 Jul 2019 17:36:38 +0800</pubDate><description><![CDATA[光 Hikari

其实也没啥好写的，都是比较简单的配置， 光这个名字 看上去很帅气

springboot 2.0 依赖

然后 就不需要导hikari的包了 2.0默认数据库 牛B，

yml文件


spring:
 datasource:
  type: com.zaxxer.hikari.HikariDataSource
  driver-class-name: com.mys...]]></description><category></category></item><item><title><![CDATA[tkmybatis基础使用+mybatis generator #工具]]></title><link>https://blog.youkuaiyun.com/jupiter_windy/article/details/95624144</link><guid>https://blog.youkuaiyun.com/jupiter_windy/article/details/95624144</guid><author>jupiter_windy</author><pubDate>Fri, 12 Jul 2019 17:13:31 +0800</pubDate><description><![CDATA[为啥要用tkmybatis :

https://www.cnblogs.com/wz2cool/p/7286377.html

使用流程：

1. pom


&lt;!-- tkmybatis--&gt;   

&lt;dependency&gt;
   &lt;groupId&gt;tk.mybatis&lt;/groupId&gt;
   &...]]></description><category></category></item></channel></rss>