<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[JKjiang123的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/JKjiang123</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; JKjiang123]]></copyright><item><title><![CDATA[java socket客户端 长连接 java socket服务端长连接]]></title><link>https://blog.youkuaiyun.com/JKjiang123/article/details/131942808</link><guid>https://blog.youkuaiyun.com/JKjiang123/article/details/131942808</guid><author>JKjiang123</author><pubDate>Wed, 26 Jul 2023 16:46:51 +0800</pubDate><description><![CDATA[实现 implements CommandLineRunner ，跟随springboot 启动而启动。在 run 中做业务操作。]]></description><category></category></item><item><title><![CDATA[SpringBoot 定时任务 @Scheduled 集群环境优化 (使用分布式锁, 注解形式)]]></title><link>https://blog.youkuaiyun.com/JKjiang123/article/details/131682122</link><guid>https://blog.youkuaiyun.com/JKjiang123/article/details/131682122</guid><author>JKjiang123</author><pubDate>Wed, 12 Jul 2023 15:11:09 +0800</pubDate><description><![CDATA[服务器在执行邮件定时发送任务之前会向redis缓存中写入lock_key即任务锁 表明此服务器正在执行定时任务。核心方法是org.springframework.data.redis.core包下的。在实际开发中由于项目部署在分布式或集群服务器上 会导致定时任务多次触发。定义切面@Aspect, pointCut就是 RedisLock注解。因此，使用redis分布锁机制可以有效避免多次执行定时任务。另一台服务器在写入锁时 由于锁已经存在就不做任何操作。执行定时任务的服务器在执行完成后需释放任务锁。]]></description><category></category></item><item><title><![CDATA[详解 Fastdfs 离线部署]]></title><link>https://blog.youkuaiyun.com/JKjiang123/article/details/128845370</link><guid>https://blog.youkuaiyun.com/JKjiang123/article/details/128845370</guid><author>JKjiang123</author><pubDate>Thu, 02 Feb 2023 10:47:40 +0800</pubDate><description><![CDATA[详解 fastdfs]]></description><category></category></item><item><title><![CDATA[Kafka + zookeeper (ACL)安全认证及权限控制]]></title><link>https://blog.youkuaiyun.com/JKjiang123/article/details/124747894</link><guid>https://blog.youkuaiyun.com/JKjiang123/article/details/124747894</guid><author>JKjiang123</author><pubDate>Fri, 13 May 2022 11:42:22 +0800</pubDate><description><![CDATA[版本：kafka_2.12-2.4.1、apache-zookeeper-3.6.3-bin



一、Zookeeper 配置 SASL

若只关注 kafka 的安全认证，不需要配置 Zookeeper 的 SASL，但 kafka 会在 zk 中存储一些必要的信息，因此 zk 的安全认证也会影响到 kafka

1.1 新建 zoo_jaas.conf 文件

    zoo_jaas.conf 文件名、文件所在路径没有特殊要求，一般放置在${ZOOKEEPER_HOME}...]]></description><category></category></item><item><title><![CDATA[程序员应当具备的素质]]></title><link>https://blog.youkuaiyun.com/JKjiang123/article/details/112261004</link><guid>https://blog.youkuaiyun.com/JKjiang123/article/details/112261004</guid><author>JKjiang123</author><pubDate>Wed, 06 Jan 2021 11:30:00 +0800</pubDate><description><![CDATA[程序员是一种技术工作，在IT的发展中有相当重要的地位，从底层硬件通讯协议的建立，到数据传输层的处理，到操作系统的建设，到数据库平台的建设，一直到应用层上各种数据营销平台的搭建，程序员在里面都扮演着举足轻重的角色并为IT事业的发展做出了巨大的贡献。
 中国有很多精于编码的人，但是中国软件行业，尤其是网络应用开发方面误区很大，很难形成有规模的软件开发力量和产品能力，不但比美国差距甚远，和印度相比也是颇有不如。这些问题不是在于中国程序员的智商和工作努力状况，也不是在于国家和民间对开发的投入程度，而是很大程度...]]></description><category></category></item><item><title><![CDATA[idea  彻底删除项目中子模块]]></title><link>https://blog.youkuaiyun.com/JKjiang123/article/details/106811885</link><guid>https://blog.youkuaiyun.com/JKjiang123/article/details/106811885</guid><author>JKjiang123</author><pubDate>Wed, 17 Jun 2020 16:30:13 +0800</pubDate><description><![CDATA[使用idea打开需要删除的项目，在项目文件上右击选择Remove Module或者按Delete键

	
	
	
	之后会弹出删除提示，“Remove Module 'xxx' from the project? No files will be deleted.”，意思是移除指定模块，但没有文件被删除，就是说，模块移除了，磁盘上的文件还在

	
	
	
	点击确认之后，可以看到列表中还是存在些文件，这些文件是模块之外的文件，上面删除的只是项目的模块

	
	
	
	可以在文件上右击选择Show ...]]></description><category></category></item><item><title><![CDATA[Mysql 事务原理简单分析]]></title><link>https://blog.youkuaiyun.com/JKjiang123/article/details/106740721</link><guid>https://blog.youkuaiyun.com/JKjiang123/article/details/106740721</guid><author>JKjiang123</author><pubDate>Sun, 14 Jun 2020 00:18:17 +0800</pubDate><description><![CDATA[Mysql Innodb中的事务隔离级别

