<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[u010689849的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/u010689849</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; u010689849]]></copyright><item><title><![CDATA[springboot中整合elasticsearch(基于springboot2.5.4,es版本7.13.2)]]></title><link>https://blog.youkuaiyun.com/u010689849/article/details/120401011</link><guid>https://blog.youkuaiyun.com/u010689849/article/details/120401011</guid><author>u010689849</author><pubDate>Tue, 21 Sep 2021 22:15:07 +0800</pubDate><description><![CDATA[1.新建springboot工程，增加es依赖和配置

pom.xml配置如下：


&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0]]></description><category></category></item><item><title><![CDATA[springboot整合dubbo简易入门]]></title><link>https://blog.youkuaiyun.com/u010689849/article/details/120112099</link><guid>https://blog.youkuaiyun.com/u010689849/article/details/120112099</guid><author>u010689849</author><pubDate>Sun, 05 Sep 2021 12:53:10 +0800</pubDate><description><![CDATA[dubbo官方文档

dubbo是基于rpc的微服务架构

RPC远程过程调用 : Remote Procedure Call Protocol

远程过程调用协议，它是一种通过网络从远程计算机程序上请求服务，而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在，如TCP或UDP，为通信程序之间携带信息数据。在OSI网络通信模型中，RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。

dubbo主要角色

registry

注册中心. 是用于发布和订阅服务的]]></description><category></category></item><item><title><![CDATA[Elasticsearch的安装，Kibana的安装，head插件安装]]></title><link>https://blog.youkuaiyun.com/u010689849/article/details/118443252</link><guid>https://blog.youkuaiyun.com/u010689849/article/details/118443252</guid><author>u010689849</author><pubDate>Sun, 04 Jul 2021 12:12:23 +0800</pubDate><description><![CDATA[对于es的安装官网上相关操作系统和es版本对应关系https://www.elastic.co/cn/support/matrix#matrix_os



安装jdk

jdk可参考https://blog.youkuaiyun.com/u010689849/article/details/100146830?spm=1001.2014.3001.5501

对于es所需要的jdk,官网上也有说明https://www.elastic.co/cn/support/matrix#matrix_jvm



而jdk1.]]></description><category></category></item><item><title><![CDATA[linux下安装mysql和主从配置]]></title><link>https://blog.youkuaiyun.com/u010689849/article/details/117397706</link><guid>https://blog.youkuaiyun.com/u010689849/article/details/117397706</guid><author>u010689849</author><pubDate>Sat, 05 Jun 2021 23:45:11 +0800</pubDate><description><![CDATA[卸载之前的版本

1.查看系统是否安装了mysql


yum list installed | grep mysql

2.如果
]]></description><category></category></item><item><title><![CDATA[MVCC多版本并发控制]]></title><link>https://blog.youkuaiyun.com/u010689849/article/details/117000320</link><guid>https://blog.youkuaiyun.com/u010689849/article/details/117000320</guid><author>u010689849</author><pubDate>Tue, 18 May 2021 20:45:54 +0800</pubDate><description><![CDATA[1.MVCC简介

MVCC，全称Multi-Version Concurrency Control，即多版本并发控制。MVCC是一种并发控制的方法，一般在数据库管理系统中，实现对数据库的并发访问，在编程语言中实现事务内存。

MVCC在MySQL InnoDB中的实现主要是为了提高数据库并发性能，用更好的方式去处理读写冲突，做到即使有读写冲突时，也能做到不加锁，非阻塞并发读。

2.当前读

像select lock in share mode(共享锁), select for update ; upda]]></description><category></category></item><item><title><![CDATA[linux下zookeeper集群部署]]></title><link>https://blog.youkuaiyun.com/u010689849/article/details/116806986</link><guid>https://blog.youkuaiyun.com/u010689849/article/details/116806986</guid><author>u010689849</author><pubDate>Fri, 14 May 2021 23:24:31 +0800</pubDate><description><![CDATA[1.zookeeper介绍

