<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[数据解构的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/MPengYu</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; MPengYu]]></copyright><item><title><![CDATA[mysql-connector-java版本大于5，项目启动连接数据库报错]]></title><link>https://blog.youkuaiyun.com/MPengYu/article/details/129475267</link><guid>https://blog.youkuaiyun.com/MPengYu/article/details/129475267</guid><author>MPengYu</author><pubDate>Sun, 12 Mar 2023 14:10:55 +0800</pubDate><description><![CDATA[mysql-connector-java版本大于5，项目启动连接数据库报错]]></description><category></category></item><item><title><![CDATA[Jmeter右上角不显示线程数和运行时间]]></title><link>https://blog.youkuaiyun.com/MPengYu/article/details/129474905</link><guid>https://blog.youkuaiyun.com/MPengYu/article/details/129474905</guid><author>MPengYu</author><pubDate>Sun, 12 Mar 2023 13:42:34 +0800</pubDate><description><![CDATA[Jmeter右上角不显示线程数和运行时间，在GUI界面去修改的语言这样就会出现这样的bug，恢复原设置后去Jmeter的bin目录，找到jmeter.properties，把language设置为zh_CN即可解决。]]></description><category></category></item><item><title><![CDATA[IDEA的Service服务启动后不显示端口号]]></title><link>https://blog.youkuaiyun.com/MPengYu/article/details/129466510</link><guid>https://blog.youkuaiyun.com/MPengYu/article/details/129466510</guid><author>MPengYu</author><pubDate>Sat, 11 Mar 2023 22:49:49 +0800</pubDate><description><![CDATA[IDEA的Service服务启动后不显示端口号]]></description><category></category></item><item><title><![CDATA[使用Git进行版本控制，不同的项目怎么设置不同的提交用户名和邮箱呢？]]></title><link>https://blog.youkuaiyun.com/MPengYu/article/details/129462027</link><guid>https://blog.youkuaiyun.com/MPengYu/article/details/129462027</guid><author>MPengYu</author><pubDate>Sat, 11 Mar 2023 14:05:51 +0800</pubDate><description><![CDATA[因为平时除了开发公司项目还会写自己的项目或者去维护开源项目，一般情况下，公司会要求提交代码时使用自己的真名或者拼音和公司邮箱，但是在维护非公司的项目时，肯定不能暴露自己的姓名和邮箱，所以需要单独设置。]]></description><category></category></item><item><title><![CDATA[IDEA注释将‘@XXXX‘替换为‘&#064；XXXX‘]]></title><link>https://blog.youkuaiyun.com/MPengYu/article/details/128878883</link><guid>https://blog.youkuaiyun.com/MPengYu/article/details/128878883</guid><author>MPengYu</author><pubDate>Sat, 04 Feb 2023 09:45:19 +0800</pubDate><description><![CDATA[IDEA会根据javadoc的规范来检查注释，而上面的@date不在javadoc定义的标签中，所以会报黄色警告。]]></description><category></category></item><item><title><![CDATA[IDEA必备插件、阿里巴巴规范插件（代码格式化，注释模板化）的安装及使用和快捷键设置]]></title><link>https://blog.youkuaiyun.com/MPengYu/article/details/128870346</link><guid>https://blog.youkuaiyun.com/MPengYu/article/details/128870346</guid><author>MPengYu</author><pubDate>Fri, 03 Feb 2023 17:24:12 +0800</pubDate><description><![CDATA[为了减少警告以及更好的集成统一API的文档第三方工具，严格按照Java文档注释来配置相关的模板配置。]]></description><category></category></item><item><title><![CDATA[Gitlab配置ssh_key]]></title><link>https://blog.youkuaiyun.com/MPengYu/article/details/105944731</link><guid>https://blog.youkuaiyun.com/MPengYu/article/details/105944731</guid><author>MPengYu</author><pubDate>Wed, 06 May 2020 10:01:08 +0800</pubDate><description><![CDATA[一、背景

　　当前很多公司都选择git作为代码版本控制工具，然后自己公司搭建私有的gitlab来管理代码，我们在clone代码的时候可以选择http协议，当然我们亦可以选择ssh协议来拉取代码。那么我们就来聊一聊如何本地git客户端生成ssh key，然后配置在gitlab里，而后使用ssh协议进行提交和拉取git远程仓库的代码。

二、解决方案


	打开本地git bash,使用如下命令生成...]]></description><category></category></item><item><title><![CDATA[Java Lambda表达式详解]]></title><link>https://blog.youkuaiyun.com/MPengYu/article/details/105449725</link><guid>https://blog.youkuaiyun.com/MPengYu/article/details/105449725</guid><author>MPengYu</author><pubDate>Sat, 11 Apr 2020 11:46:12 +0800</pubDate><description><![CDATA[一.什么是函数式编程

