<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[早起的鸟儿有虫吃的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Qgwperfect</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Qgwperfect]]></copyright><item><title><![CDATA[java枚举释意]]></title><link>https://blog.youkuaiyun.com/Qgwperfect/article/details/118496671</link><guid>https://blog.youkuaiyun.com/Qgwperfect/article/details/118496671</guid><author>Qgwperfect</author><pubDate>Mon, 05 Jul 2021 19:19:12 +0800</pubDate><description><![CDATA[// public enum Animal = public final class Animal extends java.lang.Enum
public enum Animal { 
    CAT, // CAT = public static final Animal = new Animal("CAT",1);
    DOG, // DOG = public static final Animal = new Animal("DOG",1);
}


]]></description><category></category></item><item><title><![CDATA[常用特殊符号的HTML代码(HTML字符实体)]]></title><link>https://blog.youkuaiyun.com/Qgwperfect/article/details/108792194</link><guid>https://blog.youkuaiyun.com/Qgwperfect/article/details/108792194</guid><author>Qgwperfect</author><pubDate>Fri, 25 Sep 2020 11:01:59 +0800</pubDate><description><![CDATA[简单记录一下：

https://cloud.tencent.com/developer/article/1473321


]]></description><category></category></item><item><title><![CDATA[springboot+mybatis+sharding-jdbc单库分表]]></title><link>https://blog.youkuaiyun.com/Qgwperfect/article/details/108653015</link><guid>https://blog.youkuaiyun.com/Qgwperfect/article/details/108653015</guid><author>Qgwperfect</author><pubDate>Thu, 17 Sep 2020 21:00:40 +0800</pubDate><description><![CDATA[缘由

由于在做考勤系统考虑到后期考勤数据量会非常大，到时候单表的数据量可能会很大，导致数据库的查询效率会很低，数据库的负载坚持不住，所以就开始考虑分库分表的事情了，一开始是看的比较主流的当初阿里图队的mycat，但是整合到后面发现mycat实现不了单库分表，只能多库分表。后面就开始往sharding-jdbc方向研究，sharding-jdbc又分为两个版本，dangdang（当当）和shardingsphere，也不知道这两者是什么关系应该都是同个社区的开发者开发的吧，当当的目前最新是1.5.3吧sha]]></description><category></category></item><item><title><![CDATA[PO BO VO DTO POJO DAO DO这些Java中的概念分别指什么]]></title><link>https://blog.youkuaiyun.com/Qgwperfect/article/details/108595358</link><guid>https://blog.youkuaiyun.com/Qgwperfect/article/details/108595358</guid><author>Qgwperfect</author><pubDate>Tue, 15 Sep 2020 10:50:10 +0800</pubDate><description><![CDATA[https://www.zhihu.com/question/39651928
]]></description><category></category></item><item><title><![CDATA[google-chrome – 如何在Google Chrome中复制Cookie？]]></title><link>https://blog.youkuaiyun.com/Qgwperfect/article/details/108531119</link><guid>https://blog.youkuaiyun.com/Qgwperfect/article/details/108531119</guid><author>Qgwperfect</author><pubDate>Fri, 11 Sep 2020 11:30:07 +0800</pubDate><description><![CDATA[Ctrl-A，按住shift并右键单击并复制
]]></description><category></category></item><item><title><![CDATA[Linux Top命令之load average详解]]></title><link>https://blog.youkuaiyun.com/Qgwperfect/article/details/108521790</link><guid>https://blog.youkuaiyun.com/Qgwperfect/article/details/108521790</guid><author>Qgwperfect</author><pubDate>Thu, 10 Sep 2020 20:03:52 +0800</pubDate><description><![CDATA[前言

因为笔者面试中被问到了这个问题,感觉自己不是很清楚,所以还是整理一下,博客中也有不少讲到top命令的,但是几乎没看到有把load average这个讲清楚的,所以还是有必要来篇水文。

进入正题

