<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[RhymeChiang]]></title><description><![CDATA[No Reins on Me]]></description><link>https://blog.youkuaiyun.com/MapleSky2017</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; MapleSky2017]]></copyright><item><title><![CDATA[# 什么是前端重构？]]></title><link>https://blog.youkuaiyun.com/MapleSky2017/article/details/80289323</link><guid>https://blog.youkuaiyun.com/MapleSky2017/article/details/80289323</guid><author>MapleSky2017</author><pubDate>Sat, 12 May 2018 10:31:48 +0800</pubDate><description><![CDATA[前端是做什么的

说到前端，我们往往会随口蹦出一个后端，没错，如果单纯从计算机工程的角度来看待前端所做的工作，就是前端是后端的门面，用个形象的例子来比喻前后端，我们平常使用的手机是前端，而背后的手机系统是后端。而从我们用户使用的角度来看，前端负责与用户做交互，将用户的行为转化为计算机后台程序可以处理的行为。了解了这些，你可能就会明白，前端所做的本职工作就是程序与用户打交道的艺术，而如何做到更好更有...]]></description><category></category></item><item><title><![CDATA[送给自己一首小诗]]></title><link>https://blog.youkuaiyun.com/MapleSky2017/article/details/80289313</link><guid>https://blog.youkuaiyun.com/MapleSky2017/article/details/80289313</guid><author>MapleSky2017</author><pubDate>Sat, 12 May 2018 10:31:01 +0800</pubDate><description><![CDATA[送给自己一首小诗



如果你在面对别人对你的无端指责时，

还能保持清醒的头脑；

如果你在面对众人的怀疑时，还能体谅，

并自信如常不予置评；

如果你能等待而不是心存犹豫，

或者，从不用谎言去应付谎言，

也不必心生仇恨或用仇恨去反击仇恨；

既不故作正经也不夸夸其谈，更不自作聪明； 




如果你充满梦想，又不迷失自我；

如果你有思想，又不止于思考；

如果在成功之时，你不忘形于色，...]]></description><category></category></item><item><title><![CDATA[Rhyme/剑指Offer 8 Java 算法 青蛙跳台阶 斐波那契数列]]></title><link>https://blog.youkuaiyun.com/MapleSky2017/article/details/79255295</link><guid>https://blog.youkuaiyun.com/MapleSky2017/article/details/79255295</guid><author>MapleSky2017</author><pubDate>Sun, 04 Feb 2018 22:04:07 +0800</pubDate><description><![CDATA[剑指Offer 8 Java 算法 青蛙跳台阶 斐波那契数列

package offer8;

