<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[归心亭]]></title><description><![CDATA[以梦为马，不负韶华~]]></description><link>https://blog.youkuaiyun.com/Vae023</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Vae023]]></copyright><item><title><![CDATA[TPS及计算方法]]></title><link>https://blog.youkuaiyun.com/Vae023/article/details/113747890</link><guid>https://blog.youkuaiyun.com/Vae023/article/details/113747890</guid><author>Vae023</author><pubDate>Sun, 07 Feb 2021 21:38:38 +0800</pubDate><description><![CDATA[TPS (transaction per second
  )代表每秒执行的事务数量，可基于测试周期内完成的事务数量计算得出。
  例如，用户每分钟执行
  6个事务，TPS为6&nbsp;/ 60s&nbsp;= 0.10 TPS
  。同时我们会知道事务的响应时间(或节拍)，以此例，60秒完成6个事务也同时代表每个事务的响应时间或节拍为10秒。
 


 
  &nbsp;
 
 
  利特尔法则
 ...]]></description><category></category></item><item><title><![CDATA[Sonar建议Reorder the modifiers to comply with the Java Language Specification]]></title><link>https://blog.youkuaiyun.com/Vae023/article/details/107334434</link><guid>https://blog.youkuaiyun.com/Vae023/article/details/107334434</guid><author>Vae023</author><pubDate>Tue, 14 Jul 2020 11:24:14 +0800</pubDate><description><![CDATA[Sonar提示Reorder the modifiers to comply with the Java Language Specification
是建议我们重新排序修饰符以符合Java语言规范
反例：private final static String DD = "测试";
改成：private static final String DD = "测试";
以下是修饰符的顺序：

Annotations
public
protected
private
abstract
static
final
t]]></description><category></category></item><item><title><![CDATA[Error: Could not find or load main class org.apache.zookeeper.server.quorum.QuorumPeerMain]]></title><link>https://blog.youkuaiyun.com/Vae023/article/details/107170691</link><guid>https://blog.youkuaiyun.com/Vae023/article/details/107170691</guid><author>Vae023</author><pubDate>Mon, 06 Jul 2020 23:26:14 +0800</pubDate><description><![CDATA[在将zookeeper安装的时候，报Error: Could not find or load main classorg.apache.zookeeper.server.quorum.QuorumPeerMain。
看到这个的时候去查了一下百度一直没有看到正确的解决方案，所以去了zookeeper官网去查，查document，在它的standalone Operation中看到：

The server is contained in a single JAR,这个服务是包含jar包的。但是我下载的zoo]]></description><category></category></item><item><title><![CDATA[Thread启动线程的start方法能执行多次吗？]]></title><link>https://blog.youkuaiyun.com/Vae023/article/details/106985222</link><guid>https://blog.youkuaiyun.com/Vae023/article/details/106985222</guid><author>Vae023</author><pubDate>Sat, 27 Jun 2020 17:17:51 +0800</pubDate><description><![CDATA[线程的创建
我们知道在Java里线程是通过java.lang.Thread类来实现的。一般我们创建无返回值的线程会用下面两个方法：

继承Thread类，重写run()方法；
实现Runnable接口,重写run()方法；

线程启动会通过调用start方法来启动线程而不能直接调用run方法。
这里就会引出两个经典的面试题：


为什么线程启动是调用start方法来启动线程而不能直接调用run方法？
如果多次调用start方法会发生什么？


其实答案就是源码里，在这之前我们要了解线程的状态有哪些。
线程的]]></description><category></category></item><item><title><![CDATA[如何确定前缀索引的长度？]]></title><link>https://blog.youkuaiyun.com/Vae023/article/details/106985148</link><guid>https://blog.youkuaiyun.com/Vae023/article/details/106985148</guid><author>Vae023</author><pubDate>Sat, 27 Jun 2020 17:13:12 +0800</pubDate><description><![CDATA[为什么需要前缀索引
问题
我们在对一张表里的某个字段或者多个字段建立索引的时候，是否遇到过这个问题。

Specified key ‘uniq_code’ was too long; max key length is 767 bytes.

