<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[痞子王的博客]]></title><description><![CDATA[技术人生杂谈]]></description><link>https://blog.youkuaiyun.com/u014736082</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; u014736082]]></copyright><item><title><![CDATA[K8s基础]]></title><link>https://blog.youkuaiyun.com/u014736082/article/details/134724519</link><guid>https://blog.youkuaiyun.com/u014736082/article/details/134724519</guid><author>u014736082</author><pubDate>Thu, 30 Nov 2023 23:55:50 +0800</pubDate><description><![CDATA[Kubernetes是一个可以移植、可扩展的开源平台，使用 声明式的配置 并依据配置信息自动地。在所有的容器编排工具中（类似的还有 docker swarm / mesos等），Kubernetes的生态系统更大、增长更快，有更多的支持、服务和工具可供用户选择。Kubernetes的名字起源于希腊语，含义是 舵手、领航员、向导。Google于2014年将Brog系统开源为Kubernetes。]]></description><category></category></item><item><title><![CDATA[解决Parameter ‘xxxList‘ not found. Available parameters are [Collection,list]]]></title><link>https://blog.youkuaiyun.com/u014736082/article/details/125161527</link><guid>https://blog.youkuaiyun.com/u014736082/article/details/125161527</guid><author>u014736082</author><pubDate>Tue, 07 Jun 2022 11:07:12 +0800</pubDate><description><![CDATA[造成这个错误的主要原因写法错误]]></description><category></category></item><item><title><![CDATA[java实现绘制命令行二叉树]]></title><link>https://blog.youkuaiyun.com/u014736082/article/details/124787789</link><guid>https://blog.youkuaiyun.com/u014736082/article/details/124787789</guid><author>u014736082</author><pubDate>Sun, 15 May 2022 20:51:14 +0800</pubDate><description><![CDATA[题目描述
二叉树是一种基本的数据结构，它要么为空，要么由根节点，左子树和右子树组成，同时左子树和右子树也分别是二叉树。
当一颗二叉树高度为m-1m−1时，则共有mm层。除mm层外，其他各层的结点数都达到最大，且结点节点都在第mm层时，这就是一个满二叉树。
现在，需要你用程序来绘制一棵二叉树，它由一颗满二叉树去掉若干结点而成。对于一颗满二叉树，我们需要按照以下要求绘制：
1、结点用小写字母“o”表示，对于一个父亲结点，用“/”连接左子树，同样用“\”连接右子树。
2、定义[i,j[i,j]为位于第ii行第jj]]></description><category></category></item><item><title><![CDATA[图的基本思想和实现]]></title><link>https://blog.youkuaiyun.com/u014736082/article/details/124720345</link><guid>https://blog.youkuaiyun.com/u014736082/article/details/124720345</guid><author>u014736082</author><pubDate>Wed, 11 May 2022 22:13:28 +0800</pubDate><description><![CDATA[图的基础概念]]></description><category></category></item><item><title><![CDATA[红黑树实现]]></title><link>https://blog.youkuaiyun.com/u014736082/article/details/124655966</link><guid>https://blog.youkuaiyun.com/u014736082/article/details/124655966</guid><author>u014736082</author><pubDate>Sun, 08 May 2022 22:19:28 +0800</pubDate><description><![CDATA[红黑树-特殊的二叉搜索树
红黑树(Red-Black Tree，简称R-B Tree)，它一种特殊的二叉查找树。
红黑树是特殊的二叉查找树，意味着它满足二叉查找树的特征：任意一个节点所包含的键值，大于等于左孩子的键值，小于等于右孩子的键值。
# 特殊的特征
除了具备该特性之外，红黑树还包括许多额外的信息。


每个节点或者是黑色，或者是红色。


根节点是黑色。


每个叶子节点是黑色。 注意：这里叶子节点，是指为空的叶子节点！


如果一个节点是红色的，则它的子节点必须是黑色的。


从一个节点到该节点的]]></description><category></category></item><item><title><![CDATA[线性表（链表）]]></title><link>https://blog.youkuaiyun.com/u014736082/article/details/124620432</link><guid>https://blog.youkuaiyun.com/u014736082/article/details/124620432</guid><author>u014736082</author><pubDate>Sat, 07 May 2022 17:30:00 +0800</pubDate><description><![CDATA[线性表
#学习目标

