<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Vampirelzl的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Vampirelzl</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Vampirelzl]]></copyright><item><title><![CDATA[ConcurrentHashMap 源码解析]]></title><link>https://blog.youkuaiyun.com/Vampirelzl/article/details/126548972</link><guid>https://blog.youkuaiyun.com/Vampirelzl/article/details/126548972</guid><author>Vampirelzl</author><pubDate>Sat, 27 Aug 2022 18:39:21 +0800</pubDate><description><![CDATA[JDK 1.8 中的 ConcurrentHashMap 源码解析]]></description><category></category></item><item><title><![CDATA[InnoDB的B+索引]]></title><link>https://blog.youkuaiyun.com/Vampirelzl/article/details/125902424</link><guid>https://blog.youkuaiyun.com/Vampirelzl/article/details/125902424</guid><author>Vampirelzl</author><pubDate>Thu, 21 Jul 2022 23:24:53 +0800</pubDate><description><![CDATA[本文主要讲述 B+ 树在 InnoDB 索引下的实现和产生的背景，不涉及 B+ 树节点的更新算法。]]></description><category></category></item><item><title><![CDATA[MySQL的数据页结构和记录的管理]]></title><link>https://blog.youkuaiyun.com/Vampirelzl/article/details/125793589</link><guid>https://blog.youkuaiyun.com/Vampirelzl/article/details/125793589</guid><author>Vampirelzl</author><pubDate>Sun, 17 Jul 2022 15:27:43 +0800</pubDate><description><![CDATA[MySQL 的页有多种类型，本文主要讲述数据页的结构和记录管理，数据页也就是表中一行一行的数据组成的页。]]></description><category></category></item><item><title><![CDATA[一条SQL语句的执行过程]]></title><link>https://blog.youkuaiyun.com/Vampirelzl/article/details/125770561</link><guid>https://blog.youkuaiyun.com/Vampirelzl/article/details/125770561</guid><author>Vampirelzl</author><pubDate>Thu, 14 Jul 2022 16:03:49 +0800</pubDate><description><![CDATA[本文站在后端开发的角度，讲述一条SQL从客户端发送到MySQL服务器进行处理，并将结果返回给客户端的过程。这个过程中涉及的操作会在后面的文章中做详细的分析。]]></description><category></category></item><item><title><![CDATA[Stream将List转成Map的坑]]></title><link>https://blog.youkuaiyun.com/Vampirelzl/article/details/107744947</link><guid>https://blog.youkuaiyun.com/Vampirelzl/article/details/107744947</guid><author>Vampirelzl</author><pubDate>Sun, 02 Aug 2020 16:27:06 +0800</pubDate><description><![CDATA[1. 背景
常规 list 转 map 的方法：
Map&lt;String, String&gt; map = new HashMap&lt;&gt;();
for (User user : list) {
   	map.put(user.getName(), user.getAddress());
}

这种方式没什么问题，就是代码不够简洁美观，而且逼格不够高。可以通过 Java8 中的 Stream 流来轻松实现这个功能。
Map&lt;String, String&gt; map = list.s]]></description><category></category></item><item><title><![CDATA[Java 注解概论]]></title><link>https://blog.youkuaiyun.com/Vampirelzl/article/details/107140306</link><guid>https://blog.youkuaiyun.com/Vampirelzl/article/details/107140306</guid><author>Vampirelzl</author><pubDate>Sun, 05 Jul 2020 17:34:37 +0800</pubDate><description><![CDATA[Java 注解概论
注解可以简化主流程代码，具体分为以下3个方面：
1.生成文档，在注释中随处可见，例如 @param，@return 等；
2.代替配置文件，Spring 框架经常使用注解来代替XML配置文件，精简代码结构；
3.编译时进行格式检查，例如 @Override；
1. 定义注解
所有注解都继承了 Annotation 接口，但不是采用 implement 关键字实现，而是用 @interface 声明接口来实现继承的逻辑，表示这是一个注解。例如，常见的 @Override 注解。
@Targ]]></description><category></category></item><item><title><![CDATA[Java 函数式编程概论]]></title><link>https://blog.youkuaiyun.com/Vampirelzl/article/details/105590533</link><guid>https://blog.youkuaiyun.com/Vampirelzl/article/details/105590533</guid><author>Vampirelzl</author><pubDate>Fri, 17 Apr 2020 23:38:28 +0800</pubDate><description><![CDATA[1. 函数的基本概念
函数就是将输入转换一种形式进行输出。以数学中的函数为例，假设有一个函数 f(x)=3x+1f(x) = 3x + 1f(x)=3x+1，当输入 x=1x = 1x=1 时，输出 f(x)=4f(x) = 4f(x)=4。Java 中函数的概念类似，以 Comparator 类为例，下面代码是一个函数式接口。其中方法 applyAsInt 表示一种转换关系，相当于数学函数中的 ...]]></description><category></category></item><item><title><![CDATA[基于Anaconda的graphviz使用问题]]></title><link>https://blog.youkuaiyun.com/Vampirelzl/article/details/79138252</link><guid>https://blog.youkuaiyun.com/Vampirelzl/article/details/79138252</guid><author>Vampirelzl</author><pubDate>Tue, 23 Jan 2018 12:28:41 +0800</pubDate><description><![CDATA[想要用graphviz可视化sklearn生成的决策树，运行网上的例子提示无法找到graphviz.exe文件。在sklearn的官网中找到了解决办法。 
在cmd界面输入conda install python-graphviz来安装graphviz。 
举一个例子：