表结构如下：
create table `t_account`(
  `id` BIGINT(20) UNSIGNED NOT NULL auto_increment COMMENT '自增ID',
  `date` varchar(50) NOT NULL DEFA]]></description><category></category></item><item><title><![CDATA[一文带你学会Java8的时间API！]]></title><link>https://blog.youkuaiyun.com/Vae023/article/details/106389403</link><guid>https://blog.youkuaiyun.com/Vae023/article/details/106389403</guid><author>Vae023</author><pubDate>Wed, 27 May 2020 20:00:05 +0800</pubDate><description><![CDATA[前言
Java8之前日期/时间API存在的问题

非线程安全 − java.util.Date 是非线程安全的，所有的日期类都是可变的，这是Java日期类最大的问题之一。
设计很差 − Java的日期/时间类的定义并不一致，在java.util和java.sql的包中都有日期类，此外用于格式化和解析的类在java.text包中定义。java.util.Date同时包含日期和时间，而java.sql.Date仅包含日期，将其纳入java.sql包并不合理。另外这两个类都有相同的名字，这本身就是一个非常糟糕的设]]></description><category></category></item><item><title><![CDATA[java.lang.ClassCastException你是怎么处理的？]]></title><link>https://blog.youkuaiyun.com/Vae023/article/details/106271550</link><guid>https://blog.youkuaiyun.com/Vae023/article/details/106271550</guid><author>Vae023</author><pubDate>Wed, 27 May 2020 19:58:53 +0800</pubDate><description><![CDATA[事件起因
在做一个类型转换时遇到了下面的异常：

是说不能把 Integer 类型强制转换成 String 类型。
我的测试代码大概是这个样子：
public static void testClassCastException() {
  Integer i1 = Integer.valueOf(getT()); // ① 抛异常
  Integer i2 = (Integer) getT(); // ② 正常
  Integer i3 = Integer.valueOf(getT().toString(]]></description><category></category></item><item><title><![CDATA[Mac锁屏的几种方式]]></title><link>https://blog.youkuaiyun.com/Vae023/article/details/106241922</link><guid>https://blog.youkuaiyun.com/Vae023/article/details/106241922</guid><author>Vae023</author><pubDate>Wed, 20 May 2020 18:23:42 +0800</pubDate><description><![CDATA[之前一直用的Windows系统，对系统操作快捷键都非常熟悉，像锁屏就是Win+L。
现在用公司配的MacBookPro，很多常见操作都不知道快捷键，就一直设置的触发角的锁屏方式。
今天来总结记录下锁屏的几种方式：电脑为MacBook Pro，OS为MacOS Sierra 10.15.3


ctrl + shift + 右上角开关机键


option + command + 右上角开关机键


触发角设置
系统偏好设置 → 桌面与屏幕保护程序 → 触发角， 然后设置鼠标移动到屏幕的四个角的某一个或几个角]]></description><category></category></item><item><title><![CDATA[如何优雅的消除代码里的NullPointerException！]]></title><link>https://blog.youkuaiyun.com/Vae023/article/details/106010228</link><guid>https://blog.youkuaiyun.com/Vae023/article/details/106010228</guid><author>Vae023</author><pubDate>Sat, 09 May 2020 00:30:07 +0800</pubDate><description><![CDATA[NPE（NullPointerException）是我们代码工作中最常遇到的一个异常，非常的难受，如何优雅的处理它呢。
本篇文章将详细介绍Optional类，以及如何用它消除代码中的null检查。Optional是为了防止NullPointerException，使代码更优雅。
避免使用null检查
作为Java开发人员，几乎所有人都遇到过NullPointerException异常，大多数人遇到NullPointerException异常时都会在异常出现的地方加上if代码块来判断值不为空，比如下面的代码.]]></description><category></category></item><item><title><![CDATA[Java8新特性（三） 之 Stream API]]></title><link>https://blog.youkuaiyun.com/Vae023/article/details/105984822</link><guid>https://blog.youkuaiyun.com/Vae023/article/details/105984822</guid><author>Vae023</author><pubDate>Fri, 08 May 2020 00:14:15 +0800</pubDate><description><![CDATA[Stream API
本文继续介绍Java 8的另一个新特性——Stream API。Stream API是对Java中集合操作的增强，可以利用它进行各种过滤、排序、分组、聚合等操作。Stream API配合Lambda表达式可以加大的提高代码可读性和编码效率，Stream API也支持并行操作，我们不用再花费很多精力来编写容易出错的多线程代码了，Stream API已经替我们做好了，并且充分利...]]></description><category></category></item><item><title><![CDATA[Java8新特性（二） 之 函数式接口]]></title><link>https://blog.youkuaiyun.com/Vae023/article/details/105984807</link><guid>https://blog.youkuaiyun.com/Vae023/article/details/105984807</guid><author>Vae023</author><pubDate>Thu, 07 May 2020 23:51:14 +0800</pubDate><description><![CDATA[函数式接口
如果你的好奇心使你翻看Runnable接口源代码，你会发现该接口被一个@FunctionalInterface的注解修饰，这是Java 8中添加的新注解，用于表示 函数式接口。