掌握线性表基础思想、优缺点、常见分类，能复述；
能使用java代码实现线性表创建，元素插入、删除、元素修改、查找；
完成一道相关题目。

#基础思想、优缺点
1.基础思想
在内存中可以非连续存储，提高空间利用率，理论上其大小是内容能使用空间的大小（非连续）；
2.优缺点
优点：

空间无限制
插入元素、删除元素很快

缺点：
查找速度很慢。
#常见分类
**单向链表：**一个节点只指向下一个节点
**双向链表：**一个节点同时包含下一个节点和上一个节点的引用（指针）
**环形链表：**]]></description><category></category></item><item><title><![CDATA[查找二叉树]]></title><link>https://blog.youkuaiyun.com/u014736082/article/details/124620412</link><guid>https://blog.youkuaiyun.com/u014736082/article/details/124620412</guid><author>u014736082</author><pubDate>Fri, 06 May 2022 22:28:08 +0800</pubDate><description><![CDATA[二叉搜索树
Binary Search Tree 能够用于快速查找的存储数据结构，左子树值&lt;根节点值&lt;右子树值
# 定义
它或者是一棵空树，或者是具有下列性质的二叉树：


若它的左子树不空，则左子树上所有结点的值均小于它的根结点的值；


若它的右子树不空，则右子树上所有结点的值均大于它的根结点的值；


它的左、右子树也分别为二叉排序树。


# 遍历
以遍历根节点的顺序来定义


前序遍历：根-左-右


中序遍历：左-根-右  —&gt;遍历结果为有序递增序列


后序遍历：左-右-根
]]></description><category></category></item><item><title><![CDATA[平衡二叉树]]></title><link>https://blog.youkuaiyun.com/u014736082/article/details/124620374</link><guid>https://blog.youkuaiyun.com/u014736082/article/details/124620374</guid><author>u014736082</author><pubDate>Fri, 06 May 2022 22:27:09 +0800</pubDate><description><![CDATA[平衡二叉树
Balanced Binary Tree,左右子树高度差不超过1，因此能够保证很好的插入和查找效率
# 定义


左右子树高度差不超过1


左右子树也是平衡二叉树


空二叉树是平衡二叉树


#实现
节点定义
package com.piziwang.tree.avltree;

/**
 * 平衡二叉树 Balance Binary Tree
 * @author PIZIWANG
 * @date 2022-05-05 21:37
 **/
public class AVLTree&lt]]></description><category></category></item><item><title><![CDATA[java类加载器-类加载的过程]]></title><link>https://blog.youkuaiyun.com/u014736082/article/details/124002462</link><guid>https://blog.youkuaiyun.com/u014736082/article/details/124002462</guid><author>u014736082</author><pubDate>Wed, 06 Apr 2022 22:47:31 +0800</pubDate><description><![CDATA[类加载器-类加载的过程
类加载器  java-&gt;class文件（编译后的字节码文件），负责将class文件加载进内存中

1.类在什么时候会被加载到内存中？

触感见类的实例（对象）
掉用类的类方法（静态方法）
访问类活着呢接口的类变量，或者为该类变量赋值（静态变量）
使用反射的方式来强制创建某个类或接口对应的java.lang.Class对象
初始化某个类的子类（子类依赖父类）
直接试用java.exe命令来运行某个主类


用到就加载，不用不加载

2.类加载过程




加载

通过包名 + 类]]></description><category></category></item><item><title><![CDATA[java时间日期类]]></title><link>https://blog.youkuaiyun.com/u014736082/article/details/123967084</link><guid>https://blog.youkuaiyun.com/u014736082/article/details/123967084</guid><author>u014736082</author><pubDate>Tue, 05 Apr 2022 12:00:28 +0800</pubDate><description><![CDATA[时间日期类
日期类
1.规定

计算机中的起始时间： 1970年1月1日  00:00:00（c语言的诞生时间）
long time = System.currentTimeMillis()-&gt;时间原点到当前时间过去的毫秒数
北京时间需要在世界标准时间上加8小时。