由于这里只是分析load average,具体怎么使用top,大家应该都有所了解,我这里就不再赘述,重点分析一下load average.
我们都知道load average分别代表最近一分钟、最近5分钟、最近15分钟的负载。但是有的负载值才0.01,有的负载值可以到1,有的甚至可以到5.这到底是什么意思]]></description><category></category></item><item><title><![CDATA[Maven中-DskipTests和-Dmaven.test.skip=true的区别]]></title><link>https://blog.youkuaiyun.com/Qgwperfect/article/details/108452120</link><guid>https://blog.youkuaiyun.com/Qgwperfect/article/details/108452120</guid><author>Qgwperfect</author><pubDate>Mon, 07 Sep 2020 17:21:19 +0800</pubDate><description><![CDATA[在使用mvn package进行编译、打包时，Maven会执行src/test/java中的JUnit测试用例，有时为了跳过测试，会使用参数-DskipTests和-Dmaven.test.skip=true，这两个参数的主要区别是：

-DskipTests，不执行测试用例，但编译测试用例类生成相应的class文件至target/test-classes下。

-Dmaven.test.skip=true，不执行测试用例，也不编译测试用例类。
...]]></description><category></category></item><item><title><![CDATA[mysql杂项]]></title><link>https://blog.youkuaiyun.com/Qgwperfect/article/details/108431384</link><guid>https://blog.youkuaiyun.com/Qgwperfect/article/details/108431384</guid><author>Qgwperfect</author><pubDate>Sun, 06 Sep 2020 14:53:58 +0800</pubDate><description><![CDATA[Int类型



时间日期类型





char是定长，varchar是变长
text和blob可以建立前缀索引
text not null字段，不能设置默认值
]]></description><category></category></item><item><title><![CDATA[PM,RD,FE,UE,UI,QA,OP,DBA,BRD,MRD, PRD,FSD等缩写的全称解析]]></title><link>https://blog.youkuaiyun.com/Qgwperfect/article/details/108430992</link><guid>https://blog.youkuaiyun.com/Qgwperfect/article/details/108430992</guid><author>Qgwperfect</author><pubDate>Sun, 06 Sep 2020 14:05:02 +0800</pubDate><description><![CDATA[PM
项目经理(ProjectManager)
从职业角度，是指企业建立以项目经理责任制为核心，对项目实行质量、安全、进度、成本管理的责任保证体系和全面提高项目管理水平设立的重要管理岗位。项目经理是为项目的成功策划和执行负总责的人。
项目经理是项目团队的领导者，项目经理首要职责是在预算范围内按时优质地领导项目小组完成全部项目工作内容，并使客户满意。为此项目经理必须在一系列的项目计划、组织和控制活动中做好领导工作，从而实现项目目标。
当然在互联网公司这个有着项目经理or产...]]></description><category></category></item><item><title><![CDATA[DROP TABLE、TRUNCATE TABLE和DELETE的区别]]></title><link>https://blog.youkuaiyun.com/Qgwperfect/article/details/108430949</link><guid>https://blog.youkuaiyun.com/Qgwperfect/article/details/108430949</guid><author>Qgwperfect</author><pubDate>Sun, 06 Sep 2020 14:01:47 +0800</pubDate><description><![CDATA[相同点

TRUNCATETABLE和DELETE都可以删除整个数据库表的记录

不同点


	DELETE
	DML语言
	可以回退
	可以有条件的删除DELETE FROM 表名 WHERE 条件
	
	
	TRUNCATE TABLE
	DDL语言
	无法回退
	默认所有的表内容都删除
	删除速度比delete快TRUNCATE TABLE 表名
	
	
	DROP TABLE
	用于删除表（表的结构、属性以及索引也会被删除）;DROP TABLE 表名
	
原理

DDL(Data Definit.]]></description><category></category></item><item><title><![CDATA[Git生成SSH key]]></title><link>https://blog.youkuaiyun.com/Qgwperfect/article/details/108344729</link><guid>https://blog.youkuaiyun.com/Qgwperfect/article/details/108344729</guid><author>Qgwperfect</author><pubDate>Tue, 01 Sep 2020 16:11:34 +0800</pubDate><description><![CDATA[Windows：

  1.创建SSH Key。在windows下查看[c盘-&gt;用户-&gt;用户名-&gt;.ssh]下是否有id_rsa、id_rsa.pub文件，如果没有需要手动生成。