对于zookeeper集群，一般配置为2n+1个，其中n &gt; 0。Zookeeper 集群保证当一个节点宕机时，其他节点会继续提供服务。如果是一个 Follower 宕机，还有 2 台服务器提供访问，因为 Zookeeper 上的数据是有多个副本的，数据并不会丢失； 如果是一个 Leader 宕机，Zookeeper 会选举出新的 Leader。 ZK 集群的机制是只要超过半数的节点正常，集群就能正常提供服务。只有在ZK节点挂得太多，只剩一半或不到一半节点能工作，集群才失]]></description><category></category></item><item><title><![CDATA[redis的持久化方式]]></title><link>https://blog.youkuaiyun.com/u010689849/article/details/115533219</link><guid>https://blog.youkuaiyun.com/u010689849/article/details/115533219</guid><author>u010689849</author><pubDate>Sat, 10 Apr 2021 15:21:29 +0800</pubDate><description><![CDATA[1.持久化流程

客户端向服务端发送写操作(数据在客户端的内存中)。
	数据库服务端接收到写请求的数据(数据在服务端的内存中)。
	服务端调用write这个系统调用，将数据往磁盘上写(数据在系统内存的缓冲区中)。
	操作系统将缓冲区中的数据转移到磁盘控制器上(数据在磁盘缓存中)。
	磁盘控制器将数据写到磁盘的物理介质中(数据真正落到磁盘上)。
Redis数据库发生故障，只要在上面的第三步执行完毕，那么就可以持久化保存，剩下的两步由操作系统替我们完成。操作系统发生故障，必须上面5步都完成才可以。在这里只考虑了]]></description><category></category></item><item><title><![CDATA[RabbitMQ消息的可靠性投递和接收]]></title><link>https://blog.youkuaiyun.com/u010689849/article/details/115382792</link><guid>https://blog.youkuaiyun.com/u010689849/article/details/115382792</guid><author>u010689849</author><pubDate>Sun, 04 Apr 2021 09:12:18 +0800</pubDate><description><![CDATA[在rabbitmq中，作为消息的发送方希望杜绝任何的消息丢失或投递失败的场景。RabbitMQ为我们提供了两种方式来控制消息的投递可靠性模式。

confirm 确认模式
	return 回退模式
rabbitmq中消息发送路径为：producer 》 borker 》exchange 》 queue 》consumer

消息从producer到exchange会返回一个confirmCallback回调函数（不管发送成功或失败都会回调，只是返回的值是false和true的区别），从exchange到q.]]></description><category></category></item><item><title><![CDATA[rabbitmq基本使用和springboot整合]]></title><link>https://blog.youkuaiyun.com/u010689849/article/details/115281140</link><guid>https://blog.youkuaiyun.com/u010689849/article/details/115281140</guid><author>u010689849</author><pubDate>Thu, 01 Apr 2021 19:41:49 +0800</pubDate><description><![CDATA[1.mq简介

MQ全称为Message Queue，消息队列是应用程序和应用程序之间的通信方法。 在项目中，可将一些无需即时返回且耗时的操作提取出来，进行异步处理，而这种异步处理的方式大大的节省了服务器的请求响应时间，从而提高了系统的吞吐量。

应用场景：

1、任务异步处理

将不需要同步处理的并且耗时长的操作由消息队列通知消息接收方进行异步处理。提高了应用程序的响应时间。

2.应用程序解耦合

MQ相当于一个中介，生产方通过MQ与消费方交互，它将应用程序进行解耦合。 例如大数据处理中，主要项目为Ja]]></description><category></category></item><item><title><![CDATA[linux下安装和部署rabbitMq]]></title><link>https://blog.youkuaiyun.com/u010689849/article/details/115271856</link><guid>https://blog.youkuaiyun.com/u010689849/article/details/115271856</guid><author>u010689849</author><pubDate>Mon, 29 Mar 2021 19:23:27 +0800</pubDate><description><![CDATA[1.官网下载

rabbitmq官网



当前使用的CentOS7,所以下载第二个。

rabbitmq需要erlang和socat支持。



点击supported....可以看到需下载对应版本。

这里下载的elang是erlang-23.3-2.el7.x86_64.rpm

2.安装rabbitmq

安装依赖环境：


yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c]]></description><category></category></item><item><title><![CDATA[rabbitmq-plugins enable rabbitmq_management出现{:query, :rabbit@CentOS7, {:badrpc, :timeout}}修改主机名]]></title><link>https://blog.youkuaiyun.com/u010689849/article/details/115274256</link><guid>https://blog.youkuaiyun.com/u010689849/article/details/115274256</guid><author>u010689849</author><pubDate>Sun, 28 Mar 2021 00:05:39 +0800</pubDate><description><![CDATA[需设置/etc/hosts文件中的hostname

1.首先查看hostname,输入命令：hostnamectl



2.修改/etc/hosts,输入命令：vi/etc/hosts



3.进入rabbitmq-plugins所在目录，执行：rabbitmq-plugins enable rabbitmq_management



参考https://blog.youkuaiyun.com/u014135369/article/details/112734524
...]]></description><category></category></item><item><title><![CDATA[Java线程锁机制是什么样的？偏向锁、轻量级锁、重量级锁有什么区别？锁机制是如何升级的]]></title><link>https://blog.youkuaiyun.com/u010689849/article/details/115005662</link><guid>https://blog.youkuaiyun.com/u010689849/article/details/115005662</guid><author>u010689849</author><pubDate>Sat, 20 Mar 2021 12:58:09 +0800</pubDate><description><![CDATA[Java线程锁机制

新建maven工程导入如下包：


&lt;dependency&gt;
     &lt;groupId&gt;org.openjdk.jol&lt;/groupId&gt;
     &lt;artifactId&gt;jol-core&lt;/artifactId&gt;
     &lt;version&gt;0.10&lt;/version&gt;
&lt;/dependency&gt;

执行如下代码：


public class Demo1 {

    public ]]></description><category></category></item><item><title><![CDATA[webSocket入门基本使用和与springBoot的整合使用]]></title><link>https://blog.youkuaiyun.com/u010689849/article/details/112389275</link><guid>https://blog.youkuaiyun.com/u010689849/article/details/112389275</guid><author>u010689849</author><pubDate>Sat, 09 Jan 2021 16:45:40 +0800</pubDate><description><![CDATA[1.webSocket简介

WebSocket 是HTML5一种新的协议(它是一个协议)。它实现了客户端和服务端的全双工通信。它是一种在单个TCP连接上进行全双工通讯协议。Websocket通信协议与2011年倍IETF定为标准RFC 6455，Websocket API被W3C定为标准。



2.webSocket和http的区别

2.1http

http协议是短连接，因为请求之后，都会关闭连接，下次重新请求数据，需要再次打开链接。HTTP的生命周期通过Request来界定，也就是一个Reque.]]></description><category></category></item><item><title><![CDATA[仿springmvc功能实现]]></title><link>https://blog.youkuaiyun.com/u010689849/article/details/109272567</link><guid>https://blog.youkuaiyun.com/u010689849/article/details/109272567</guid><author>u010689849</author><pubDate>Sun, 25 Oct 2020 14:54:57 +0800</pubDate><description><![CDATA[1.注解定义


	Autowired注解
	

@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Autowired {

    boolean required() default true;
}

Controller注解

@Documented
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNT]]></description><category></category></item><item><title><![CDATA[oracle锁表问题解决]]></title><link>https://blog.youkuaiyun.com/u010689849/article/details/108808411</link><guid>https://blog.youkuaiyun.com/u010689849/article/details/108808411</guid><author>u010689849</author><pubDate>Sat, 26 Sep 2020 10:04:46 +0800</pubDate><description><![CDATA[查看是哪个session引起的


select b.username,b.sid,b.serial#,logon_time  
from v$locked_object a,v$session b  
where a.session_id = b.sid order by b.logon_time;  


根据查找的sid和serial执行如下语句:


alter   system    kill   session  'sid,serial#'; 


原文:https://blog.csdn.ne]]></description><category></category></item><item><title><![CDATA[jmap的使用以及内存溢出分析]]></title><link>https://blog.youkuaiyun.com/u010689849/article/details/108173920</link><guid>https://blog.youkuaiyun.com/u010689849/article/details/108173920</guid><author>u010689849</author><pubDate>Sat, 22 Aug 2020 21:35:56 +0800</pubDate><description><![CDATA[jmap命令主要作用是内存使用情况的汇总、对内存溢出的定位与分析。





