<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[water_java的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/water_java</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; water_java]]></copyright><item><title><![CDATA[windows下搭建sonarqube环境]]></title><link>https://blog.youkuaiyun.com/water_java/article/details/116784934</link><guid>https://blog.youkuaiyun.com/water_java/article/details/116784934</guid><author>water_java</author><pubDate>Fri, 14 May 2021 14:25:15 +0800</pubDate><description><![CDATA[windows下搭建sonarqube环境一、sonarqube简介二、安装sonarqube三、配置插件
一、sonarqube简介
SonarQube 是一款用于代码质量管理的开源工具，它主要用于管理源代码的质量。 通过插件形式，可以支持众多计算机语言，比如 java, C#, go，C/C++, PL/SQL, Cobol, JavaScrip, 等。
Sonar 不仅提供了对 IDE 的支持，可以在 Eclipse和 IntelliJ IDEA 这些工具里联机查看结果；同时 Sonar 还对大量的持]]></description><category></category></item><item><title><![CDATA[Linux常用操作指令]]></title><link>https://blog.youkuaiyun.com/water_java/article/details/106761899</link><guid>https://blog.youkuaiyun.com/water_java/article/details/106761899</guid><author>water_java</author><pubDate>Tue, 16 Jun 2020 15:44:31 +0800</pubDate><description><![CDATA[Linux常用操作指令磁盘cd命令ls命令pwd 命令mkdir 命令rmdir 命令文件，目录mv 命令cp 命令rm 命令find 命令mdir 命令cat 命令tac命令touch命令head命令tail 命令sed 命令wc命令more 命令less命令
磁盘
cd命令
cd [目录名]
（1）进入要目录
   cd / 

（2）进入 “home” 目录
   cd ~ 

（3）进入上一次工作路径
cd - 

（4）把上个命令的参数作为cd参数使用。
   cd !$

ls命令
就是 lis]]></description><category></category></item><item><title><![CDATA[3d相册]]></title><link>https://blog.youkuaiyun.com/water_java/article/details/106678231</link><guid>https://blog.youkuaiyun.com/water_java/article/details/106678231</guid><author>water_java</author><pubDate>Sun, 14 Jun 2020 00:13:31 +0800</pubDate><description><![CDATA[&lt;!DOCTYPE html&gt;
&lt;html&gt;
	&lt;head&gt;
		&lt;meta charset="utf-8" /&gt;
		&lt;title&gt;3d相册&lt;/title&gt;
	&lt;/head&gt;
	&lt;style&gt;
		#box1 {
			/* 宽 */
			width: 300px;
			/* 高 */
			height: 300px;
			/* 边框 */
			border: 1px solid black;
			]]></description><category></category></item><item><title><![CDATA[Java实现几种常见排序方法]]></title><link>https://blog.youkuaiyun.com/water_java/article/details/105942506</link><guid>https://blog.youkuaiyun.com/water_java/article/details/105942506</guid><author>water_java</author><pubDate>Wed, 06 May 2020 00:57:53 +0800</pubDate><description><![CDATA[Java实现几种常见排序方法一、冒泡排序二、快速排序三、选择排序四、插入排序五、归并排序六、二分排序七、希尔排序九、基数排序十、计数排序
日常操作中常见的排序方法有：冒泡排序、快速排序、选择排序、插入排序、希尔排序，甚至还有基数排序、归并排序、二分排序、堆排序、计数排序等。
以下常见算法的定义:


