<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Jack‘s Blog]]></title><description><![CDATA[记录老邓程序员之路]]></description><link>https://blog.youkuaiyun.com/cpppp66</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; cpppp66]]></copyright><item><title><![CDATA[mysql8解压版安装与初始化]]></title><link>https://blog.youkuaiyun.com/cpppp66/article/details/118636740</link><guid>https://blog.youkuaiyun.com/cpppp66/article/details/118636740</guid><author>cpppp66</author><pubDate>Sat, 10 Jul 2021 16:30:38 +0800</pubDate><description><![CDATA[mysql8解压版安装与初始化
1、下载解压版：
链接：mysql官网解压版下载地址


.msi  是安装版，想用安装版也可以

解压之后我是解压到了： D:\softwares\mysql\mysql-8.0.25-winx64
1、在mysql安装目录新建一my.ini文件如下：
文件内容为：
[mysql]

# 设置mysql客户端默认字符集

default-character-set=utf8

[mysqld]

#设置3306端口

port = 3306

# 设置mysql的安装目录
]]></description><category></category></item><item><title><![CDATA[课程表，拓扑有向图，广度优先搜索]]></title><link>https://blog.youkuaiyun.com/cpppp66/article/details/117387090</link><guid>https://blog.youkuaiyun.com/cpppp66/article/details/117387090</guid><author>cpppp66</author><pubDate>Sat, 29 May 2021 16:43:22 +0800</pubDate><description><![CDATA[描述
现在你总共有 n 门课需要选，记为 0 到 n-1。
在选修某些课程之前需要一些先修课程。 例如，想要学习课程 0 ，你需要先完成课程 1 ，我们用一个匹配来表示他们: [0,1]
给定课程总量以及它们的先决条件，返回你为了学完所有课程所安排的学习顺序。
可能会有多个正确的顺序，你只要返回一种就可以了。如果不可能完成所有课程，返回一个空数组。
示例 1:
输入: 2, [[1,0]]
输出: [0,1]
解释: 总共有 2 门课程。要学习课程 1，你需要先完成课程 0。因此，正确的课程顺序为 [0,1]]></description><category></category></item><item><title><![CDATA[统计汉明距离]]></title><link>https://blog.youkuaiyun.com/cpppp66/article/details/117365813</link><guid>https://blog.youkuaiyun.com/cpppp66/article/details/117365813</guid><author>cpppp66</author><pubDate>Fri, 28 May 2021 16:40:46 +0800</pubDate><description><![CDATA[题目描述
两个整数的 汉明距离 指的是这两个数字的二进制数对应位不同的数量。
计算一个数组中，任意两个数之间汉明距离的总和。
示例:
输入: 4, 14, 2
输出: 6
解释: 在二进制表示中，4表示为0100，14表示为1110，2表示为0010。（这样表示是为了体现后四位之间关系）
所以答案为：
HammingDistance(4, 14) + HammingDistance(4, 2) + HammingDistance(14, 2) = 2 + 2 + 2 = 6.
注意:
数组中元素的范围为从 ]]></description><category></category></item><item><title><![CDATA[格雷编码（数组中两个连续的数值的2进制形式仅有一个位数的差异）]]></title><link>https://blog.youkuaiyun.com/cpppp66/article/details/117252937</link><guid>https://blog.youkuaiyun.com/cpppp66/article/details/117252937</guid><author>cpppp66</author><pubDate>Tue, 25 May 2021 12:11:38 +0800</pubDate><description><![CDATA[题目描述：
格雷编码是一个二进制数字系统，在该系统中，两个连续的数值仅有一个位数的差异。
给定一个代表编码2进制总位数的非负整数 n，打印其格雷编码序列。即使有多个不同答案，你也只需要返回其中一种。
格雷编码序列必须以 0 开头。
示例 1:
输入: 2
输出: [0,1,3,2]
解释:
00 - 0
01 - 1
11 - 3
10 - 2
对于给定的 n，其格雷编码序列并不唯一。
例如，[0,2,3,1] 也是一个有效的格雷编码序列。
00 - 0
10 - 2
11 - 3
01 - 1
示例 2:]]></description><category></category></item><item><title><![CDATA[四数相加（求四数相加和为0的四元组数目）]]></title><link>https://blog.youkuaiyun.com/cpppp66/article/details/117226634</link><guid>https://blog.youkuaiyun.com/cpppp66/article/details/117226634</guid><author>cpppp66</author><pubDate>Mon, 24 May 2021 16:51:36 +0800</pubDate><description><![CDATA[问题描述：
给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) ，使得 A[i] + B[j] + C[k] + D[l] = 0。
为了使问题简单化，所有的 A, B, C, D 具有相同的长度 N，且 0 ≤ N ≤ 500 。所有整数的范围在 -228 到 228 - 1 之间，最终结果不会超过 231 - 1 。
例如:
输入:
A = [ 1, 2]
B = [-2,-1]
C = [-1, 2]
D = [ 0, 2]
输出:
2
解释:
两个元]]></description><category></category></item><item><title><![CDATA[确定有限状态自动机]]></title><link>https://blog.youkuaiyun.com/cpppp66/article/details/116756300</link><guid>https://blog.youkuaiyun.com/cpppp66/article/details/116756300</guid><author>cpppp66</author><pubDate>Thu, 13 May 2021 17:03:40 +0800</pubDate><description><![CDATA[这是《剑指Offer》中一道比较有意思的题，题目可以查看：
https://leetcode-cn.com/problems/biao-shi-shu-zhi-de-zi-fu-chuan-lcof/
需要判断给定的字符串是否是一个数值。
采用的解题方法是自动机：
自动机的介绍:
确定有限状态自动机（以下简称「自动机」）是一类计算模型。它包含一系列状态，这些状态中：
有一个特殊的状态，被称作「初始状态」。
还有一系列状态被称为「接受状态」，它们组成了一个特殊的集合。其中，一个状态可能既是「初始状态」，也是「]]></description><category></category></item><item><title><![CDATA[子数组异或查询]]></title><link>https://blog.youkuaiyun.com/cpppp66/article/details/116724097</link><guid>https://blog.youkuaiyun.com/cpppp66/article/details/116724097</guid><author>cpppp66</author><pubDate>Wed, 12 May 2021 23:29:07 +0800</pubDate><description><![CDATA[对于leetcode1310:子数组异或查询
详情题目查看：
https://leetcode-cn.com/problems/xor-queries-of-a-subarray/
官方的题解也够明了：
https://leetcode-cn.com/problems/xor-queries-of-a-subarray/solution/zi-shu-zu-yi-huo-cha-xun-by-leetcode-solution/
对于异或小小解释下：

