<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[zcjluse的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/zcjluse</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; zcjluse]]></copyright><item><title><![CDATA[ForkJoinPool线程池大量线程WAITTING]]></title><link>https://blog.youkuaiyun.com/zcjluse/article/details/125974518</link><guid>https://blog.youkuaiyun.com/zcjluse/article/details/125974518</guid><author>zcjluse</author><pubDate>Mon, 25 Jul 2022 15:10:10 +0800</pubDate><description><![CDATA[ForkJoinPool线程池大量线程WAITTING]]></description><category></category></item><item><title><![CDATA[group by 基于临时表和基于B+树的数据结构形式]]></title><link>https://blog.youkuaiyun.com/zcjluse/article/details/121577761</link><guid>https://blog.youkuaiyun.com/zcjluse/article/details/121577761</guid><author>zcjluse</author><pubDate>Sat, 27 Nov 2021 15:31:56 +0800</pubDate><description><![CDATA[前提：在MYSQL 8 以及之后，group by 不会再进行order by 了，所以如果我们不需要排序，那么无须再进行order by null 。

group by 详解：

 如果有索引，那么就会走索引，如果没有索引那么会走全表扫描，此时会有个临时表。

 走临时表的情况：

             取出每一条数据，然后对age做一个唯一索引，每次取出的数据都与updateTime进行对比，如果比它大，那么就会替换到旧值。

 走索引的情况：

  ...]]></description><category></category></item><item><title><![CDATA[二叉堆]]></title><link>https://blog.youkuaiyun.com/zcjluse/article/details/113429061</link><guid>https://blog.youkuaiyun.com/zcjluse/article/details/113429061</guid><author>zcjluse</author><pubDate>Sat, 30 Jan 2021 13:57:56 +0800</pubDate><description><![CDATA[package maxheap;

import java.util.ArrayList;
import java.util.List;

public class Test1 {

     static class MaxHeap{
          ArrayList&lt;Integer&gt; data;

        public MaxHeap(){
            data=new ArrayList&lt;Integer&gt;();
        }
        pu]]></description><category></category></item><item><title><![CDATA[红黑树插入操作步骤分解]]></title><link>https://blog.youkuaiyun.com/zcjluse/article/details/113406547</link><guid>https://blog.youkuaiyun.com/zcjluse/article/details/113406547</guid><author>zcjluse</author><pubDate>Fri, 29 Jan 2021 23:16:39 +0800</pubDate><description><![CDATA[23树是具有绝对平衡的二叉树，即平衡因子是0（AVL树平衡因子控制在1），而红黑树模仿了23树的特征，但是不是真正意义上的平衡树。
画一下23树和红黑树比较一下就清楚了

如上图所示，左边的是23树，右边的是红黑树。
红黑树的特点是左倾斜，即右不能有红色节点，如果有红色节点 要进行如下操作。
1.左旋转,左节点是黑，右结点是红

旋转完成后，交换两个节点的颜色。
2.如果是这种情况，直接改变两个子节点的颜色为黑色，根节点变红，整个过程相当于颜色的翻转

3.还有这种左子树连续两个都是红色的，此时进行右旋转，]]></description><category></category></item><item><title><![CDATA[AVL树-删除操作（维护平衡的操作）]]></title><link>https://blog.youkuaiyun.com/zcjluse/article/details/113388726</link><guid>https://blog.youkuaiyun.com/zcjluse/article/details/113388726</guid><author>zcjluse</author><pubDate>Fri, 29 Jan 2021 15:02:27 +0800</pubDate><description><![CDATA[public Node remove(Node node,int data){
           if( node == null )
               return null;

           Node retNode=node;
            if (data==node.data){
             if (node.left!=null&amp;&amp;node.right!=null){
                 Node min = fin.]]></description><category></category></item><item><title><![CDATA[AVL树-平衡树]]></title><link>https://blog.youkuaiyun.com/zcjluse/article/details/113352585</link><guid>https://blog.youkuaiyun.com/zcjluse/article/details/113352585</guid><author>zcjluse</author><pubDate>Thu, 28 Jan 2021 20:34:05 +0800</pubDate><description><![CDATA[我们先来分析AVL的高度