插入排序：插入排序基本操作就是将一个数据插入到已经排好序的有序数据中，从而得到一个新的、个数加一的...]]></description><category></category></item><item><title><![CDATA[java的常见数据结构]]></title><link>https://blog.youkuaiyun.com/water_java/article/details/105942205</link><guid>https://blog.youkuaiyun.com/water_java/article/details/105942205</guid><author>water_java</author><pubDate>Wed, 06 May 2020 00:48:45 +0800</pubDate><description><![CDATA[java的常见数据结构1,数组2,链表3,栈和队列栈队列4,二叉树5,堆和堆栈6,散列表7,红黑树
1,数组
数组是一种连续存储线性结构，元素类型相同，大小相等，数组是多维的，通过使用整型索引值来访问他们的元素，数组尺寸不能改变。
数组的优点：
存取速度快
数组的缺点：
事先必须知道数组的长度
插入删除元素很慢
空间通常是有限制的
需要大块连续的内存块
插入删除元素的效率很低
2,链表
n个节点离...]]></description><category></category></item><item><title><![CDATA[Git实现代码及版本管理]]></title><link>https://blog.youkuaiyun.com/water_java/article/details/105205895</link><guid>https://blog.youkuaiyun.com/water_java/article/details/105205895</guid><author>water_java</author><pubDate>Mon, 30 Mar 2020 19:15:28 +0800</pubDate><description><![CDATA[Git实现代码及版本管理Git分支介绍及命名规范分支用途分支策略标签四个环境分支与标签的关系dev/test/pre/pro环境切换分支相关命令pull拉取远程指定分支push推送到远程指定分支分支打tag
Git分支介绍及命名规范
分支用途


开发多个项目任务:比如说我有两个任务都比较紧急，任务a需要三天完成，任务b需要两天完成，而任务a是之前就已经开始进行的，任务b是中间加的新任务，所以需要...]]></description><category></category></item><item><title><![CDATA[Mybatis下的九种设计模式]]></title><link>https://blog.youkuaiyun.com/water_java/article/details/105016124</link><guid>https://blog.youkuaiyun.com/water_java/article/details/105016124</guid><author>water_java</author><pubDate>Sat, 21 Mar 2020 20:23:08 +0800</pubDate><description><![CDATA[Mybatis下的九种设计模式1、Builder模式2、工厂模式3、单例模式4、代理模式5、组合模式6、模板方法模式7、适配器模式8、装饰者模式9、迭代器模式
Mybatis至少遇到了以下的设计模式的使用：
1、Builder模式，例如SqlSessionFactoryBuilder、XMLConfigBuilder、XMLMapperBuilder、XMLStatementBuilder、Cac...]]></description><category></category></item><item><title><![CDATA[对数据库事务的理解]]></title><link>https://blog.youkuaiyun.com/water_java/article/details/104986110</link><guid>https://blog.youkuaiyun.com/water_java/article/details/104986110</guid><author>water_java</author><pubDate>Fri, 20 Mar 2020 11:29:39 +0800</pubDate><description><![CDATA[对数据库事务的理解定义事务四大特征(ACID)原子性（Atomicity）：事务是最小单位，不可再分一致性（Consistency）：事务要求所有的DML语句操作的时候，必须保证同时成功或者同时失败隔离性（Isolation）：事务A和事务B之间具有隔离性隔离级别持续性（Durability）：是事务的保证，事务终结的标志(内存的数据持久到硬盘文件中)关于事务的术语
定义

用户一系列的数据库操作...]]></description><category></category></item><item><title><![CDATA[mysql存储引擎的理解]]></title><link>https://blog.youkuaiyun.com/water_java/article/details/104985453</link><guid>https://blog.youkuaiyun.com/water_java/article/details/104985453</guid><author>water_java</author><pubDate>Fri, 20 Mar 2020 11:07:40 +0800</pubDate><description><![CDATA[mysql存储引擎的理解1、什么是存储引擎？2、MySql存储引擎介绍（基于MySQL5.6.16）INNODBTOKUDBCSVBLACKHOLESPHINXMEMORYARCHIVEMYISAMMRG_MYISAMPERFORMANCE_SCHEMA
1、什么是存储引擎？
MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平...]]></description><category></category></item><item><title><![CDATA[nginx动静分离]]></title><link>https://blog.youkuaiyun.com/water_java/article/details/104709914</link><guid>https://blog.youkuaiyun.com/water_java/article/details/104709914</guid><author>water_java</author><pubDate>Sat, 07 Mar 2020 12:14:46 +0800</pubDate><description><![CDATA[nginx的动静分离实现静态分离
在项目中通常会使用到大量的css,js,img等静态资源文件
不管是传统项目还是spa项目都是如此，需要将静态资源文件引入