函数式编程是种编程方式，它将电脑运算视为函数的计算。函数编程语言最重要的基础是λ演算（lambda calculus），而且λ演算的函数可以接受函数当作输入（参数）和输出（返回值）。和指令式编程相比，函数式编程强调函数的计算比指令的执行重要。和过程化编程相比，函数式编程里函数的计算可随时调用。

1.函数式编程的特点

函数是"第一等公民"：指的是函数与其他数据类型一样，...]]></description><category></category></item><item><title><![CDATA[数据库设计3三范式/5五范式]]></title><link>https://blog.youkuaiyun.com/MPengYu/article/details/105443310</link><guid>https://blog.youkuaiyun.com/MPengYu/article/details/105443310</guid><author>MPengYu</author><pubDate>Fri, 10 Apr 2020 22:06:26 +0800</pubDate><description><![CDATA[第一范式：

对于表中的每一行，必须且仅仅有唯一的行值.在一行中的每一列仅有唯一的值并且具有原子性。（第一范式是通过把重复的组放到每个独立的表中，把这些表通过一对多关联联系起来这种方式来消除重复组的。） 即无重复列。

第二范式：

第二范式要求非主键列是主键的子集，非主键列活动必须完全依赖整个主键。主键必须有唯一性的元素,一个主键可以由一个或更多的组成唯一值的列组成。一旦创建，主键无法改变，外键...]]></description><category></category></item><item><title><![CDATA[java中锁的概念/介绍]]></title><link>https://blog.youkuaiyun.com/MPengYu/article/details/105395969</link><guid>https://blog.youkuaiyun.com/MPengYu/article/details/105395969</guid><author>MPengYu</author><pubDate>Wed, 08 Apr 2020 20:18:13 +0800</pubDate><description><![CDATA[不可不说的Java“锁”事

前言

Java提供了种类丰富的锁，每种锁因其特性的不同，在适当的场景下能够展现出非常高的效率。本文旨在对锁相关源码（本文中的源码来自JDK 8和Netty 3.10.6）、使用场景进行举例，为读者介绍主流锁的知识点，以及不同的锁的适用场景。

Java中往往是按照是否含有某一特性来定义锁，我们通过特性将锁进行分组归类，再使用对比的方式进行介绍，帮助大家更快捷的理解相...]]></description><category></category></item><item><title><![CDATA[linux/windows解决/关闭端口占用]]></title><link>https://blog.youkuaiyun.com/MPengYu/article/details/105349605</link><guid>https://blog.youkuaiyun.com/MPengYu/article/details/105349605</guid><author>MPengYu</author><pubDate>Mon, 06 Apr 2020 19:41:44 +0800</pubDate><description><![CDATA[Linux

找到占用端口的进程信息：


netstat -lnp|grep端口号 
例如：netstat -lnp|grep8080 就是找到正在使用8080端口的进程

关闭进程：


kill -9 进程PID
例如：kill -9 6666 就是杀死进程PID为6666的进程

Windows

找到占用端口的进程信息：


netstat -nao | findstr "端口号"
...]]></description><category></category></item><item><title><![CDATA[PHP判断访问来源是PC端还是移动端]]></title><link>https://blog.youkuaiyun.com/MPengYu/article/details/105334271</link><guid>https://blog.youkuaiyun.com/MPengYu/article/details/105334271</guid><author>MPengYu</author><pubDate>Sun, 05 Apr 2020 21:46:00 +0800</pubDate><description><![CDATA[一个方法轻松搞定，各种判断后当返回true为移动端，反之为PC端。



function isMobile(){ 
    // 如果有HTTP_X_WAP_PROFILE则一定是移动设备
    if (isset ($_SERVER['HTTP_X_WAP_PROFILE'])){
        return true;
    } 
    // 如果via信息含有wap则一定是移动设...]]></description><category></category></item><item><title><![CDATA[nginx 隐藏 index.php 直接访问]]></title><link>https://blog.youkuaiyun.com/MPengYu/article/details/105280939</link><guid>https://blog.youkuaiyun.com/MPengYu/article/details/105280939</guid><author>MPengYu</author><pubDate>Thu, 02 Apr 2020 22:24:01 +0800</pubDate><description><![CDATA[项目配置文件vhosts加上：
if ( !-e $request_filename) {
	rewrite ^/(.*)$ /index.php/$1 last;
	break;
}

修改后如图


]]></description><category></category></item><item><title><![CDATA[什么是微服务？分布式与微服务的区别是什么？]]></title><link>https://blog.youkuaiyun.com/MPengYu/article/details/105259957</link><guid>https://blog.youkuaiyun.com/MPengYu/article/details/105259957</guid><author>MPengYu</author><pubDate>Thu, 02 Apr 2020 00:44:24 +0800</pubDate><description><![CDATA[简单的说，微服务是架构设计方式，分布式是系统部署方式，两者概念不同





微服务是啥？

这里不引用书本上的复杂概论了，简单来说微服务就是很小的服务，小到一个服务只对应一个单一的功能，只做一件事。这个服务可以单独部署运行，服务之间可以通过RPC来相互交互，每个微服务都是由独立的小团队开发，测试，部署，上线，负责它的整个生命周期。