函数式接口又是什么鬼？
在Java 8中，把那些仅有一个抽象方法的接口称为函数式接口。如果一个接口被@FunctionalInterface注解标注，表示这个接口被设计成函数式接口，只能有一个抽象方法，如果...]]></description><category></category></item><item><title><![CDATA[Java8新特性（一） 之 Lambda表达式]]></title><link>https://blog.youkuaiyun.com/Vae023/article/details/105984785</link><guid>https://blog.youkuaiyun.com/Vae023/article/details/105984785</guid><author>Vae023</author><pubDate>Thu, 07 May 2020 23:50:07 +0800</pubDate><description><![CDATA[Lambda表达式是什么
Lambda表达式（lambda expression）是一个匿名函数，由数学中的λ演算而得名。在Java 8中可以把Lambda表达式理解为匿名函数，它没有名称，但是有参数列表、函数主体、返回类型等。
Lambda表达式的语法如下：

(parameters) -&gt; { statements; }

为什么要使用Lambda表达式？前面你也看到了，在Java中使用...]]></description><category></category></item><item><title><![CDATA[《Java开发手册》泰山版来袭！]]></title><link>https://blog.youkuaiyun.com/Vae023/article/details/105920531</link><guid>https://blog.youkuaiyun.com/Vae023/article/details/105920531</guid><author>Vae023</author><pubDate>Mon, 04 May 2020 17:35:26 +0800</pubDate><description><![CDATA[会当凌绝顶，一览众山小
终于迎来了《Java开发手册》的一个新的版本——泰山版。
新版本说明
此次泰山版发布，将带来三大亮点：新增5条日期时间规约；新增2条表别名sql规约；新增统一错误码规约。

5条日期时间规约


【强制】日期格式化时，传入pattern中表示年份统一使用小写的y。
说明：日期格式化时，yyyy表示当天所在的年，而大写的YYYY代表是week in which year（J...]]></description><category></category></item><item><title><![CDATA[2018最新csdn修改博客皮肤模板教程]]></title><link>https://blog.youkuaiyun.com/Vae023/article/details/80752886</link><guid>https://blog.youkuaiyun.com/Vae023/article/details/80752886</guid><author>Vae023</author><pubDate>Wed, 20 Jun 2018 21:28:45 +0800</pubDate><description><![CDATA[原文链接：https://blog.youkuaiyun.com/qq_37142340/article/details/80696318 新版博客不能设置皮肤(点击查看旧版皮肤下线公告),默认皮肤实在不习惯,自己研究了下,发现修改前端代码可以替换,现在分享给大家博客设置 f12打开调试器,用元素选择器选择皮肤,找到下面的代码可以看到每一个皮肤为一个div元素,他们的 class属性名都为opt-skin-b...]]></description><category></category></item><item><title><![CDATA[在windows环境下启动zkServer.cmd失败解决方法]]></title><link>https://blog.youkuaiyun.com/Vae023/article/details/79589513</link><guid>https://blog.youkuaiyun.com/Vae023/article/details/79589513</guid><author>Vae023</author><pubDate>Sat, 17 Mar 2018 11:01:05 +0800</pubDate><description><![CDATA[      最近在搭建zookeeper时，想着就在Windows环境也可以，本以为很顺畅，没想到在启动时就遇到了一些问题。下载首先下载去官网下载就不用说了，会有一些教新的测试版本，想感受使用的也可以选择该版本。我这里选择的是稳定版3.4.11配置然后在解压后将zookeeper-3.4.11\conf\zoo_sample.cfg的模板配置文件拷贝一份名为 zoo.cfg的配置文件，修改里面的d...]]></description><category></category></item><item><title><![CDATA[软件版本 —— Alpha、Beta、RC版本的区别]]></title><link>https://blog.youkuaiyun.com/Vae023/article/details/79589317</link><guid>https://blog.youkuaiyun.com/Vae023/article/details/79589317</guid><author>Vae023</author><pubDate>Sat, 17 Mar 2018 10:01:39 +0800</pubDate><description><![CDATA[一直以来，就软件版本的几个阶段不太清楚，以至于我在下载使用一些软件过程中， 看到了很多除了正式版本外的教新版本带有后缀，不敢轻易使用，来查阅了资料总结下。