1.查看内存使用情况

首先使用jps查找进程(这里启动了tomcat)



再输入命令 ： jmap -heap 1940



Heap Configuration: 堆内存配置信息

Heap Usage: 堆内存的使用情况

PS Young Generation ：年轻代

PS Old Generation ：年老代



2.查看内存中对象数量及大小

2.1查看所有对象，包括活跃以及非活跃的：

jmap...]]></description><category></category></item><item><title><![CDATA[基于jwt的 Token Auth 认证方式的基本使用]]></title><link>https://blog.youkuaiyun.com/u010689849/article/details/107143753</link><guid>https://blog.youkuaiyun.com/u010689849/article/details/107143753</guid><author>u010689849</author><pubDate>Thu, 09 Jul 2020 20:45:17 +0800</pubDate><description><![CDATA[1.jwt简介

JSON Web Token（JWT）是一个非常轻巧的规范。这个规范允许我们使用JWT在用户和服务器之间传递安全可靠的 信息。在Java世界中通过JJWT实现JWT创建和验证。

2.jjwt的入门使用

2.1token的创建和解析

2.1.1引入依赖


&lt;dependency&gt;
    &lt;groupId&gt;io.jsonwebtoken&lt;/groupId&gt;
	&lt;artifactId&gt;jjwt&lt;/artifactId&gt;
	&.]]></description><category></category></item><item><title><![CDATA[JVM的内存模型]]></title><link>https://blog.youkuaiyun.com/u010689849/article/details/107049683</link><guid>https://blog.youkuaiyun.com/u010689849/article/details/107049683</guid><author>u010689849</author><pubDate>Tue, 30 Jun 2020 21:20:40 +0800</pubDate><description><![CDATA[1.jdk1.7的内存模型



Young 年轻区（代）
Young区被划分为三部分，Eden区和两个大小严格相同的Survivor区，其中，Survivor区间中，某一时刻只有 其中一个是被使用的，另外一个留做垃圾收集时复制对象用，在Eden区间变满的时候， GC就会将存活的对 象移到空闲的Survivor区间中，根据JVM的策略，在经过几次垃圾收集后，任然存活于Survivor的对象将被移 动到Tenured区间。

Tenured 年老区
Tenured区主要保存生命周期长的对象，一般是一些老的对.]]></description><category></category></item><item><title><![CDATA[JVM调优的运行参数的使用和jvm监控]]></title><link>https://blog.youkuaiyun.com/u010689849/article/details/106871697</link><guid>https://blog.youkuaiyun.com/u010689849/article/details/106871697</guid><author>u010689849</author><pubDate>Sun, 21 Jun 2020 12:31:05 +0800</pubDate><description><![CDATA[1.什么情况下要进行JVM优化

1.运行的应用“卡住了”，日志不输出，程序没有反应

2.服务器的CPU负载突然升高

3.多线程运行下如何分配线程数量，并不是线程分配的越多程序执行效率越高

等等。

2.JVM的运行参数

2.1JVM的三种参数

JVM的参数分为三种类型分别是：


	标准参数：
	
标准参数一般都是很稳定的，在JVM未来的版本中不会改变

      -help

      -version

使用java -help检索出所有的标准参数



j...]]></description><category></category></item><item><title><![CDATA[LocalDate和LocalDateTime使用DateTimeFormatter的解析不同格式的问题]]></title><link>https://blog.youkuaiyun.com/u010689849/article/details/106794364</link><guid>https://blog.youkuaiyun.com/u010689849/article/details/106794364</guid><author>u010689849</author><pubDate>Tue, 16 Jun 2020 20:33:25 +0800</pubDate><description><![CDATA[LocalDate和LocalDateTime一个是带时间一个不带时间，正常情况下一般的使用如下：


DateTimeFormatter dtf3 = DateTimeFormatter.ofPattern("yyyyMMdd");
LocalDate localDate1 = LocalDate.parse("20200228", dtf3);
System.out.println(localDate1.format(dtf3));
		
DateTimeFormatter dtf4 = DateTim]]></description><category></category></item></channel></rss>