隔离级别
			脏读（Dirty Read）
			不可重复读（NonRepeatable Read）
			幻读（Phantom Read）
		未提交读（Read uncommitted）
			可能
			可能
			可能
		已提交读（Read committed）
			不可能
			可能
			可能
		可重复读（Repeatable read）
			不可能
			不可能
			Innodb中不可能，后面解释
		可串行化（Serializable ]]></description><category></category></item><item><title><![CDATA[Springboot整合log4j2日志 详情解析]]></title><link>https://blog.youkuaiyun.com/JKjiang123/article/details/106524176</link><guid>https://blog.youkuaiyun.com/JKjiang123/article/details/106524176</guid><author>JKjiang123</author><pubDate>Wed, 03 Jun 2020 15:04:42 +0800</pubDate><description><![CDATA[在项目推进中，如果说第一件事是搭Spring框架的话，那么第二件事情就是在Sring基础上搭建日志框架，我想很多人都知道日志对于一个项目的重要性，尤其是线上Web项目，因为日志可能是我们了解应用如何执行的唯一方式。在18年大环境下，更多的企业使用Springboot和Springcloud来搭建他们的企业微服务项目，此篇文章是博主在实践中用Springboot整合log4j2日志的总结。



常用日志框架

java.util.logging：是JDK在1.4版本中引入的Java原生日志框架
	Log4.]]></description><category></category></item><item><title><![CDATA[elasticsearch 基础介绍及使用   （high-level-client）]]></title><link>https://blog.youkuaiyun.com/JKjiang123/article/details/106431222</link><guid>https://blog.youkuaiyun.com/JKjiang123/article/details/106431222</guid><author>JKjiang123</author><pubDate>Fri, 29 May 2020 18:58:16 +0800</pubDate><description><![CDATA[一、ElasticSearch 简介

1、简介
ElasticSearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多员工能力的全文搜索引擎，基于 RESTful web 接口。Elasticsearch 是用 Java 语言开发的，并作为 Apache 许可条款下的开放源码发布，是一种流行的企业级搜索引擎。ElasticSearch 用于云计算中，能够达到实时搜索，稳定，可靠，快速，安装使用方便。
2、特性

 分布式的文档存储引擎
 分布式的搜索引擎和分析引擎
 分...]]></description><category></category></item><item><title><![CDATA[idea 创建 maven 多模块项目]]></title><link>https://blog.youkuaiyun.com/JKjiang123/article/details/106421468</link><guid>https://blog.youkuaiyun.com/JKjiang123/article/details/106421468</guid><author>JKjiang123</author><pubDate>Fri, 29 May 2020 11:07:57 +0800</pubDate><description><![CDATA[一：创建父项目

（1）idea引导页



（2）创建父项目，不需要选择maven插件



（3）完善父项目的maven坐标信息



（4）父项目在电脑上的工作空间信息完善