/**
 * 一只青蛙一次可以跳上1级台阶，也可以跳上2级
 * 求该青蛙跳上一个n级台阶总共有多少种跳法
 * 
 * 我们用f(n) 表示跳上n级台阶的可以有的跳法
 * 
 * 假设我们一开始跳得是1级台阶，那么还剩下f(n-1)
 * 
 * 假设我们一开始跳得是2级台阶，那么还剩下f(n-2]]></description><category></category></item><item><title><![CDATA[Rhyme/Java 算法 动态规划实现斐波那契]]></title><link>https://blog.youkuaiyun.com/MapleSky2017/article/details/79254899</link><guid>https://blog.youkuaiyun.com/MapleSky2017/article/details/79254899</guid><author>MapleSky2017</author><pubDate>Sun, 04 Feb 2018 21:07:11 +0800</pubDate><description><![CDATA[Java 算法 动态规划实现斐波那契]]></description><category></category></item><item><title><![CDATA[Rhyme/Java NIO 完成学习笔记]]></title><link>https://blog.youkuaiyun.com/MapleSky2017/article/details/79249530</link><guid>https://blog.youkuaiyun.com/MapleSky2017/article/details/79249530</guid><author>MapleSky2017</author><pubDate>Sat, 03 Feb 2018 21:16:54 +0800</pubDate><description><![CDATA[有道云笔记JavaNIO完成学习笔记]]></description><category></category></item><item><title><![CDATA[Rhyme/JUC 完整笔记]]></title><link>https://blog.youkuaiyun.com/MapleSky2017/article/details/79243219</link><guid>https://blog.youkuaiyun.com/MapleSky2017/article/details/79243219</guid><author>MapleSky2017</author><pubDate>Fri, 02 Feb 2018 21:13:23 +0800</pubDate><description><![CDATA[JUC 完整笔记

JUC完整学习笔记有道云笔记]]></description><category></category></item><item><title><![CDATA[Rhyme/JUC 线程按序打印ABCABCABC...]]></title><link>https://blog.youkuaiyun.com/MapleSky2017/article/details/79242722</link><guid>https://blog.youkuaiyun.com/MapleSky2017/article/details/79242722</guid><author>MapleSky2017</author><pubDate>Fri, 02 Feb 2018 20:01:38 +0800</pubDate><description><![CDATA[JUC 线程按序打印ABCABCABC…



package thread.alternate;

import java.util.concurrent.locks.Condition;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;

/**
 * 线程交替打印]]></description><category></category></item><item><title><![CDATA[Rhyme/Java多线程之生产者消费者问题(等待唤醒机制、虚假唤醒、锁机制)]]></title><link>https://blog.youkuaiyun.com/MapleSky2017/article/details/79241233</link><guid>https://blog.youkuaiyun.com/MapleSky2017/article/details/79241233</guid><author>MapleSky2017</author><pubDate>Fri, 02 Feb 2018 17:17:57 +0800</pubDate><description><![CDATA[Java多线程之生产者消费者问题(等待唤醒机制、虚假唤醒、锁机制)



本篇博客由浅入深，先从最基础的生产者消费者问题讲起，然后依次深入



普通的生产者消费者问题

首先我们有一个店员类，模拟进货和卖货操作，店里的商品数量最多为10个 
注意这里我们给进货和卖货方法都加了synchronized的关键字



生产者线程，负责生产商品



消费者线程，负责消费商品



好，然后我们先看运]]></description><category></category></item><item><title><![CDATA[Rhyme/Java8 创建Stream的四种方式]]></title><link>https://blog.youkuaiyun.com/MapleSky2017/article/details/79221001</link><guid>https://blog.youkuaiyun.com/MapleSky2017/article/details/79221001</guid><author>MapleSky2017</author><pubDate>Wed, 31 Jan 2018 19:04:31 +0800</pubDate><description><![CDATA[Java8 创建Stream的四种方式]]></description><category></category></item><item><title><![CDATA[Rhyme/String字符串散列函数]]></title><link>https://blog.youkuaiyun.com/MapleSky2017/article/details/79215491</link><guid>https://blog.youkuaiyun.com/MapleSky2017/article/details/79215491</guid><author>MapleSky2017</author><pubDate>Wed, 31 Jan 2018 11:57:52 +0800</pubDate><description><![CDATA[String字符串散列函数



    package com.maple.hash;

    /**
     * string hash function
     *
     * @author RhymeChiang
     * @date 2018/01/31
     **/
    public class StringHashFunction {
        /**]]></description><category></category></item><item><title><![CDATA[Rhyme/Java 8 四大核心函数式接口]]></title><link>https://blog.youkuaiyun.com/MapleSky2017/article/details/79211708</link><guid>https://blog.youkuaiyun.com/MapleSky2017/article/details/79211708</guid><author>MapleSky2017</author><pubDate>Tue, 30 Jan 2018 22:29:38 +0800</pubDate><description><![CDATA[Java 8 四大核心函数式接口



测试代码

package rhyme;

import org.junit.Test;

import java.util.ArrayList;
import java.util.List;
import java.util.function.Consumer;
import java.util.function.Function;
import java]]></description><category></category></item><item><title><![CDATA[Rhyme/Java8新特性 Lambda表达式基础语法]]></title><link>https://blog.youkuaiyun.com/MapleSky2017/article/details/79199955</link><guid>https://blog.youkuaiyun.com/MapleSky2017/article/details/79199955</guid><author>MapleSky2017</author><pubDate>Mon, 29 Jan 2018 21:15:04 +0800</pubDate><description><![CDATA[有道云笔记Java8新特性 Lambda表达式基础语法]]></description><category></category></item><item><title><![CDATA[Rhyme/阿里巴巴开发手册IDEA代码格式相关配置]]></title><link>https://blog.youkuaiyun.com/MapleSky2017/article/details/79118539</link><guid>https://blog.youkuaiyun.com/MapleSky2017/article/details/79118539</guid><author>MapleSky2017</author><pubDate>Sun, 21 Jan 2018 10:38:42 +0800</pubDate><description><![CDATA[阿里巴巴开发手册IDEA代码格式相关配置

1、采用4个空格缩进

IDEA设置tab为4个空格时，禁止勾选use tab character 




2、IDEA的text file encoding 设置为UTF-8,文件换行符设置为Unix格式

text file encoding 设置



换行符设置



3、单行字符不超过120，

3.1、如果超过，换行时，第二行缩进4个空格，]]></description><category></category></item><item><title><![CDATA[Rhyme/剑指Offer04 由先序遍历和中序遍历构造二叉树Java版]]></title><link>https://blog.youkuaiyun.com/MapleSky2017/article/details/79110969</link><guid>https://blog.youkuaiyun.com/MapleSky2017/article/details/79110969</guid><author>MapleSky2017</author><pubDate>Fri, 19 Jan 2018 21:37:10 +0800</pubDate><description><![CDATA[剑指Offer04 由先序遍历和中序遍历构造二叉树Java版



package offer4;


/**
 * 剑指Offer第四题
 * 
 * 给出先序遍历和中序遍历，
 * 构建出这个二叉树
 * 
 * 假设输入的先序遍历和中序遍历中都没有重复的数字
 * 例如
 * 先序遍历{1,2,4,7,3,5,6,8}
 * 中序遍历{4,7,2,1,5,3,8,6}
 * 
 * 
 *]]></description><category></category></item><item><title><![CDATA[Rhyme/ AVL 平衡二叉数 插入平衡操作 Java版]]></title><link>https://blog.youkuaiyun.com/MapleSky2017/article/details/79092276</link><guid>https://blog.youkuaiyun.com/MapleSky2017/article/details/79092276</guid><author>MapleSky2017</author><pubDate>Thu, 18 Jan 2018 09:46:28 +0800</pubDate><description><![CDATA[AVL 平衡二叉数 插入平衡操作 Java版



package com.maple.avl.tree;

/**
 * 实现一棵AVL二叉平衡树的插入平衡操作
 * 
 * 树的深度为logN
 *
 * @author RhymeChiang
 * @date 2018/01/18
 **/
public class AVLTreeT extends Comparablesuper T>>]]></description><category></category></item><item><title><![CDATA[Rhyme/查找树ADT-二叉查找树的简单模拟Java版]]></title><link>https://blog.youkuaiyun.com/MapleSky2017/article/details/79090668</link><guid>https://blog.youkuaiyun.com/MapleSky2017/article/details/79090668</guid><author>MapleSky2017</author><pubDate>Wed, 17 Jan 2018 22:16:56 +0800</pubDate><description><![CDATA[查找树ADT-二叉查找树的简单模拟Java版