异或就是对n个数的二进制对应位的1的个数进行统计,是奇]]></description><category></category></item><item><title><![CDATA[SpringBoot学习笔记]]></title><link>https://blog.youkuaiyun.com/cpppp66/article/details/116675354</link><guid>https://blog.youkuaiyun.com/cpppp66/article/details/116675354</guid><author>cpppp66</author><pubDate>Tue, 11 May 2021 23:37:39 +0800</pubDate><description><![CDATA[文章目录1、创建入门：2、初讲解SpringBoot3、全局配置文件3.1两种全局配置文件的书写格式3.2原生pojo属性注入方式3.3全局yml配置注入pojo属性3.4@PropertySource实现pojo属性注入4、JSR303数据约束5、多环境配置5.1配置文件存放路径及优先级6、Thymeleaf6.1依赖6.2html中声明6.3基础语法：6.4复用导航栏实现点击哪个图标哪个亮（三目运算符）6.5自定义视图控制6.6工具类6.7th: 用法7、国际化7.1常用资源文件命名规范：7.2html]]></description><category></category></item><item><title><![CDATA[linux学习（含阿里云部署）]]></title><link>https://blog.youkuaiyun.com/cpppp66/article/details/116674624</link><guid>https://blog.youkuaiyun.com/cpppp66/article/details/116674624</guid><author>cpppp66</author><pubDate>Tue, 11 May 2021 23:16:03 +0800</pubDate><description><![CDATA[文章目录Xshell连接教程：linux常用命令Linux概述linux目录文件属性：修改权限vim编辑器磁盘管理进程管理Tomcat命令行启动常用默认端口关于在阿里云部署（CentOS）新web项目若只启动一个项目（还未试验）：SpringBoot项目
Xshell连接教程：

linux常用命令
hostname xxx #修改主机名为xxx

pwd  #（print working directory）确定你当前的工作目录

ls  #显示当前工作目录的内容 

ls -l  #:显示权限

ls ]]></description><category></category></item><item><title><![CDATA[判断已给网格中是否有（上下左右）相邻字符连线形成字符串与word字符串相等（剪枝）]]></title><link>https://blog.youkuaiyun.com/cpppp66/article/details/116140341</link><guid>https://blog.youkuaiyun.com/cpppp66/article/details/116140341</guid><author>cpppp66</author><pubDate>Sun, 25 Apr 2021 23:48:55 +0800</pubDate><description><![CDATA[给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中，返回 true ；否则，返回 false 。
单词必须按照字母顺序，通过相邻的单元格内的字母构成，其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。


