<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[xuguoxing123的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/xuguoxing123</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; xuguoxing123]]></copyright><item><title><![CDATA[shell脚本定义特殊字符导致执行mysql文件错误的问题]]></title><link>https://blog.youkuaiyun.com/xuguoxing123/article/details/144673240</link><guid>https://blog.youkuaiyun.com/xuguoxing123/article/details/144673240</guid><author>xuguoxing123</author><pubDate>Mon, 23 Dec 2024 17:38:15 +0800</pubDate><description><![CDATA[经过排查验证，通过mysql客户端验证密码是正确的，但是通过我们提供的sh脚本执行时却一直报错，最后排查到是shell脚本将特殊字符转义导致运行失败了，例子如下：（定义一个变量并且输出）由于现场一线人员设置的密码比较复杂，因此。通过执行上述脚本，会发现字符串中后面的$!，最后在执行sh脚本的时候频繁报。]]></description><category></category></item><item><title><![CDATA[Linux服务器上安装JDK1.8]]></title><link>https://blog.youkuaiyun.com/xuguoxing123/article/details/144591398</link><guid>https://blog.youkuaiyun.com/xuguoxing123/article/details/144591398</guid><author>xuguoxing123</author><pubDate>Thu, 19 Dec 2024 18:47:46 +0800</pubDate><description><![CDATA[如果异常，请检查/etc/profile是否有保存，保存之后是否有刷新配置，或者检查环境变量中配置的路径是否与自己的本地路径一致。将以下信息添加到环境变量的底部即可：（可以按shift+G切换到编辑文件的底部）注：此处是再root用户下进行安装，如果需要切换到普通用户，请可以自行操作。注：该用法源自于其他博客，主要是配置免用户验证操作。执行出现以下结果说明安装成功。4、刷新环境变量并且使其生效。1、将安装包移到指定目录下。3、配置系统环境变量。5、验证是否安装成功。]]></description><category></category></item><item><title><![CDATA[Mysql面试笔记汇总——索引结构基础篇]]></title><link>https://blog.youkuaiyun.com/xuguoxing123/article/details/127332961</link><guid>https://blog.youkuaiyun.com/xuguoxing123/article/details/127332961</guid><author>xuguoxing123</author><pubDate>Sun, 06 Nov 2022 23:00:51 +0800</pubDate><description><![CDATA[在面试到mysql调优时，有一个常问的案例就是针对慢查询时你要怎么去优化，其中经常会提到的就是建索引，那么索引是什么？为什么建索引就能优化mysql查询效率？索引又是怎么去加快mysql查询效率等问题，带着这些疑问进入本章主题。]]></description><category></category></item><item><title><![CDATA[Redis面试汇总笔记]]></title><link>https://blog.youkuaiyun.com/xuguoxing123/article/details/127149034</link><guid>https://blog.youkuaiyun.com/xuguoxing123/article/details/127149034</guid><author>xuguoxing123</author><pubDate>Mon, 03 Oct 2022 11:06:05 +0800</pubDate><description><![CDATA[在两个月前的学习中，我看过一个redis相关的讲解视频，是一个叫诸葛的老师，其中分为几层进行讲述，分别是数据类型、分布式锁、redis常见问题等。当时有记录一些内容，下面将按照顺序进行分享。]]></description><category></category></item><item><title><![CDATA[解释 i = i++为什么等于本身的问题——JVM内存模型学习笔记]]></title><link>https://blog.youkuaiyun.com/xuguoxing123/article/details/125693603</link><guid>https://blog.youkuaiyun.com/xuguoxing123/article/details/125693603</guid><author>xuguoxing123</author><pubDate>Wed, 13 Jul 2022 10:31:02 +0800</pubDate><description><![CDATA[本文为个人学习时汇总的内容，主要为解释i = i++为何等于本身的问题，并且结合反汇编源码指令和执行流程图分析其中的缘由，以做到更好的理解相关类型的运算。希望能帮助到有需要的人，谢谢......]]></description><category></category></item><item><title><![CDATA[Java实现手动操作定时任务功能的简单例子（动态创建定时任务）]]></title><link>https://blog.youkuaiyun.com/xuguoxing123/article/details/125436461</link><guid>https://blog.youkuaiyun.com/xuguoxing123/article/details/125436461</guid><author>xuguoxing123</author><pubDate>Tue, 28 Jun 2022 12:06:37 +0800</pubDate><description><![CDATA[本文是想通过Java来实现一个简单的动态创建定时任务例子，以便个人能了解ThreadPoolTaskScheduler和ScheduledFuture相关的用法，下面将以一个“提醒业务”的功能展开说明。]]></description><category></category></item><item><title><![CDATA[Linux下Nginx代理服务转发不同数据库连接端口的实现与总结]]></title><link>https://blog.youkuaiyun.com/xuguoxing123/article/details/122146415</link><guid>https://blog.youkuaiyun.com/xuguoxing123/article/details/122146415</guid><author>xuguoxing123</author><pubDate>Sat, 25 Dec 2021 23:23:49 +0800</pubDate><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;考虑到个人服务器的安全性问题，一般来说都不会直接对外开放相关服务的默认端口值，比如MySQL的3306端口，SQL Server的1433端口等，因此我们可以在服务器上安装nginx服务，然后代理一个独立端口值进行访问即可。
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;具体做法可以打开nginx安装目录下的conf文件夹，编辑nginx.conf文件，添加如下：
stream {
  ]]></description><category></category></item><item><title><![CDATA[上传文件时报413 Request Entity Too Large的问题]]></title><link>https://blog.youkuaiyun.com/xuguoxing123/article/details/121612610</link><guid>https://blog.youkuaiyun.com/xuguoxing123/article/details/121612610</guid><author>xuguoxing123</author><pubDate>Mon, 29 Nov 2021 16:51:11 +0800</pubDate><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;针对这个问题，我们可以发现在本地开发测试的时候，不会出现什么问题，但在部署生产环境时，会提示如下错误：

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;根据上图的内容，我们可以看到这个错误是跟nginx服务。据个人了解，nginx默认的请求body大小为1M，由于 当前上传的文件 比 nginx默认长度 大，导致该错误的产生。因此我们只需要在 nginx.conf 配置文件下的 http]]></description><category></category></item><item><title><![CDATA[Ureport2在Nginx代理下访问时出现Handler [t] not exist报错的解决方法]]></title><link>https://blog.youkuaiyun.com/xuguoxing123/article/details/120666480</link><guid>https://blog.youkuaiyun.com/xuguoxing123/article/details/120666480</guid><author>xuguoxing123</author><pubDate>Sat, 09 Oct 2021 13:49:06 +0800</pubDate><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这个问题在很久之前就已经解决的，今天刚好有空，就分享一下具体的解决办法，希望能帮忙到各位！
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;该问题主要是Ureport2在集成到SpringBoot项目时，会根据当前