2.Date类概述和构造方法和成员方法
Date 代表了一个特定的时间，精确到毫秒
构造方法：
//创建一个Date对象，表示默认时间
Date date1 = new Date();//表示电脑中当前时间
//创建要给对象，表示默认时间]]></description><category></category></item><item><title><![CDATA[二分查找基础算法]]></title><link>https://blog.youkuaiyun.com/u014736082/article/details/123962848</link><guid>https://blog.youkuaiyun.com/u014736082/article/details/123962848</guid><author>u014736082</author><pubDate>Mon, 04 Apr 2022 23:19:18 +0800</pubDate><description><![CDATA[这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题，有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能，丰富你的文章UML 图表FLowchart流程图导出与导入导出导入
欢迎使用Markdown编辑器
你好！ 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar]]></description><category></category></item><item><title><![CDATA[递归基础算法]]></title><link>https://blog.youkuaiyun.com/u014736082/article/details/123931178</link><guid>https://blog.youkuaiyun.com/u014736082/article/details/123931178</guid><author>u014736082</author><pubDate>Sat, 02 Apr 2022 23:22:14 +0800</pubDate><description><![CDATA[递归算法
1.  递归【应用】


递归的介绍

以编程的角度来看，递归指的是方法定义中调用方法本身的现象
把一个复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解
递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算



递归的基本使用
public class MyFactorialDemo2 {
    public static void main(String[] args) {
        int sum = getSum(100);
        System.out.]]></description><category></category></item><item><title><![CDATA[快速排序基础算法]]></title><link>https://blog.youkuaiyun.com/u014736082/article/details/123909065</link><guid>https://blog.youkuaiyun.com/u014736082/article/details/123909065</guid><author>u014736082</author><pubDate>Fri, 01 Apr 2022 21:59:39 +0800</pubDate><description><![CDATA[快速排序
一、算法描述

每一轮排序选择一个基准点（pivot）进行分区

让小于基准点的元素的进入一个分区，大于基准点的元素的进入另一个分区
当分区完成时，基准点元素的位置就是其最终位置


在子分区内重复以上过程，直至子分区元素个数少于等于 1，这体现的是分而治之的思想 （divide-and-conquer）
从以上描述可以看出，一个关键在于分区算法，常见的有洛穆托分区方案、双边循环分区方案、霍尔分区方案

二、单边循环快排（lomuto 洛穆托分区方案）


选择最右元素作为基准点元素


j 指针]]></description><category></category></item><item><title><![CDATA[插入排序算法]]></title><link>https://blog.youkuaiyun.com/u014736082/article/details/123887047</link><guid>https://blog.youkuaiyun.com/u014736082/article/details/123887047</guid><author>u014736082</author><pubDate>Thu, 31 Mar 2022 23:55:39 +0800</pubDate><description><![CDATA[插入排序
1.插入排序规则

划分两个子序列，有序的和无序的；
从无序序列中取出一个元素，插入到有序序列（保证顺序）。扩大有序子序列，减小无序子序列；
重复以上步骤.

public static void insert(int[] a){
    //i 代表待插入元素的索引，1个元素默认有序
    for(int i = 1;i&lt; a.length;i++){
        int t = a[i];//代表插入的元素值
        int j=i-1;//代表已排序子序列的元素索引
  ]]></description><category></category></item><item><title><![CDATA[选择排序算法]]></title><link>https://blog.youkuaiyun.com/u014736082/article/details/123859869</link><guid>https://blog.youkuaiyun.com/u014736082/article/details/123859869</guid><author>u014736082</author><pubDate>Wed, 30 Mar 2022 23:02:51 +0800</pubDate><description><![CDATA[选择排序
1.选择排序规则

先找出未排序序列中的最值元素；
将找出元素放入已排序序列；
在未排序序列中再次重复执行前两步操作；
未排序序列长度为0，结束排序。