微服务架构又是啥？

在做架构设计的时候，先做逻辑架构，再做物...]]></description><category></category></item><item><title><![CDATA[什么是分布式？分布式与集群的区别是什么？]]></title><link>https://blog.youkuaiyun.com/MPengYu/article/details/105130695</link><guid>https://blog.youkuaiyun.com/MPengYu/article/details/105130695</guid><author>MPengYu</author><pubDate>Thu, 26 Mar 2020 23:00:46 +0800</pubDate><description><![CDATA[镇贴神图




下面就正经解释下三种结构的区别吧～

单机结构

我想大家最最最熟悉的就是单机结构，一个系统业务量很小的时候所有的代码都放在一个项目中就好了，然后这个项目部署在一台服务器上就好了。整个项目所有的服务都由这台服务器提供。这就是单机结构。

那么，单机结构有啥缺点呢？我想缺点是显而易见的，单机的处理能力毕竟是有限的，当你的业务增长到一定程度的时候，单机的硬件资源将无法满足你的业务需...]]></description><category></category></item><item><title><![CDATA[关于integer数据对比的问题]]></title><link>https://blog.youkuaiyun.com/MPengYu/article/details/105081029</link><guid>https://blog.youkuaiyun.com/MPengYu/article/details/105081029</guid><author>MPengYu</author><pubDate>Wed, 25 Mar 2020 21:35:15 +0800</pubDate><description><![CDATA[先看案例
Integer c1 = 127;
Integer c2 = 127;
c1 == c2;//true

Integer d1 = 128;
Integer d2 = 128;
d1 == d2;//false

为什么会出现这种情况？
原因：[-128,127]之间的数，仍然当做基本数据类型来处理

c1和c2是基本数据类型所以内存地址相等，d1和d2就是两个不同的对象了


...]]></description><category></category></item><item><title><![CDATA[请求的URI过长：414 Request-URI Too Large]]></title><link>https://blog.youkuaiyun.com/MPengYu/article/details/105054651</link><guid>https://blog.youkuaiyun.com/MPengYu/article/details/105054651</guid><author>MPengYu</author><pubDate>Tue, 24 Mar 2020 20:53:30 +0800</pubDate><description><![CDATA[问题：在项目中遇到使用get 请求，发现前端传递的参数超过nginx 服务器的限制。
三种解决方法（任选一种）：


在nginx配置文件里面把这两个缓存加大
文件位置：conf/nginx.conf
client_header_buffer_size 512k;
large_client_header_buffers 4 512k;
然后重启nginx 服务器。
改动后如图所示：



前端改用...]]></description><category></category></item><item><title><![CDATA[Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.1.0]]></title><link>https://blog.youkuaiyun.com/MPengYu/article/details/105054386</link><guid>https://blog.youkuaiyun.com/MPengYu/article/details/105054386</guid><author>MPengYu</author><pubDate>Mon, 23 Mar 2020 18:19:32 +0800</pubDate><description><![CDATA[maven package 异常，今天打包springboot项目时碰到的问题。
Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.1.0……

原因：文件夹被占用
解决方法：关掉正在占用文件夹的程序然后重试就OK啦
原文：https://blog.youkuaiyun.com/Amy126/article/det...]]></description><category></category></item><item><title><![CDATA[springboot解决跨域问题]]></title><link>https://blog.youkuaiyun.com/MPengYu/article/details/104887503</link><guid>https://blog.youkuaiyun.com/MPengYu/article/details/104887503</guid><author>MPengYu</author><pubDate>Sun, 15 Mar 2020 22:06:58 +0800</pubDate><description><![CDATA[看过也用过过滤器、拦截器配置跨域的案例，真正的用到自己项目上的时候有些场景好像实现起来比较复杂，直到遇到了这几行代码，直接在启动文件上解决问题，唉呀妈呀太香了！

springboot解决跨域
打开springboot项目启动文件**Application.java，加上这两个方法。
	private CorsConfiguration buildConfig() {
        CorsC...]]></description><category></category></item><item><title><![CDATA[mysql查询逗号,分隔的多个id连表查询]]></title><link>https://blog.youkuaiyun.com/MPengYu/article/details/104870639</link><guid>https://blog.youkuaiyun.com/MPengYu/article/details/104870639</guid><author>MPengYu</author><pubDate>Sat, 14 Mar 2020 23:29:11 +0800</pubDate><description><![CDATA[先来几个SQL看看效果

SELECT i.*,n.*
FROM i
LEFT JOIN n on FIND_IN_SET(n.id, i.n_id)
GROUP BY n.id

效果图：

想把信息都放一行里面怎么办呢？我们就要用到group_concat函数了
SELECT i.*,
GROUP_CONCAT(n.id) nid,
GROUP_CONCAT(n.name) name
FRO...]]></description><category></category></item></channel></rss>