...]]></description><category></category></item><item><title><![CDATA[通过Kettle工具解析Json接口数据并且保存到数据库中的详细操作]]></title><link>https://blog.youkuaiyun.com/xuguoxing123/article/details/116049204</link><guid>https://blog.youkuaiyun.com/xuguoxing123/article/details/116049204</guid><author>xuguoxing123</author><pubDate>Sat, 05 Jun 2021 10:18:28 +0800</pubDate><description><![CDATA[最近接到一个业务需求，就是要把一个Json接口数据获取下来并且保存到数据库中，考虑到应用代码实现功能需要耗费一定时间和精力，效率不高，于是就选择利用Kettle工具来实现这个业务功能，具体操作如下：
（一）首先

...]]></description><category></category></item><item><title><![CDATA[vue通过el-select下拉框选择成功时不显示，当填写其他内容时，才显示的问题]]></title><link>https://blog.youkuaiyun.com/xuguoxing123/article/details/115338969</link><guid>https://blog.youkuaiyun.com/xuguoxing123/article/details/115338969</guid><author>xuguoxing123</author><pubDate>Tue, 30 Mar 2021 23:49:53 +0800</pubDate><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;最近在实际开发应用中遇到这么一个问题，如下所示：

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当选择“计算机科学与技术”的时候，此时并不会展示已经选择的内容，也不会触发任何事件，当填写其他内容时，已选择的内容就能展示出来，如下图所示：

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;我的下拉选择框的代码的写法是这样子的：