（5）创建完父项目，修改idea的maven配置，使用自定义的maven





二：创建普通的子模块（未来maven打包达成jar的模块）

（1）点击父项目名字添加Moudule



(2)子模块（jar）的在工作空间的位置完善





三：创建war包项目模块

（1）创建web模块





（2）注意w...]]></description><category></category></item><item><title><![CDATA[定时备份数据库，拷贝文件]]></title><link>https://blog.youkuaiyun.com/JKjiang123/article/details/106362163</link><guid>https://blog.youkuaiyun.com/JKjiang123/article/details/106362163</guid><author>JKjiang123</author><pubDate>Tue, 26 May 2020 18:31:11 +0800</pubDate><description><![CDATA[自动备份数据库，并利用 ftp 拷贝到其他服务器

配置定时执行 cron ， 执行 如下命令


crontab -e

输入如下内容 ：


0 */4 * * * /u01/db/mysql/xiamenbackup/database_mysql_bak.sh 1&gt;&gt; ./log.log 2&gt;&amp;1

日志会输出到 log 文件中

以下是 linux 执行脚本


#!/bin/bash
DATE='date + %Y%m%d%H%M'
DATABASE=ccbcbd
DB_]]></description><category></category></item><item><title><![CDATA[elasticsearch  简单实用介绍]]></title><link>https://blog.youkuaiyun.com/JKjiang123/article/details/106264494</link><guid>https://blog.youkuaiyun.com/JKjiang123/article/details/106264494</guid><author>JKjiang123</author><pubDate>Thu, 21 May 2020 17:57:22 +0800</pubDate><description><![CDATA[Search APIs简介

query: 在请求消息体中的query允许我们用Query DSL的方式查询。
	term: 查询时判断某个document是否包含某个具体的值，不会对被查询的值进行分词查询
	match: 将被查询值进行分词，然后用评分机制(TF/IDF)进行打分
	match_phrase: 查询指定段落
	Bool: 结合其他真值查询，通常和must、should、mustnot(与或非)一起组合出复杂的查询
	range: 查询时指定某个字段在某个特定的范围 （gte：&gt;=；g]]></description><category></category></item><item><title><![CDATA[redis的GEO实战    (RedisTemplate)]]></title><link>https://blog.youkuaiyun.com/JKjiang123/article/details/106000134</link><guid>https://blog.youkuaiyun.com/JKjiang123/article/details/106000134</guid><author>JKjiang123</author><pubDate>Fri, 08 May 2020 16:24:43 +0800</pubDate><description><![CDATA[相关命令

geoadd

时间复杂度为O(log(N))


geoadd cityGeo 116.405285 39.904989 "北京"
geoadd cityGeo 121.472644 31.231706 "上海"


添加经纬度信息
geopos

时间复杂度为O(log(N))


127.0.0.1:6379&gt; geopos cityGeo 北京
1) 1) "116.40...]]></description><category></category></item><item><title><![CDATA[Springboot引入拦截器并放行swagger]]></title><link>https://blog.youkuaiyun.com/JKjiang123/article/details/105676597</link><guid>https://blog.youkuaiyun.com/JKjiang123/article/details/105676597</guid><author>JKjiang123</author><pubDate>Wed, 22 Apr 2020 10:55:36 +0800</pubDate><description><![CDATA[Springboot引入拦截器

自定义的拦截器类 Interceptor




package cn.zytao.taosir.auth.config;
 
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletR...]]></description><category></category></item><item><title><![CDATA[正确、安全地停止SpringBoot应用服务]]></title><link>https://blog.youkuaiyun.com/JKjiang123/article/details/105508402</link><guid>https://blog.youkuaiyun.com/JKjiang123/article/details/105508402</guid><author>JKjiang123</author><pubDate>Tue, 14 Apr 2020 11:33:41 +0800</pubDate><description><![CDATA[引言