package my.binary.search.tree;

/**
 * 查找树 ADT 二叉查找树的实现
 * 假设元素类型为Integer
 *
 * @author RhymeChiang
 * @date 2018/01/17
 **/
public class BinarySearchTreeT extends Comparablesu]]></description><category></category></item><item><title><![CDATA[Rhyme/剑指Offer06 Java 旋转数组找最小值]]></title><link>https://blog.youkuaiyun.com/MapleSky2017/article/details/79063733</link><guid>https://blog.youkuaiyun.com/MapleSky2017/article/details/79063733</guid><author>MapleSky2017</author><pubDate>Mon, 15 Jan 2018 13:55:04 +0800</pubDate><description><![CDATA[剑指Offer06 Java 旋转数组找最小值

package offer6;

/**
 * 把一个数组最开始的若干个元素搬到数组的末尾，
 * 我们称之为数组的旋转。
 * 输入一个非递减排序的数组的一个旋转，
 * 输出旋转数组的最小元素。
 * 例如：数组{3,4,5,1,2}是{1,2,3,4,5}的一个旋转
 * 该数组的最小值为1
 * 求出旋转数组中的最小值
 * 
 * 思路:]]></description><category></category></item><item><title><![CDATA[Rhyme/剑指Offer Java05 拓展 用两个队列实现一个栈的push和pop操作]]></title><link>https://blog.youkuaiyun.com/MapleSky2017/article/details/79063213</link><guid>https://blog.youkuaiyun.com/MapleSky2017/article/details/79063213</guid><author>MapleSky2017</author><pubDate>Mon, 15 Jan 2018 12:52:03 +0800</pubDate><description><![CDATA[剑指Offer Java05 拓展 用两个队列实现一个栈的push和pop操作



package offer5.extend;

import offer5.Offer5;

import java.util.LinkedList;
import java.util.Queue;

/**
 * 用两个队列实现一个栈的push和pop操作
 * 
 * 思路:
 * 
 * 有两个队列A、B]]></description><category></category></item><item><title><![CDATA[Rhyme/剑指Offer Java 05 用两个栈实现一个队列Java版]]></title><link>https://blog.youkuaiyun.com/MapleSky2017/article/details/79062907</link><guid>https://blog.youkuaiyun.com/MapleSky2017/article/details/79062907</guid><author>MapleSky2017</author><pubDate>Mon, 15 Jan 2018 11:55:16 +0800</pubDate><description><![CDATA[剑指Offer Java 05 用两个栈实现一个队列Java版



package offer5;

import java.util.Stack;

/**
 * 用两个栈来实现一个队列，
 * 完成队列的push和pop操作
 * 
 * 思路:
 *  
 *  运用栈的特性后进先出
 *  那么如果我先将元素放入一个栈A中
 *  那么将栈A中的元素pop并push进栈B中
 *  那么]]></description><category></category></item><item><title><![CDATA[Rhyme/五分钟源码Java【Serializable接口IV】]]></title><link>https://blog.youkuaiyun.com/MapleSky2017/article/details/79062434</link><guid>https://blog.youkuaiyun.com/MapleSky2017/article/details/79062434</guid><author>MapleSky2017</author><pubDate>Mon, 15 Jan 2018 11:18:25 +0800</pubDate><description><![CDATA[五分钟源码Java【Serializable接口I】

五分钟源码Java【Serializable接口II】

五分钟源码Java【Serializable接口III】

五分钟源码Java【Serializable接口IV】


  * 
   * Serializable classes that need to designate an alternative object to be]]></description><category></category></item></channel></rss>