&nbsp;&nbsp]]></description><category></category></item><item><title><![CDATA[Vue前端项目报Component template should contain exactly one root element错误]]></title><link>https://blog.youkuaiyun.com/xuguoxing123/article/details/113250126</link><guid>https://blog.youkuaiyun.com/xuguoxing123/article/details/113250126</guid><author>xuguoxing123</author><pubDate>Wed, 27 Jan 2021 15:53:33 +0800</pubDate><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;最近接触到前后端分离项目的开发，在编写Vue前端项目时出现以下错误：Component template should contain exactly one root element. If you are using v-if on multiple elements, use v-else-if to chain them instead。这个错误对于新手来说比较常见，从英文翻译来看，就是：“组件模板应该只包含一个根标]]></description><category></category></item><item><title><![CDATA[STS常用快捷键]]></title><link>https://blog.youkuaiyun.com/xuguoxing123/article/details/110956638</link><guid>https://blog.youkuaiyun.com/xuguoxing123/article/details/110956638</guid><author>xuguoxing123</author><pubDate>Thu, 10 Dec 2020 16:52:28 +0800</pubDate><description><![CDATA[【Ctrl+K】、【Ctrl++Shift+K】 快速向下和向上查找选定的内容，从此不再需要用鼠标单击查找对话框了。
【Ctrl+Shift+T】查找工作空间（Workspace）构建路径中的可找到Java类文件，不要为找不到类而痛苦，而且可以使用“*”、“？”等通配符。
【Ctrl+Shift+R】和【Ctrl+Shift+T】对应，查找工作空间（Workspace）中的所有文件（包括Java文件），也可以使用通配符。
【Ctrl+Shift+G】查找类、方法和属性的引用。这是一个非常实用的快捷键，例如.]]></description><category></category></item><item><title><![CDATA[如何在uReport2的SQL语句中添加查询参数并且访问报表页面]]></title><link>https://blog.youkuaiyun.com/xuguoxing123/article/details/110953096</link><guid>https://blog.youkuaiyun.com/xuguoxing123/article/details/110953096</guid><author>xuguoxing123</author><pubDate>Thu, 10 Dec 2020 16:12:41 +0800</pubDate><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;相信看过第二章link《uReport2报表工具的基础使用及注意事项》的读者们应该对uReport2的基础操作会有所了解的，本章就开始讲述一下，如何在uReport2的SQL语句中添加查询参数并且访问报表页面。
（一）添加查询参数
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;因为uReport2的编写入口支持表达式解析，不难想到可以用${}的方式进行编写。当然，此处需要借助param(]]></description><category></category></item><item><title><![CDATA[uReport2报表工具的基础使用及注意事项]]></title><link>https://blog.youkuaiyun.com/xuguoxing123/article/details/110873687</link><guid>https://blog.youkuaiyun.com/xuguoxing123/article/details/110873687</guid><author>xuguoxing123</author><pubDate>Thu, 10 Dec 2020 14:37:26 +0800</pubDate><description><![CDATA[上一章笔者刚讲述如何在SpringBoot项目中集成uReport2报表工具，本章主要是跟大家说一下uReport2报表工具的基本使用方法，下面开始进入主题：
①承接上一章的界面，我们通过打开数据源，选择自己配置好的数据源，可以看到如下所示：

此时我们可以右键“uReport数据源”，添加数据集，或者删除当前的数据源，如下：

当选择添加数据集时，会出现以下界面：