node.heigh= Math.max(getHeigh(node.left),getHeigh(node.right))+1;`

首先，我们向二叉树插入数据18和45，插入18的时候，根据上述代码，我们从20的左右子节点找到一个高度最高的，也就是30
所在的位置高度1，然后再+1得到20节点所在的高度。我们再插入45的时候，取30左右子节点的最大高度，30的左子节点为null，所以右子节点高度为1，也就是30的高度为2.此时回溯到20节点，20节点的左右子节点最大节点为30]]></description><category></category></item><item><title><![CDATA[二叉搜索树-删除节点]]></title><link>https://blog.youkuaiyun.com/zcjluse/article/details/113276551</link><guid>https://blog.youkuaiyun.com/zcjluse/article/details/113276551</guid><author>zcjluse</author><pubDate>Wed, 27 Jan 2021 22:06:50 +0800</pubDate><description><![CDATA[package binarytree;

public class Test1 {
   static class Node{
        int data;
        Node left;
        Node right;

        public Node(int data){
            this.data=data;
            left=null;
            right=null;
        }

    }
   static c]]></description><category></category></item><item><title><![CDATA[二叉搜索数-查找结点]]></title><link>https://blog.youkuaiyun.com/zcjluse/article/details/113257877</link><guid>https://blog.youkuaiyun.com/zcjluse/article/details/113257877</guid><author>zcjluse</author><pubDate>Wed, 27 Jan 2021 17:32:47 +0800</pubDate><description><![CDATA[package binarytree;

public class Test1 {
   static class Node{
        int data;
        Node left;
        Node right;

        public Node(int data){
            this.data=data;
            left=null;
            right=null;
        }

    }
   static c]]></description><category></category></item><item><title><![CDATA[二叉树-先中后遍历]]></title><link>https://blog.youkuaiyun.com/zcjluse/article/details/113255740</link><guid>https://blog.youkuaiyun.com/zcjluse/article/details/113255740</guid><author>zcjluse</author><pubDate>Wed, 27 Jan 2021 17:09:39 +0800</pubDate><description><![CDATA[package binarytree;

public class Test1 {
   static class Node{
        int data;
        Node left;
        Node right;

        public Node(int data){
            this.data=data;
            left=null;
            right=null;
        }

    }
   static c]]></description><category></category></item><item><title><![CDATA[二分搜索树-递归插入]]></title><link>https://blog.youkuaiyun.com/zcjluse/article/details/113254884</link><guid>https://blog.youkuaiyun.com/zcjluse/article/details/113254884</guid><author>zcjluse</author><pubDate>Wed, 27 Jan 2021 16:57:00 +0800</pubDate><description><![CDATA[package binarytree;

public class Test1 {
   static class Node{
        int data;
        Node left;
        Node right;

        public Node(int data){
            this.data=data;
            left=null;
            right=null;
        }

    }
   static c]]></description><category></category></item><item><title><![CDATA[LinkedHashMap--特性]]></title><link>https://blog.youkuaiyun.com/zcjluse/article/details/113242959</link><guid>https://blog.youkuaiyun.com/zcjluse/article/details/113242959</guid><author>zcjluse</author><pubDate>Wed, 27 Jan 2021 10:47:08 +0800</pubDate><description><![CDATA[我们知道散列表的遍历并不能保证顺序，因为它是经过hash到对应的桶中。
由图中打印的结果来看，LinkedHashMap是可以保证顺序的。我们再来看一组数据的输出结果

Linked的本质其实是在插入的数据中维护一个双向链表。当遍历数据的时候，直接从双向链表中遍历，
get数据的时候会把数据放到尾结点，覆盖数据的先删除原有的数据，然后插入到尾结点

...]]></description><category></category></item><item><title><![CDATA[查找算法-二分查找]]></title><link>https://blog.youkuaiyun.com/zcjluse/article/details/113192724</link><guid>https://blog.youkuaiyun.com/zcjluse/article/details/113192724</guid><author>zcjluse</author><pubDate>Tue, 26 Jan 2021 20:31:29 +0800</pubDate><description><![CDATA[package binarysearch;

import java.util.Arrays;

//二分查找
public class Test1 {
    public static void main(String[] args) {
        int[] numbers= {1,2,3,4,5,7,8,22,33};
        int i = binaySort(numbers, 0, numbers.length -1, 22);
        System.out.println]]></description><category></category></item><item><title><![CDATA[排序算法-选择排序]]></title><link>https://blog.youkuaiyun.com/zcjluse/article/details/113184017</link><guid>https://blog.youkuaiyun.com/zcjluse/article/details/113184017</guid><author>zcjluse</author><pubDate>Tue, 26 Jan 2021 16:50:34 +0800</pubDate><description><![CDATA[package selection;

import java.util.Arrays;

public class Test1 {
    public static void main(String[] args) {
        int[] numbers= {2,1,3,4,5,6,7,8,4,3,2,2,0,-1,-2,100,20,34332};
        for (int i = 0; i &lt; numbers.length; i++) {
            int tem]]></description><category></category></item><item><title><![CDATA[排序算法-插入排序]]></title><link>https://blog.youkuaiyun.com/zcjluse/article/details/113183027</link><guid>https://blog.youkuaiyun.com/zcjluse/article/details/113183027</guid><author>zcjluse</author><pubDate>Tue, 26 Jan 2021 16:20:14 +0800</pubDate><description><![CDATA[package insertion;

import java.util.Arrays;

public class Test1 {
    public static void main(String[] args) {
        int[] numbers= {2,1,3,4,5,6,7,8,4,3,2,2,0,-1,-2,100,20,34332};
        for (int i = 1; i &lt; numbers.length; i++) {
            int tem]]></description><category></category></item><item><title><![CDATA[排序算法-冒泡排序]]></title><link>https://blog.youkuaiyun.com/zcjluse/article/details/113181081</link><guid>https://blog.youkuaiyun.com/zcjluse/article/details/113181081</guid><author>zcjluse</author><pubDate>Tue, 26 Jan 2021 15:20:07 +0800</pubDate><description><![CDATA[package bubble;

import java.util.Arrays;

//冒泡排序，稳定的排序算法，把最大或者最小的数逐渐向右或向左移动
public class Test1 {
    public static void main(String[] args) {
        int[] numbers= {1,2,3,4,5,6,7,8,4,3,2,2};
        for (int i = 0; i &lt;numbers.length ; i++) {
         ]]></description><category></category></item><item><title><![CDATA[排序算法-基数排序（基于桶排序）]]></title><link>https://blog.youkuaiyun.com/zcjluse/article/details/113180496</link><guid>https://blog.youkuaiyun.com/zcjluse/article/details/113180496</guid><author>zcjluse</author><pubDate>Tue, 26 Jan 2021 15:00:42 +0800</pubDate><description><![CDATA[package radix;

import java.util.Arrays;

public class Test1 {
    public static void main(String[] args) {
        String[] numbers={"18144154252","18144154262","18144154253"};
        int[] bucket=null;
        String[] R=null;
        for (int j = 10; j]]></description><category></category></item><item><title><![CDATA[排序算法-桶排序（计数排序）]]></title><link>https://blog.youkuaiyun.com/zcjluse/article/details/113174157</link><guid>https://blog.youkuaiyun.com/zcjluse/article/details/113174157</guid><author>zcjluse</author><pubDate>Tue, 26 Jan 2021 10:08:33 +0800</pubDate><description><![CDATA[package bucket;
//桶排序---计数排序

import java.util.Arrays;

//题目：给分数 0-5分的同志排序 假设 0,2,3,0,2,0,5,4,1
public class Test1 {
    public static void main(String[] args) {
        int[] numbers={2,5,3,0,2,3,0,3};
        //数组下标代表分数 也就是0-5分
        int[] bucket=new .]]></description><category></category></item><item><title><![CDATA[排序算法-快速排序]]></title><link>https://blog.youkuaiyun.com/zcjluse/article/details/113143513</link><guid>https://blog.youkuaiyun.com/zcjluse/article/details/113143513</guid><author>zcjluse</author><pubDate>Mon, 25 Jan 2021 21:48:34 +0800</pubDate><description><![CDATA[package partition;

import java.util.Arrays;

public class Test1 {
    public static void main(String[] args) {
        int[] numbers={1,2,3,4,5,6,0,7,8,9,10,0};
        partitionSort(numbers,0,numbers.length-1);
//        for (int n:numbers) {
//         ]]></description><category></category></item><item><title><![CDATA[排序算法-归并算法]]></title><link>https://blog.youkuaiyun.com/zcjluse/article/details/113122678</link><guid>https://blog.youkuaiyun.com/zcjluse/article/details/113122678</guid><author>zcjluse</author><pubDate>Mon, 25 Jan 2021 17:30:09 +0800</pubDate><description><![CDATA[package merger;

import com.sun.tools.javac.util.ArrayUtils;

/**
 * 归并算法
 */
public class Test1 {

    public static void main(String[] args) {
        int[] numbers={1,4,9,33,2,55,24,6,99};
        mergerSort(numbers);
        for (Integer i: numbers ) {]]></description><category></category></item><item><title><![CDATA[RabbitMQ-直连模式]]></title><link>https://blog.youkuaiyun.com/zcjluse/article/details/111079133</link><guid>https://blog.youkuaiyun.com/zcjluse/article/details/111079133</guid><author>zcjluse</author><pubDate>Sat, 12 Dec 2020 18:06:05 +0800</pubDate><description><![CDATA[public class Product {
    public static void main(String[] args) throws IOException, TimeoutException {
        ConnectionFactory connectionFactory=new ConnectionFactory();
        connectionFactory.setHost("10.211.55.3");
        connectionFactory.setPo.]]></description><category></category></item></channel></rss>