nodejs1和nodejs2都要引入相同的静态资源，后续如果要做服务器水平扩展时，nodejs3,nodejs4都需要引入相同的静态资源，浪费服务器资源
动静分离原理图：
tomcat1，tomcat2存放的是处理动态请求的文件

实现静...]]></description><category></category></item><item><title><![CDATA[Nginx负载均衡]]></title><link>https://blog.youkuaiyun.com/water_java/article/details/104680927</link><guid>https://blog.youkuaiyun.com/water_java/article/details/104680927</guid><author>water_java</author><pubDate>Thu, 05 Mar 2020 21:20:23 +0800</pubDate><description><![CDATA[Nginx负载均衡nginx负载均衡负载均衡的实现负载均衡策略
nginx负载均衡


负载均衡的实现
宿主机里home目录下新建tomcat1和tomcat2目录，复制容器里conf,webapps到宿主机
docker cp  b3c0449a618e:/usr/local/tomcat/conf  /home/tomcat1/
docker cp  b3c0449a618e:/usr/loc...]]></description><category></category></item><item><title><![CDATA[Nginx入门]]></title><link>https://blog.youkuaiyun.com/water_java/article/details/104677183</link><guid>https://blog.youkuaiyun.com/water_java/article/details/104677183</guid><author>water_java</author><pubDate>Thu, 05 Mar 2020 17:04:55 +0800</pubDate><description><![CDATA[Nginx负载均衡nginx简介基于Docker安装以及运行Nginx原理以及配置文件讲解配置文件介绍挂载容器目录启动nginx容器
nginx简介
Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的。从2004年发布至今，凭借开源的力量，已经接近成熟与完善。
Nginx功能:

可作为HTTP服务器
可作为反向代理服务器
可作为邮件服务器
支持FastCGI...]]></description><category></category></item><item><title><![CDATA[RabbitMQ整合 SpringCloud]]></title><link>https://blog.youkuaiyun.com/water_java/article/details/104634884</link><guid>https://blog.youkuaiyun.com/water_java/article/details/104634884</guid><author>water_java</author><pubDate>Wed, 04 Mar 2020 17:03:47 +0800</pubDate><description><![CDATA[RabbitMQ整合 SpringCloud消费端核心配置@RabbitListener注解的使用
在发送消息的时候对template进行配置mandatory=true保证监听有效
生产端还可以配置其他属性，比如发送重试，超时时间、次数、间隔等
消费端核心配置

首先配置手工确认模式，用于ACK的手工处理，这样我们可以保证消息的可靠性送达，或者在消费端消费失败的时候可以做到重回队列、根据业务记录...]]></description><category></category></item><item><title><![CDATA[RabbitMQ的消息模式2]]></title><link>https://blog.youkuaiyun.com/water_java/article/details/104615671</link><guid>https://blog.youkuaiyun.com/water_java/article/details/104615671</guid><author>water_java</author><pubDate>Mon, 02 Mar 2020 19:16:01 +0800</pubDate><description><![CDATA[RabbitMQ的消息模式21、消费端限流消费端限流RabbitMQ提供的解决方案2、消息的ACK与重回队列消费端手工ACK与NACK消费端的重回队列3、TTL消息4、死信队列死信队列：DLX，Dead-Letter-Exchange消息变成死信的几种情况死信队列的特点死信队列设置
1、消费端限流
假设一个场景，首先，我们RabbitMQ服务器有上万条未处理的消息，我们随便打开一个消费者客户端，会...]]></description><category></category></item><item><title><![CDATA[RabbitMQ的消息模式]]></title><link>https://blog.youkuaiyun.com/water_java/article/details/104558340</link><guid>https://blog.youkuaiyun.com/water_java/article/details/104558340</guid><author>water_java</author><pubDate>Sat, 29 Feb 2020 11:53:58 +0800</pubDate><description><![CDATA[RabbitMQ的消息模式1、消息保证100%的投递2、幂等性概念3、Confirm确认消息4、Return返回消息5、自定义消费者
1、消息保证100%的投递
生产端的可靠性投递
1,保障消息的成功发出
2,保障MQ节点的成功接收
3,发送端收到MQ节点（Broker）确认应答
4,善的消息进行补偿机制
BAT/TMD互联网大厂的解决方案
1,消息落库，对消息状态进行打标