public static void selection(int[] a){
    for(int i = 0;i &lt; a.length-1;i++){
        //i代表每轮选择最小元素要交换到的目标索引（这个位置的元素这轮要有序）
        int s = i;
        for(int j=s+1;j&lt;a.]]></description><category></category></item><item><title><![CDATA[冒泡排序算法]]></title><link>https://blog.youkuaiyun.com/u014736082/article/details/123859766</link><guid>https://blog.youkuaiyun.com/u014736082/article/details/123859766</guid><author>u014736082</author><pubDate>Wed, 30 Mar 2022 22:59:39 +0800</pubDate><description><![CDATA[冒泡排序，及两类冒泡排序优化]]></description><category></category></item><item><title><![CDATA[多线程初步]]></title><link>https://blog.youkuaiyun.com/u014736082/article/details/123834468</link><guid>https://blog.youkuaiyun.com/u014736082/article/details/123834468</guid><author>u014736082</author><pubDate>Tue, 29 Mar 2022 22:57:34 +0800</pubDate><description><![CDATA[一、多线程基本概念
1.并发和并行
并行：在多个cpu中同时进行，任务不中断
并发：多个任务在一个cpu中切换执行，任务会中断（挂起、继续和终止）
2.进程和线程
进程：正在运行的软件

独立性：进程是独立运行的基本单位，同时也是系统分配资源和调度的独立单位
动态性：实质是程序的一次执行过程，进程是动态产生、动态消亡的。
并发性：任何进程和其它进程一起并发执行
线程：进程中的单个顺序控制流，是一条执行路径。
单线程：一个进程中如果只有一条执行路径，则称为单线程程序。
多线程：一个进程如果有多条执行路径，则称]]></description><category></category></item><item><title><![CDATA[23种常用设计模式]]></title><link>https://blog.youkuaiyun.com/u014736082/article/details/122936105</link><guid>https://blog.youkuaiyun.com/u014736082/article/details/122936105</guid><author>u014736082</author><pubDate>Tue, 15 Feb 2022 09:16:58 +0800</pubDate><description><![CDATA[23种常用设计模式
记录一下这常用的23 种设计模式，以方便日后复习和查阅




分类
设计模式
简述
一句话归纳
目的
生活案例




创建型设计模式 （简单来说就是用来创建对象的）
工厂模式（Factory Pattern）
不同条件下创建不同实例
产品标准化，生产更高效
封装创建细节
实体工厂


单例模式（Singleton Pattern）
保证一个类仅有一个实例，并且提供一个全局访问点
世上只有一个我
保证独一无二
CEO



原型模式（Prototype Pattern）
通过拷贝原型创]]></description><category></category></item><item><title><![CDATA[Vue基础学习]]></title><link>https://blog.youkuaiyun.com/u014736082/article/details/122536415</link><guid>https://blog.youkuaiyun.com/u014736082/article/details/122536415</guid><author>u014736082</author><pubDate>Mon, 17 Jan 2022 11:33:19 +0800</pubDate><description><![CDATA[引自：https://mrbird.cc/Vue-Learn-Note.html mrbird大佬博客
Vue 入门
&lt;!DOCTYPE html&gt;&lt;html lang="en"&gt;&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;title&gt;todoList&lt;/title&gt;
    &lt;script src="https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue]]></description><category></category></item><item><title><![CDATA[spring security基本概念]]></title><link>https://blog.youkuaiyun.com/u014736082/article/details/119040302</link><guid>https://blog.youkuaiyun.com/u014736082/article/details/119040302</guid><author>u014736082</author><pubDate>Fri, 23 Jul 2021 17:44:58 +0800</pubDate><description><![CDATA[1.基本概念
1.1什么是认证
认证：判断一个用户的身份是否合法的过程。二维码登录、刷脸、密码都算。
1.2什么是会话
为了避免用户的每次操作都需要进行认证，可以将用户的信息保存在会话中，常见的有基于session的方式，基于token的方式。
session方式：
①用户登录成功，服务器会创建一个session,并返回给客户端ssid，存储在客户端cookie中，用户访问会携带ssid，服务器进行比较。
token方式：
①用户认证成功后，服务端生成一个token发给客户端(服务端不存储token,通过生]]></description><category></category></item></channel></rss>