笔者可以在右边的输入框中编写SQL语句或者表达式查询，或者在左边的选择列表中要查询的表，双击就能在右边生成对应的基础查询语句。编写完SQL语]]></description><category></category></item><item><title><![CDATA[Java实现的几种排序算法详解]]></title><link>https://blog.youkuaiyun.com/xuguoxing123/article/details/103859874</link><guid>https://blog.youkuaiyun.com/xuguoxing123/article/details/103859874</guid><author>xuguoxing123</author><pubDate>Tue, 08 Dec 2020 15:16:36 +0800</pubDate><description><![CDATA[日常操作中常见的排序方法有：冒泡排序、快速排序、选择排序、插入排序、希尔排序，甚至还有基数排序、鸡尾酒排序、桶排序、鸽巢排序、归并排序等。
 
冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列，一次比较两个元素，如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换，也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。
...]]></description><category></category></item><item><title><![CDATA[SpringBoot集成ureport2报表工具（非常简便）]]></title><link>https://blog.youkuaiyun.com/xuguoxing123/article/details/110872396</link><guid>https://blog.youkuaiyun.com/xuguoxing123/article/details/110872396</guid><author>xuguoxing123</author><pubDate>Tue, 08 Dec 2020 14:58:06 +0800</pubDate><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;今天来跟大家分享一下SpringBoot框架集成uReport2工具的操作步骤，部署起来非常方便，不需要像网上那些文章一样单独编写配置文件。当然，如果需要重写uReport的配置文件就另当别论了。下面开始详细讲解：
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在往下查看文章时，请确认当前项目的数据库连接是否正确，以便接下来的操作。
①在pom.xml文件中添加uReport依赖：
	&]]></description><category></category></item><item><title><![CDATA[微服务基础框架搭建详解（三）—— 服务的发现与消费（客户端消费者的实现）]]></title><link>https://blog.youkuaiyun.com/xuguoxing123/article/details/109803049</link><guid>https://blog.youkuaiyun.com/xuguoxing123/article/details/109803049</guid><author>xuguoxing123</author><pubDate>Thu, 19 Nov 2020 13:45:27 +0800</pubDate><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;经过上一章的实践微服务基础框架搭建详解（二）—— 高可用服务注册中心，我们已经成功搭建微服务框架中的核心组件——服务注册中心（包括单节点模式和高可用模式）。本章我们来尝试构建一个服务消费者，它的主要功能就是发现及消费服务，其中发现服务由Eureka客户端完成，而消费服务则由Ribbon完成。
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ribbon是一个基于HTTP和TCP的客服端负载]]></description><category></category></item><item><title><![CDATA[微服务基础框架搭建详解（二）—— 高可用服务注册中心]]></title><link>https://blog.youkuaiyun.com/xuguoxing123/article/details/109742853</link><guid>https://blog.youkuaiyun.com/xuguoxing123/article/details/109742853</guid><author>xuguoxing123</author><pubDate>Tue, 17 Nov 2020 16:54:01 +0800</pubDate><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;高可用是分布式系统架构设计中必须考虑的因素之一，它通常是指，通过设计减少系统不能提供服务的时间。在微服务架构的分布式环境下，我们需要充分考虑发生故障的情况，所以在生产环境中必须得对各个组件进行高可用部署。
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;上一章主要是通过单节点方式来实现服务注册中心《微服务基础框架搭建详解（一）—— 注册服务中心Eureka的基础搭建》，本章主要讲解如何构建]]></description><category></category></item><item><title><![CDATA[微服务基础框架搭建详解（一）—— 注册服务中心Eureka的基础搭建]]></title><link>https://blog.youkuaiyun.com/xuguoxing123/article/details/109722422</link><guid>https://blog.youkuaiyun.com/xuguoxing123/article/details/109722422</guid><author>xuguoxing123</author><pubDate>Mon, 16 Nov 2020 16:59:16 +0800</pubDate><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;最近笔者开始学习微服务基础框架的搭建，并且把学习笔记进行记录和分享，希望能够给一些初学者提供帮忙，下面开始讲解：
（一）实验工具及环境
本文使用的开发工具是：Spring Tool Suite 4（STS4）
JDK版本为：1.8
（二）创建注册服务中心服务端（服务注册中心）
（1）在STS工具上新建一个项目叫“eureka-server-01”，具体信息如下所示：

SpringBoot版本信息暂时选择默认，等创建完任务时]]></description><category></category></item></channel></rss>