流程：

第1步：将...]]></description><category></category></item><item><title><![CDATA[RabbitMQ的初步使用与交换机]]></title><link>https://blog.youkuaiyun.com/water_java/article/details/104550702</link><guid>https://blog.youkuaiyun.com/water_java/article/details/104550702</guid><author>water_java</author><pubDate>Fri, 28 Feb 2020 12:11:45 +0800</pubDate><description><![CDATA[RabbitMQ的初步使用与交换机RabbitMQ的初步使用交换机直流交换机主题交换机输出交换机
RabbitMQ的初步使用
消息生产与消费
ConnectionFactory：获取连接工厂
Connection：一个链接
Channel：数据通信通道，课发送和接收消息
Queue：具体的消息存储队列
Producer ：生产者
Consumer：消费者
创建一个springboot项目
导入ra...]]></description><category></category></item><item><title><![CDATA[RabbitMQ入门]]></title><link>https://blog.youkuaiyun.com/water_java/article/details/104513809</link><guid>https://blog.youkuaiyun.com/water_java/article/details/104513809</guid><author>water_java</author><pubDate>Wed, 26 Feb 2020 17:09:06 +0800</pubDate><description><![CDATA[RabbitMQ入门消息中间件ActiveMQKafkaRocketMQRabbitMQ初识RabbitMQ哪些大厂在用RabbitMQ,为什么？RabbitMQ高性能的原因是什么？什么是AMQP高级消息队列协议？AMQP核心概念RabbitMQ安装Centos安装Docker安装常用操作命令命令行与管控台-基础操作命令行与管控台-高级操作
消息中间件
消息中间件的作用，以用户下单处理为例来体现：...]]></description><category></category></item><item><title><![CDATA[Docker的网络配置]]></title><link>https://blog.youkuaiyun.com/water_java/article/details/104456596</link><guid>https://blog.youkuaiyun.com/water_java/article/details/104456596</guid><author>water_java</author><pubDate>Wed, 26 Feb 2020 09:08:22 +0800</pubDate><description><![CDATA[Docker的网络配置1、Docker网络配置Docker网络模式介绍1.bridge模式(默认模式)2.host模式3.container模式4.none模式5.跨主机通信外部访问docker容器1 .bridge模式2.host模式3.相关命令4.网桥查看工具bridge-utils2、Docker部署SpringCloud项目docker部署springcloud1.宿主机修改hosts文件...]]></description><category></category></item><item><title><![CDATA[alpine制作镜像]]></title><link>https://blog.youkuaiyun.com/water_java/article/details/104389419</link><guid>https://blog.youkuaiyun.com/water_java/article/details/104389419</guid><author>water_java</author><pubDate>Wed, 26 Feb 2020 09:06:57 +0800</pubDate><description><![CDATA[alpine制作镜alpine Linux简介基于alpine制作JDK8镜像Alpine制作jre镜像Docker镜像上传至阿里云前期准备忘记密码可以点击菜单：“容器镜像服务”-&gt;“默认实例”--&gt;“访问凭证”进行修改pull(拉)镜像
alpine Linux简介
1.Alpine Linux是一个轻型Linux发行版，它不同于通常的Linux发行版（centos、Ubuntu），...]]></description><category></category></item><item><title><![CDATA[Dockerfile自定义镜像]]></title><link>https://blog.youkuaiyun.com/water_java/article/details/104371254</link><guid>https://blog.youkuaiyun.com/water_java/article/details/104371254</guid><author>water_java</author><pubDate>Tue, 18 Feb 2020 12:20:03 +0800</pubDate><description><![CDATA[Dockerfile自定义镜像1、Dockerfile简介2、Docker制作jdk镜像(案例)
1、Dockerfile简介
dockerfile 是一个文本格式的配置文件， 用户可以使用 Dockerfile 来快速创建自定义的镜像，
另外，使用Dockerfile去构建镜像好比使用pom去构建maven项目一样，有异曲同工之妙

dockerfile基本结构
Dockerfile 由一行行命...]]></description><category></category></item></channel></rss>