<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[weixin_44315921的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/weixin_44315921</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; weixin_44315921]]></copyright><item><title><![CDATA[MySQL-聚集索引与非聚集索引]]></title><link>https://blog.youkuaiyun.com/weixin_44315921/article/details/86652137</link><guid>https://blog.youkuaiyun.com/weixin_44315921/article/details/86652137</guid><author>weixin_44315921</author><pubDate>Thu, 21 Feb 2019 12:03:44 +0800</pubDate><description><![CDATA[数据库中B+树索引可分为聚集索引和非聚集索引，不管是索引是否聚集，内部都是B+树，叶子节点存放着所有的数据。聚集索引与非聚集索引的不同在于叶子结点存放的是否是一整行的信息。
1.聚集索引
数据行的物理顺序与列值（一般是主键的那一列）的逻辑顺序相同，一个表中只能拥有一个聚集索引。
聚集索引就是按照每张表的主键构造一棵B+树，同时叶子结点存放的即为整张表的行记录数据，也将聚集索引的叶子结点称为数据页。...]]></description><category></category></item><item><title><![CDATA[JVM垃圾回收面试总结]]></title><link>https://blog.youkuaiyun.com/weixin_44315921/article/details/87858188</link><guid>https://blog.youkuaiyun.com/weixin_44315921/article/details/87858188</guid><author>weixin_44315921</author><pubDate>Thu, 21 Feb 2019 11:45:56 +0800</pubDate><description><![CDATA[一、 技术背景你要了解吧
按照套路是要先装装X，谈谈JVM垃圾回收的前世今生的。说起垃圾回收（GC），大部分人都把这项技术当做Java语言的伴生产物。事实上，GC的历史比Java久远，早在1960年Lisp这门语言中就使用了内存动态分配和垃圾回收技术。设计和优化C++这门语言的专家们要长点心啦~~
二、 哪些内存需要回收？
猿们都知道JVM的内存结构包括五大区域：程序计数器、虚拟机栈、本地方法栈、...]]></description><category></category></item><item><title><![CDATA[垃圾收集器与内存分配策略--判断对象是否可被回收]]></title><link>https://blog.youkuaiyun.com/weixin_44315921/article/details/87607619</link><guid>https://blog.youkuaiyun.com/weixin_44315921/article/details/87607619</guid><author>weixin_44315921</author><pubDate>Tue, 19 Feb 2019 18:23:09 +0800</pubDate><description><![CDATA[1.引用计数法
给每个对象添加一个以引用计数器，缺点：难以解决循环引用问题
2.可达性分析算法
通过一系列GC Roots 对象作为起点，从这个节点往下搜索，如果一个对象是GC Roots不可达的，则被认为是可回收的。
GC Roots主要包括1）虚拟机栈的局部变量表中引用的对象，2）静态字段引用的对象，3）常量池中引用的对象，4）本地方法栈中引用的对象
3.不同的引用强度
4.生存还是死亡
被列...]]></description><category></category></item><item><title><![CDATA[JVM--对象]]></title><link>https://blog.youkuaiyun.com/weixin_44315921/article/details/86678229</link><guid>https://blog.youkuaiyun.com/weixin_44315921/article/details/86678229</guid><author>weixin_44315921</author><pubDate>Mon, 28 Jan 2019 16:16:50 +0800</pubDate><description><![CDATA[   以HotSpot和内存区域Java堆为例，介绍HotSpot虚拟机在Java堆中对象分配、布局和访问的全过程。

1.对象的创建
1）类的加载检查
虚拟机遇到new指令，首先检查这个指令的参数是否能在常量池中定位到一个类的符号引用，并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有，那必须先执行相应的类的加载过程。
2）虚拟机为新生对象分配内存
对象所需内存大小在类加载完的时...]]></description><category></category></item><item><title><![CDATA[查找--多路查找树（B树）]]></title><link>https://blog.youkuaiyun.com/weixin_44315921/article/details/86540346</link><guid>https://blog.youkuaiyun.com/weixin_44315921/article/details/86540346</guid><author>weixin_44315921</author><pubDate>Fri, 25 Jan 2019 17:50:53 +0800</pubDate><description><![CDATA[待完成

]]></description><category></category></item><item><title><![CDATA[查找--平衡二叉树（VAL树）]]></title><link>https://blog.youkuaiyun.com/weixin_44315921/article/details/86538039</link><guid>https://blog.youkuaiyun.com/weixin_44315921/article/details/86538039</guid><author>weixin_44315921</author><pubDate>Fri, 18 Jan 2019 12:45:36 +0800</pubDate><description><![CDATA[右旋
//P为根节点；L为左子树根节点；
void R_rotate(TreeNode P)
{
  TreeNode L=P.left;//L是旋转后新的根节点，最终L的右子树指向原节点P；
  P.left=L.right;//L的原右子树作为P的左子树
  L.right=P;//L的右子树指向原节点P；
  P=L;//P指向新的根节点。
}




...]]></description><category></category></item><item><title><![CDATA[查找--二叉排序树]]></title><link>https://blog.youkuaiyun.com/weixin_44315921/article/details/86515793</link><guid>https://blog.youkuaiyun.com/weixin_44315921/article/details/86515793</guid><author>weixin_44315921</author><pubDate>Thu, 17 Jan 2019 07:45:45 +0800</pubDate><description><![CDATA[1.查询操作，查询是否有某一值
class TreeNode{
	TreeNode left;
	TreeNode right;
	int  val;
}
public static boolean search(TreeNode root,int key,TreeNode parent,TreeNode out) {
		if(root==null) {//查询失败
			out=parent;...]]></description><category></category></item><item><title><![CDATA[查找]]></title><link>https://blog.youkuaiyun.com/weixin_44315921/article/details/86510627</link><guid>https://blog.youkuaiyun.com/weixin_44315921/article/details/86510627</guid><author>weixin_44315921</author><pubDate>Wed, 16 Jan 2019 18:53:44 +0800</pubDate><description><![CDATA[1顺序表查找