这道题的解题思路：
check(i,j,k) 判断从已给网格board的 (i,j)位置出发，能否搜索到字符串 word从第 k 个字符开始的后缀子串。如果能搜索到，则返回 true，反之返回 false。函数]]></description><category></category></item><item><title><![CDATA[Git学习]]></title><link>https://blog.youkuaiyun.com/cpppp66/article/details/116134281</link><guid>https://blog.youkuaiyun.com/cpppp66/article/details/116134281</guid><author>cpppp66</author><pubDate>Sun, 25 Apr 2021 17:34:54 +0800</pubDate><description><![CDATA[Git


Git Bash: unix 与 linux风格的命令行，使用最多，推荐最多 clear


Git CMD ： windows风格的命令行  cls


Git GUI： 图像界面的Git


Git相关配置文件
C:\Users\Razer\.gitconfig   当前登录用户的配置
C:\Program Files\Git\etc    --system 系统级
设置用户名与邮箱（用户标识，必要）
git config --global user.name "jack"  #名称
git]]></description><category></category></item><item><title><![CDATA[计算机网络体系架构]]></title><link>https://blog.youkuaiyun.com/cpppp66/article/details/116130629</link><guid>https://blog.youkuaiyun.com/cpppp66/article/details/116130629</guid><author>cpppp66</author><pubDate>Sun, 25 Apr 2021 16:08:31 +0800</pubDate><description><![CDATA[讲解了架构，以及TCP,UDP之间区别，还讲解为什么DNS同时使用了TCP,UDP。
一般理解为4层。
每层对应的协议
应用层Application协议有：
HTTP超文本传输协议,FTP文件传输协议,SMTP简单邮件传送协议,POP3（post office protocal version-3）邮局协议（用来接收邮件），TELNET远程登录协议 ，SSH（Secure Shell）安全外壳协议  （这些都使用TCP协议）
SNMP简单网络管理协议,DHCP（dynamic host cofigurati]]></description><category></category></item><item><title><![CDATA[Mybatis学习笔记]]></title><link>https://blog.youkuaiyun.com/cpppp66/article/details/116073818</link><guid>https://blog.youkuaiyun.com/cpppp66/article/details/116073818</guid><author>cpppp66</author><pubDate>Sat, 24 Apr 2021 00:15:12 +0800</pubDate><description><![CDATA[文章目录Mybatis使用示例1对于mybatis-config.xml 的属性说明:db.properties 标签内可有多个, 但一个SqlSession实例只能使用一个环境，使用的是default选定的环境事务管理器（transactionManager）数据源（dataSource）  ：输出ERROR 级别以上的日志到 /log/error.logxx.Append = true 表示可以追加 不覆盖文件POJO注解使用：多对一的表关系处理：用两种方法实现StudentMapper接口中返回Stu]]></description><category></category></item><item><title><![CDATA[JVM学习笔记]]></title><link>https://blog.youkuaiyun.com/cpppp66/article/details/116073292</link><guid>https://blog.youkuaiyun.com/cpppp66/article/details/116073292</guid><author>cpppp66</author><pubDate>Fri, 23 Apr 2021 22:21:14 +0800</pubDate><description><![CDATA[JVM
JDK, JRE , JVM:
JDK(Java Development Kit),包括了Java运行环境JRE，一堆Java工具（编译器javac/java/jdb等）和Java基础的类库（即Java API 和java运行时基本类库rt.jar(runtime jar) 。
其中rt.jar包含所有核心Java 运行环境的已编译calss文件,其中包含引导类（bootstrap classes,即来自Core Java API的所有类）。
JRE（Java Runtime Envirnment.]]></description><category></category></item><item><title><![CDATA[Spring学习笔记（较长，可以按照目录看有需要的部分~）]]></title><link>https://blog.youkuaiyun.com/cpppp66/article/details/116073167</link><guid>https://blog.youkuaiyun.com/cpppp66/article/details/116073167</guid><author>cpppp66</author><pubDate>Fri, 23 Apr 2021 22:04:21 +0800</pubDate><description><![CDATA[文章目录简介1、IoC介绍控制反转 Inverse of Control, 一个xml文件就相当于一个Spring容器，在xml文件中部署所有bean，在类中利用annotation注释插入值2、关于注解@Xx的使用1.1 @Component 作用及使用方法1.2 @Component 使用时bean id的命名规则：2、@Component有三个衍生注解 适用于MVC三层架构分开注解，但其实作用都一致3、@Configuration的使用4、完全无xml文件的使用方法5、小结3、AOP （Aspect ]]></description><category></category></item><item><title><![CDATA[关于集合中各种接口，类之间的关系]]></title><link>https://blog.youkuaiyun.com/cpppp66/article/details/116026249</link><guid>https://blog.youkuaiyun.com/cpppp66/article/details/116026249</guid><author>cpppp66</author><pubDate>Thu, 22 Apr 2021 18:43:09 +0800</pubDate><description><![CDATA[另外关于实现类实例化的声明应该使用接口声明还是实现类来声明？
例如 class B implements A{ }, 实例化A时应该使用
A b = new B（）
还是应该使用：
B b = new B(); 呢？