软件版本周期

α、β、λ 常用来表示软件测试过程中的三个阶段。

-- α 是第一阶段，一般只供内部测试使用；


-- β是第二个阶段，已经消除了软件中大部分的不完善之处，但仍有可能还存在缺陷和漏洞，一般只提供给特定的用]]></description><category></category></item><item><title><![CDATA[五分钟理解一致性哈希算法(consistent hashing)]]></title><link>https://blog.youkuaiyun.com/Vae023/article/details/77653496</link><guid>https://blog.youkuaiyun.com/Vae023/article/details/77653496</guid><author>Vae023</author><pubDate>Mon, 28 Aug 2017 20:16:14 +0800</pubDate><description><![CDATA[转自：http://blog.youkuaiyun.com/cywosp/article/details/23397179/

一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希（DHT）实现算法，设计目标是为了解决因特网中的热点(Hot spot)问题，初衷和CARP十分类似。一致性哈希修正了CARP使用的简 单哈希算法带来的问题，使得分布式哈希（DHT）可以在P2P环境中真正得到应用。 
]]></description><category></category></item><item><title><![CDATA[CPU-bound(计算密集型) 和I/O bound(I/O密集型)]]></title><link>https://blog.youkuaiyun.com/Vae023/article/details/76684447</link><guid>https://blog.youkuaiyun.com/Vae023/article/details/76684447</guid><author>Vae023</author><pubDate>Fri, 04 Aug 2017 14:37:44 +0800</pubDate><description><![CDATA[I/O密集型 (CPU-bound)I/O bound 指的是系统的CPU效能相对硬盘/内存的效能要好很多，此时，系统运作，大部分的状况是 CPU 在等 I/O (硬盘/内存) 的读/写，此时 CPU Loading 不高。 
CPU bound 指的是系统的 硬盘/内存 效能 相对 CPU 的效能 要好很多，此时，系统运作，大部分的状况是 CPU Loading 100%，CPU 要读/写 I/O]]></description><category></category></item><item><title><![CDATA[利用Hexo + GitHub搭建免费的个人博客]]></title><link>https://blog.youkuaiyun.com/Vae023/article/details/74298953</link><guid>https://blog.youkuaiyun.com/Vae023/article/details/74298953</guid><author>Vae023</author><pubDate>Tue, 04 Jul 2017 11:30:09 +0800</pubDate><description><![CDATA[利用Hexo + GitHub搭建免费的个人博客今天给大家带来一份用Hexo + Github 搭建属于自己的个人博客的教程。其实现在这种博客的搭建方式有很多种。最早我见的是Jekyll、接下来这个Hexo，最近在研究Python发现用Flask和Django都可以搭建的，只是路数不同罢了。
我选择了这个Hexo，目前这个用的人也比较多，应该说是简单易搭建吧，可扩展也可自己美化。话不多说，下面就开始]]></description><category></category></item><item><title><![CDATA[Mybatis传多个参数（三种解决方案）]]></title><link>https://blog.youkuaiyun.com/Vae023/article/details/72636666</link><guid>https://blog.youkuaiyun.com/Vae023/article/details/72636666</guid><author>Vae023</author><pubDate>Tue, 23 May 2017 09:26:03 +0800</pubDate><description><![CDATA[第一种方案 

DAO层的函数方法 




[java] 
view plain 
copy 


Public User selectUser(String name,String area);  

    对应的Mapper.xml




[html] 
view plain 
copy 


select id="selectUser" ]]></description><category></category></item></channel></rss>