2.有序表查找
2.1chazhi折半查找
while(low&amp;lt;high)
{
  mid=（low+high）/2;
  if（key&amp;lt;array[mid]){
     high=mid-1;
  }
  if(key&amp;gt;array[mid]){
  low=mid+1;
  }
  if(key==array[mid]){
  return mid;
  }
}...]]></description><category></category></item><item><title><![CDATA[数组类算法-2双指针对撞法]]></title><link>https://blog.youkuaiyun.com/weixin_44315921/article/details/86291369</link><guid>https://blog.youkuaiyun.com/weixin_44315921/article/details/86291369</guid><author>weixin_44315921</author><pubDate>Fri, 11 Jan 2019 10:55:17 +0800</pubDate><description><![CDATA[1.盛最多水的容器
给定 n 个非负整数 a1，a2，…，an，每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线，垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线，使得它们与 x 轴共同构成的容器可以容纳最多的水。说明：你不能倾斜容器，且 n 的值至少为 2。

class Solution {
    public int maxArea(in...]]></description><category></category></item><item><title><![CDATA[数组类算法-3滑动窗口法]]></title><link>https://blog.youkuaiyun.com/weixin_44315921/article/details/86290693</link><guid>https://blog.youkuaiyun.com/weixin_44315921/article/details/86290693</guid><author>weixin_44315921</author><pubDate>Fri, 11 Jan 2019 10:44:10 +0800</pubDate><description><![CDATA[一些题目用滑动窗口方法解题，可以将时间复杂度控制在 O(n) 级别，最重要的是定义好滑动窗口，明确它要表达的意思，当然边界和初始值非常重要。
例：长度最小子数组。给定一个含有 n 个正整数的数组和一个正整数 s ，找出该数组中满足其和 ≥ s 的长度最小的连续子数组。如果不存在符合条件的连续子数组，返回 0。
class Solution {
   public int minSubArrayLe...]]></description><category></category></item><item><title><![CDATA[虚拟机-运行时数据区]]></title><link>https://blog.youkuaiyun.com/weixin_44315921/article/details/86167232</link><guid>https://blog.youkuaiyun.com/weixin_44315921/article/details/86167232</guid><author>weixin_44315921</author><pubDate>Wed, 09 Jan 2019 17:55:25 +0800</pubDate><description><![CDATA[
1.程序计数器
计数器表示当前线程所执行的字节码的行号。
线程私有，属于线程私有的内存区域。
2.Java虚拟机栈
线程私有，描述Java方法执行的内存模型：每个方法在执行的同时都会创建一个栈帧（Stack Frame）用于存储局部变量表、操作数栈、动态链接、方法出口等信息。一个方法从调用到执行完成对应一个栈帧在虚拟机栈中的入栈和出栈过程。
规定的异常情况有两种：1.线程请求的栈的深度大于虚拟机...]]></description><category></category></item><item><title><![CDATA[数组类算法-1初始定义法]]></title><link>https://blog.youkuaiyun.com/weixin_44315921/article/details/85988531</link><guid>https://blog.youkuaiyun.com/weixin_44315921/article/details/85988531</guid><author>weixin_44315921</author><pubDate>Mon, 07 Jan 2019 10:29:41 +0800</pubDate><description><![CDATA[关键：定义两个索引

]]></description><category></category></item><item><title><![CDATA[2019.1.3]]></title><link>https://blog.youkuaiyun.com/weixin_44315921/article/details/85711883</link><guid>https://blog.youkuaiyun.com/weixin_44315921/article/details/85711883</guid><author>weixin_44315921</author><pubDate>Thu, 03 Jan 2019 18:45:54 +0800</pubDate><description><![CDATA[
import java.util.*;
 
public class 括号匹配{
 
    public static void main(String[] args){
 
        Scanner scanner = new Scanner(System.in);
 
        while(scanner.hasNextInt()){
 
            int n=s...]]></description><category></category></item><item><title><![CDATA[2019.1.2(迭代器）]]></title><link>https://blog.youkuaiyun.com/weixin_44315921/article/details/85626980</link><guid>https://blog.youkuaiyun.com/weixin_44315921/article/details/85626980</guid><author>weixin_44315921</author><pubDate>Wed, 02 Jan 2019 17:28:27 +0800</pubDate><description><![CDATA[当集合中删除特定元素时，应该使用迭代器实现
错误方式：
import java.util.*;
public class Main {
public static void main(String[] args) {
       List&amp;lt;String&amp;gt; list =new ArrayList&amp;lt;String&amp;gt;();
       list.add(&quot;sbd&quot;);
    ...]]></description><category></category></item><item><title><![CDATA[线性表]]></title><link>https://blog.youkuaiyun.com/weixin_44315921/article/details/85329248</link><guid>https://blog.youkuaiyun.com/weixin_44315921/article/details/85329248</guid><author>weixin_44315921</author><pubDate>Fri, 28 Dec 2018 17:44:55 +0800</pubDate><description><![CDATA[在开始介绍之前，首先对数据结构分类进行介绍。
数据结构定义：相互之间存在一种或多种特定关系的数据元素的集合
描述数据结构的分类方法：

线性表（List）
线性表是根据逻辑结构分类，再从物理结构上分为：1.线性表的顺序存储结构；2.线性表的链式存储结构。
1.线性表的顺序存储结构
查找方便，但是插入和删除所需时间更长。
2.线性表的链式存储结构
2.1链表的创建
public class Node...]]></description><category></category></item></channel></rss>