打开git bash，在控制台中输入以下命令： $ ssh-keygen -t rsa -C"victordu6694@gmail.com"。

 密钥类型可以用-t选项指定。如果没有指定则默认生成用于SSH-2的RSA密钥。这里使用的是rsa。

 同时在密钥中有一个注释字段，用-C来指定所指定...]]></description><category></category></item><item><title><![CDATA[mysql索引设计的原则]]></title><link>https://blog.youkuaiyun.com/Qgwperfect/article/details/108116237</link><guid>https://blog.youkuaiyun.com/Qgwperfect/article/details/108116237</guid><author>Qgwperfect</author><pubDate>Thu, 20 Aug 2020 09:24:14 +0800</pubDate><description><![CDATA[1，索引不易过多，3，4个为好

2，针对SQL语句里的where条件，order by条件，group by条件去设计索引，如果是联合索引要匹配最左侧开始的部分字段

3，建立索引，尽量选用基数比较大的字段，就是值比较多的字段，这样才能发挥出B+数二分查找的优势

4，尽量针对字段类型比较小的列来设计索引，如果针对大字段的前部分字符建立索引，where查询可以用，但是order by和group by就用不上了

5，不要让索引的字段做函数计算

6，建议逐渐一定是自增的，别用UUID之类的，因为主键自增]]></description><category></category></item><item><title><![CDATA[HTTP几种请求方式的含义及应用场景]]></title><link>https://blog.youkuaiyun.com/Qgwperfect/article/details/108113472</link><guid>https://blog.youkuaiyun.com/Qgwperfect/article/details/108113472</guid><author>Qgwperfect</author><pubDate>Wed, 19 Aug 2020 23:24:38 +0800</pubDate><description><![CDATA[HTTP几种请求方式的含义及应用场景

整理自https://stackoverflow.com/questions/27030649/explain-and-example-about-get-delete-post-put-options-patch-h及https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html

GET

GET请求是向服务端请求获取某个或某些资源（resource），比如查询数据库单个或list数据，服务端成功的话，一般状态码返回2]]></description><category></category></item><item><title><![CDATA[java中 0.6552的数据类型是什么]]></title><link>https://blog.youkuaiyun.com/Qgwperfect/article/details/108113180</link><guid>https://blog.youkuaiyun.com/Qgwperfect/article/details/108113180</guid><author>Qgwperfect</author><pubDate>Wed, 19 Aug 2020 23:09:15 +0800</pubDate><description><![CDATA[默认为double类型，float类型需要自己定义：0.6332f

double是基本数据类型，Double是原始数据类型
double没有方法，Double有自己的属性和方法
double只创建引用，Double创建对象
集合类不能存放double，只能存放Double
double存放在栈中，Double存放在堆中
栈的存取速度要高于堆，另外栈中的数据可以共享
如：
doublea=0;
doubleb=0;
不会创建对象，只会建立两个引用，同时指向变量“0”（栈数据共享）
而
Doubl...]]></description><category></category></item><item><title><![CDATA[问题]]></title><link>https://blog.youkuaiyun.com/Qgwperfect/article/details/108113041</link><guid>https://blog.youkuaiyun.com/Qgwperfect/article/details/108113041</guid><author>Qgwperfect</author><pubDate>Wed, 19 Aug 2020 23:04:13 +0800</pubDate><description><![CDATA[public class Example {

    private String str = new String("good");

    private char[] ch = {'a', 'b', 'c'};

    public static void main(String[] args) {
        Example example = new Example();
        example.change(example.str, example.ch);
        .]]></description><category></category></item><item><title><![CDATA[java中((NULL)null).say()能运行吗？]]></title><link>https://blog.youkuaiyun.com/Qgwperfect/article/details/108112499</link><guid>https://blog.youkuaiyun.com/Qgwperfect/article/details/108112499</guid><author>Qgwperfect</author><pubDate>Wed, 19 Aug 2020 22:34:57 +0800</pubDate><description><![CDATA[先上代码，下面代码能运行吗？