from sklearn.datasets import load_iris
from sklearn import tr]]></description><category></category></item><item><title><![CDATA[226. Invert Binary Tree Difficult: Easy]]></title><link>https://blog.youkuaiyun.com/Vampirelzl/article/details/78440421</link><guid>https://blog.youkuaiyun.com/Vampirelzl/article/details/78440421</guid><author>Vampirelzl</author><pubDate>Fri, 03 Nov 2017 22:48:09 +0800</pubDate><description><![CDATA[Invert a binary tree.     4
   /   \
  2     7
 / \   / \
1   3 6   9to     4
   /   \
  7     2
 / \   / \
9   6 3   1算法分析：可以用层序遍历的方法交换左右子树，也可以直接递归。C语言版struct TreeNode* invertTree(struct TreeNode* roo]]></description><category></category></item><item><title><![CDATA[Maximum Depth of Binary Tree]]></title><link>https://blog.youkuaiyun.com/Vampirelzl/article/details/78379979</link><guid>https://blog.youkuaiyun.com/Vampirelzl/article/details/78379979</guid><author>Vampirelzl</author><pubDate>Sat, 28 Oct 2017 22:10:01 +0800</pubDate><description><![CDATA[Given a binary tree, find its maximum depth.The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.算法解析：既可以用深度优先搜索，也可以用广度优先搜索，前者可以节省代码，后者可以提高速]]></description><category></category></item><item><title><![CDATA[695. Max Area of Island Difficulty: Easy]]></title><link>https://blog.youkuaiyun.com/Vampirelzl/article/details/78379526</link><guid>https://blog.youkuaiyun.com/Vampirelzl/article/details/78379526</guid><author>Vampirelzl</author><pubDate>Sat, 28 Oct 2017 21:28:22 +0800</pubDate><description><![CDATA[Given a non-empty 2D array grid of 0’s and 1’s, an island is a group of 1’s (representing land) connected 4-directionally (horizontal or vertical.) You may assume all four edges of the grid are surroun]]></description><category></category></item><item><title><![CDATA[526. Beautiful Arrangement Difficulty: Medium]]></title><link>https://blog.youkuaiyun.com/Vampirelzl/article/details/78379381</link><guid>https://blog.youkuaiyun.com/Vampirelzl/article/details/78379381</guid><author>Vampirelzl</author><pubDate>Sat, 28 Oct 2017 21:13:22 +0800</pubDate><description><![CDATA[Suppose you have N integers from 1 to N. We define a beautiful arrangement as an array that is constructed by these N numbers successfully if one of the following is true for the ith position (1 <= i <]]></description><category></category></item><item><title><![CDATA[136. Single Number Difficulty: Medium]]></title><link>https://blog.youkuaiyun.com/Vampirelzl/article/details/78232176</link><guid>https://blog.youkuaiyun.com/Vampirelzl/article/details/78232176</guid><author>Vampirelzl</author><pubDate>Sat, 14 Oct 2017 09:49:01 +0800</pubDate><description><![CDATA[Given an array of integers, every element appears twice except for one. Find that single one.Note: 
Your algorithm should have a linear runtime complexity. Could you implement it without using extra me]]></description><category></category></item><item><title><![CDATA[515. Find Largest Value in Each Tree Row Difficulty: Medium]]></title><link>https://blog.youkuaiyun.com/Vampirelzl/article/details/78226808</link><guid>https://blog.youkuaiyun.com/Vampirelzl/article/details/78226808</guid><author>Vampirelzl</author><pubDate>Fri, 13 Oct 2017 15:42:28 +0800</pubDate><description><![CDATA[You need to find the largest value in each row of a binary tree.Example:Input:           1
         / \
        3   2
       / \   \  
      5   3   9 Output: [1, 3, 9]算法分析：考查BFS，或者说是树的层序遍历，但要注意区分每一层。我]]></description><category></category></item><item><title><![CDATA[647. Palindromic Substrings Difficulty: Medium]]></title><link>https://blog.youkuaiyun.com/Vampirelzl/article/details/78214176</link><guid>https://blog.youkuaiyun.com/Vampirelzl/article/details/78214176</guid><author>Vampirelzl</author><pubDate>Thu, 12 Oct 2017 14:04:10 +0800</pubDate><description><![CDATA[Given a string, your task is to count how many palindromic substrings in this string.The substrings with different start indexes or end indexes are counted as different substrings even they consist of]]></description><category></category></item><item><title><![CDATA[540. Single Element in a Sorted Array Difficulty：Medium]]></title><link>https://blog.youkuaiyun.com/Vampirelzl/article/details/78208031</link><guid>https://blog.youkuaiyun.com/Vampirelzl/article/details/78208031</guid><author>Vampirelzl</author><pubDate>Wed, 11 Oct 2017 20:33:46 +0800</pubDate><description><![CDATA[Given a sorted array consisting of only integers where every element appears twice except for one element which appears once. Find this single element that appears only once.Example 1:Input: [1,1,2,3,3]]></description><category></category></item><item><title><![CDATA[406. Queue Reconstruction by Height Difficulty : Medium]]></title><link>https://blog.youkuaiyun.com/Vampirelzl/article/details/78197615</link><guid>https://blog.youkuaiyun.com/Vampirelzl/article/details/78197615</guid><author>Vampirelzl</author><pubDate>Tue, 10 Oct 2017 21:18:14 +0800</pubDate><description><![CDATA[Suppose you have a random list of people standing in a queue. Each person is described by a pair of integers (h, k), where h is the height of the person and k is the number of people in front of this p]]></description><category></category></item><item><title><![CDATA[442. Find All Duplicates in an Array Difficulty : Medium]]></title><link>https://blog.youkuaiyun.com/Vampirelzl/article/details/78196248</link><guid>https://blog.youkuaiyun.com/Vampirelzl/article/details/78196248</guid><author>Vampirelzl</author><pubDate>Tue, 10 Oct 2017 19:17:07 +0800</pubDate><description><![CDATA[Given an array of integers, 1 ≤ a[i] ≤ n (n = size of array), some elements appear twice and others appear once.Find all the elements that appear twice in this array.Could you do it without extra space]]></description><category></category></item><item><title><![CDATA[513. Find Bottom Left Tree Value Difficulty : mediate]]></title><link>https://blog.youkuaiyun.com/Vampirelzl/article/details/78159860</link><guid>https://blog.youkuaiyun.com/Vampirelzl/article/details/78159860</guid><author>Vampirelzl</author><pubDate>Wed, 04 Oct 2017 23:06:39 +0800</pubDate><description><![CDATA[Given a binary tree, find the leftmost value in the last row of the tree.Example 1:Input:    2
   / \
  1   3Output:
1Example 2: Input:        1
       / \
      2   3
     /   / \
    4   5   6]]></description><category></category></item><item><title><![CDATA[463. Island Perimeter Difficulty : Easy]]></title><link>https://blog.youkuaiyun.com/Vampirelzl/article/details/78154216</link><guid>https://blog.youkuaiyun.com/Vampirelzl/article/details/78154216</guid><author>Vampirelzl</author><pubDate>Tue, 03 Oct 2017 11:46:40 +0800</pubDate><description><![CDATA[You are given a map in form of a two-dimensional integer grid where 1 represents land and 0 represents water. Grid cells are connected horizontally/vertically (not diagonally). The grid is completely s]]></description><category></category></item></channel></rss>