一般情况下建议使用接口声明，即第1种，这利于代码的改动，更加的flexible
当实现类B中具有某些接口A中没有的方法，并且需要被使用时，只能用实现类来声明即第二种。


...]]></description><category></category></item><item><title><![CDATA[快速排序（优化递归栈）]]></title><link>https://blog.youkuaiyun.com/cpppp66/article/details/115983549</link><guid>https://blog.youkuaiyun.com/cpppp66/article/details/115983549</guid><author>cpppp66</author><pubDate>Wed, 21 Apr 2021 23:25:06 +0800</pubDate><description><![CDATA[快速排序：它的基本思想是：通过一趟排序将要排序的数据分割成独立的两部分，其中一部分的所有数据都比另外一部分的所有数据都要小，然后再按此方法对这两部分数据分别进行快速排序，整个排序过程可以递归进行，以此达到整个数据变成有序序列。
package com.QuickSort;

public class Qsort {
    public static void main(String[] args) {
        int[] L={1,2,3,5,4,2,6,77,41};

        quic]]></description><category></category></item><item><title><![CDATA[KMP算法：字符串匹配]]></title><link>https://blog.youkuaiyun.com/cpppp66/article/details/115968384</link><guid>https://blog.youkuaiyun.com/cpppp66/article/details/115968384</guid><author>cpppp66</author><pubDate>Wed, 21 Apr 2021 21:04:14 +0800</pubDate><description><![CDATA[字符串匹配是一道经典的算法问题，经常出现。例如：
给定主串ss，匹配串pp，返回情况有三种：

匹配成功，返回pp在ss中匹配到的第一个字符串的第一个字符的索引。
匹配失败，主串中不存在与匹配串pp相匹配的子串，返回-1
匹配串为空，返回0

以上就相当于Java中String类的public int indexOf(String str)方法。
1、最笨的方法当然就是暴力匹配
  public int strStr(String ss, String pp) {
            int n = s]]></description><category></category></item><item><title><![CDATA[HashMap数据结构剖析（JDK8红黑树）拓展到Integer自动拆装箱及缓存]]></title><link>https://blog.youkuaiyun.com/cpppp66/article/details/115796484</link><guid>https://blog.youkuaiyun.com/cpppp66/article/details/115796484</guid><author>cpppp66</author><pubDate>Sat, 17 Apr 2021 17:15:34 +0800</pubDate><description><![CDATA[近期在研究HaspMap的数据结构，随后将一系列遇到的问题包括hashcode，红黑树等都整理出来如下：
首先要知道HashMap最早的数据结构的存储由数组+链表的方式存储。从JDK8开始变化为数组+链表+红黑树的存储方式，当链表长度超过阈值（8）时，将链表转换为红黑树。在性能上进一步得到提升。

这里先讲解HashMap如何计算出对象hashcode并将其放到指定数组索引的。

1、HashMap先利用key的hashcode（）计算出hashcode（是一个int类型）
2、利用hashcode与 ha]]></description><category></category></item><item><title><![CDATA[关于位运算以及原码反码补码]]></title><link>https://blog.youkuaiyun.com/cpppp66/article/details/115795107</link><guid>https://blog.youkuaiyun.com/cpppp66/article/details/115795107</guid><author>cpppp66</author><pubDate>Sat, 17 Apr 2021 14:52:15 +0800</pubDate><description><![CDATA[计算机组成原理的时候都学过，不过有点生疏了，最近在研究hashcode的时候遇到又重新整理复习了以下。贴在此处给大家观看也方便自己以后查阅~
位运算bit operation：
and运算&amp; （按位与） ： a &amp; b  1&amp;1=1，0&amp;0=0 , 0&amp;1=0
or运算 | （按位或） ： 1 | 1 = 1,     1 | 0 = 1,    0 | 0=0
xor运算 ^ (按位异或）exclusive or ,数学符号为“⊕”，计算机符号为“eor”：
1 ^]]></description><category></category></item></channel></rss>