public class NULL {
	public static void say() {
		System.out.println("null say: haha");
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		((NULL)null).say();
	}

}


作者看到这个时，没经过思考就觉得不能，而且还觉得这个问题很扯蛋！答案是：能运行]]></description><category></category></item><item><title><![CDATA[JVM运行原理及优化]]></title><link>https://blog.youkuaiyun.com/Qgwperfect/article/details/108089353</link><guid>https://blog.youkuaiyun.com/Qgwperfect/article/details/108089353</guid><author>Qgwperfect</author><pubDate>Tue, 18 Aug 2020 22:29:23 +0800</pubDate><description><![CDATA[我们写好的代码，是要通过JVM才能运行的
	JVM 想要执行一个类，首先要加载类，在加载类之前，需要先编译成字节码class 文件
	然后就执行类的加载过程，JVM 加载类的话，需要类加载器
	类加载器是分层级的，遵循双亲委派机制，
	最上层是Bootstrap ClassLoder，加载java的核心类库，加载java安装目录下的lib目录的class文件
		第二层是Ext ClassLoder，加载一些java的其他类库，加载java安装目录下的lib/ext目录下的class
		第三层是Appli]]></description><category></category></item><item><title><![CDATA[Java中的String为什么是不可变的？]]></title><link>https://blog.youkuaiyun.com/Qgwperfect/article/details/107968270</link><guid>https://blog.youkuaiyun.com/Qgwperfect/article/details/107968270</guid><author>Qgwperfect</author><pubDate>Wed, 12 Aug 2020 22:29:10 +0800</pubDate><description><![CDATA[什么是不可变对象？

众所周知， 在Java中， String类是不可变的。那么到底什么是不可变的对象呢？ 可以这样认为：如果一个对象，在它创建完成之后，不能再改变它的状态，那么这个对象就是不可变的。不能改变状态的意思是，不能改变对象内的成员变量，包括基本数据类型的值不能改变，引用类型的变量不能指向其他的对象，引用类型指向的对象的状态也不能改变。



区分对象和对象的引用

对于Java初学者， 对于String是不可变对象总是存有疑惑。看下面代码：


		
String s = "ABCabc";
.]]></description><category></category></item><item><title><![CDATA[RabbitMQ 如何保证消息不丢失？]]></title><link>https://blog.youkuaiyun.com/Qgwperfect/article/details/107934895</link><guid>https://blog.youkuaiyun.com/Qgwperfect/article/details/107934895</guid><author>Qgwperfect</author><pubDate>Tue, 11 Aug 2020 14:34:16 +0800</pubDate><description><![CDATA[RabbitMQ一般情况很少丢失，但是不能排除意外，为了保证我们自己系统高可用，我们必须作出更好完善措施，保证系统的稳定性。

下面来介绍下，如何保证消息的绝对不丢失的问题，下面分享的绝对干货，都是在知名互联网产品的产线中使用。

1.消息持久化

2.ACK确认机制

3.设置集群镜像模式

4.消息补偿机制



第一种：消息持久化

RabbitMQ 的消息默认存放在内存上面，如果不特别声明设置，消息不会持久化保存到硬盘上面的，如果节点重启或者意外crash掉，消息就会丢失。

所以就要对消息进行持.]]></description><category></category></item><item><title><![CDATA[前序遍历 中序遍历 后序遍历]]></title><link>https://blog.youkuaiyun.com/Qgwperfect/article/details/107922199</link><guid>https://blog.youkuaiyun.com/Qgwperfect/article/details/107922199</guid><author>Qgwperfect</author><pubDate>Mon, 10 Aug 2020 21:10:33 +0800</pubDate><description><![CDATA[]]></description><category></category></item></channel></rss>