Spring Boot，作为Spring框架对“约定优先于配置(Convention Over Configuration)”理念的最佳实践的产物，它能帮助我们很快捷的创建出独立运行、产品级别的基于Spring框架的应用，大部分Spring Boot应用只需要非常少的配置就可以快速运行起来，是一个与微服务(MicroServices)相当契合的微框架。
网络上关于Spring Boot的Q...]]></description><category></category></item><item><title><![CDATA[spring boot 1.5.4 之监控Actuator（十四）]]></title><link>https://blog.youkuaiyun.com/JKjiang123/article/details/105495714</link><guid>https://blog.youkuaiyun.com/JKjiang123/article/details/105495714</guid><author>JKjiang123</author><pubDate>Mon, 13 Apr 2020 19:32:38 +0800</pubDate><description><![CDATA[上一篇：spring boot 1.5.4 整合 druid（十三）



Spring Boot监控Actuator

项目：mybatis-spring-boot为例，源码地址：



spring-boot相关项目源码，

码云地址：https://git.oschina.net/wyait/springboot1.5.4.git

github地址：https://github.com...]]></description><category></category></item><item><title><![CDATA[SpringBoot整合Swagger和Actuator]]></title><link>https://blog.youkuaiyun.com/JKjiang123/article/details/105495654</link><guid>https://blog.youkuaiyun.com/JKjiang123/article/details/105495654</guid><author>JKjiang123</author><pubDate>Mon, 13 Apr 2020 19:29:22 +0800</pubDate><description><![CDATA[前言

本篇文章主要介绍的是SpringBoot整合Swagger(API文档生成框架)和SpringBoot整合Actuator(项目监控)使用教程。

SpringBoot整合Swagger

说明：如果想直接获取工程那么可以直接跳到底部，通过链接下载工程代码。

Swagger 介绍

Swagger 是一套基于 OpenAPI 规范构建的开源工具，可以帮助我们设计、构建、记录以及使用 Re...]]></description><category></category></item><item><title><![CDATA[Linux下Hadoop2.7.1集群环境的搭建（3台为例）]]></title><link>https://blog.youkuaiyun.com/JKjiang123/article/details/103488934</link><guid>https://blog.youkuaiyun.com/JKjiang123/article/details/103488934</guid><author>JKjiang123</author><pubDate>Wed, 11 Dec 2019 11:14:29 +0800</pubDate><description><![CDATA[一、基础环境

在Linux上安装Hadoop之前，需要先安装两个程序：

1.1 安装说明

1. JDK 1.6或更高版本（本文所提到的安装的是jdk1.7）; redHat自带的jdk一般不用，删除后重新装自己需要的

2. SSH(安全外壳协议)，推荐安装MobaXterm_Personal。（功能的，好用）

二、Host配置

由于我搭建Hadoop集群包含三台机器，所以需要修改调整各...]]></description><category></category></item><item><title><![CDATA[让ubuntu18.04开机进入命令行模式或还原]]></title><link>https://blog.youkuaiyun.com/JKjiang123/article/details/103399971</link><guid>https://blog.youkuaiyun.com/JKjiang123/article/details/103399971</guid><author>JKjiang123</author><pubDate>Thu, 05 Dec 2019 10:31:40 +0800</pubDate><description><![CDATA[设置开机进入命令行模式

1、首先我们修改grub文件sudo vim /etc/default/grub

 用#“”注释掉GRUB_CMDLINE_LINUX_DEFAULT="quiet"，修改为GRUB_CMDLINE_LINUX_DEFAULT="text"。
 在这里插入图片描述
 打开GRUB_TERMINAL=console。
 在这里插入图片描述
 ...]]></description><category></category></item><item><title><![CDATA[Ubuntu 18.04设置静态IP]]></title><link>https://blog.youkuaiyun.com/JKjiang123/article/details/103389386</link><guid>https://blog.youkuaiyun.com/JKjiang123/article/details/103389386</guid><author>JKjiang123</author><pubDate>Wed, 04 Dec 2019 16:35:45 +0800</pubDate><description><![CDATA[Ubuntu 18.04设置静态IP

Ubuntu 18.04的网络管理程序改为netplan了，因此配置方式也需要改喽！

查看IP:


ifconfig -a

查看当前的配置文件：


cat /etc/netplan/50-cloud-init.yaml

如果要使用静态IP的话，需要修改为下面的样子：


# This file is generated from informati...]]></description><category></category></item></channel></rss>