<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[XSAAA的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/XSAAA</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; XSAAA]]></copyright><item><title><![CDATA[spring项目——用户管理系统]]></title><link>https://blog.youkuaiyun.com/XSAAA/article/details/119221175</link><guid>https://blog.youkuaiyun.com/XSAAA/article/details/119221175</guid><author>XSAAA</author><pubDate>Thu, 29 Jul 2021 21:54:42 +0800</pubDate><description><![CDATA[用户管理系统功能介绍技术栈数据库脚本部分截图项目下载
功能介绍
该系统实现了注册、登录、用户的增、删（多条删除）、查（列表显示）、改（修改用户部分内容），列表显示实现了分页显示的功能，查找实现了模糊查找（可根据姓名、地址、邮箱查询）。
技术栈
使用的语言是Java，开发工具IDEA2020、JDK1.8。该系统的实现主要用到的是spring、springBoot、spring MVC和Mybatis等相关的内容框架，数据库使用的是MySQL。
数据库脚本
drop database if exists us]]></description><category></category></item><item><title><![CDATA[一篇教会你如何搭建SpringBoot项目]]></title><link>https://blog.youkuaiyun.com/XSAAA/article/details/118307637</link><guid>https://blog.youkuaiyun.com/XSAAA/article/details/118307637</guid><author>XSAAA</author><pubDate>Mon, 28 Jun 2021 17:31:32 +0800</pubDate><description><![CDATA[SpringBoot网页搭建IDEA创建设置启动类常用配置说明
网页搭建
spring.io

压缩包解压文件，使用idea打开即可。
IDEA创建




设置启动类


点击启动并打开浏览器输入localhost：8080

因为没有输入任何信息，所以是这样的。

常用配置说明




Key
Description




debug
开启debug模式的日志打印


logging.level.*:
*为要打印日志的包，值为日志打印级别。例如：logging.level.org.springfram]]></description><category></category></item><item><title><![CDATA[个人博客系统---基本功能的实现]]></title><link>https://blog.youkuaiyun.com/XSAAA/article/details/117756847</link><guid>https://blog.youkuaiyun.com/XSAAA/article/details/117756847</guid><author>XSAAA</author><pubDate>Thu, 10 Jun 2021 00:25:52 +0800</pubDate><description><![CDATA[个人博客用到的工具以及使用到的知识点基本业务框图数据库代码功能实现截图完整项目代码下载
用到的工具以及使用到的知识点
Maven库、JDBC、MySQL、Servlet、Tomcat、HTML、Ajax、jQuery
基本业务框图


数据库代码
-- 创建数据库
drop database if exists myblog;
create database myblog;

-- 注意：不能省略
use myblog;

-- 创建用户表
drop table if exists userform;
cr]]></description><category></category></item><item><title><![CDATA[spring beans.xml]]></title><link>https://blog.youkuaiyun.com/XSAAA/article/details/117693918</link><guid>https://blog.youkuaiyun.com/XSAAA/article/details/117693918</guid><author>XSAAA</author><pubDate>Tue, 08 Jun 2021 11:00:27 +0800</pubDate><description><![CDATA[&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLo]]></description><category></category></item><item><title><![CDATA[软件测试（进阶篇）面试请看]]></title><link>https://blog.youkuaiyun.com/XSAAA/article/details/117390162</link><guid>https://blog.youkuaiyun.com/XSAAA/article/details/117390162</guid><author>XSAAA</author><pubDate>Sat, 05 Jun 2021 13:42:19 +0800</pubDate><description><![CDATA[测试金字塔

SDK，全称：SoftWare DeveLopment Kit，一般是指软件工程师特定的软件包建立的开发工具集合
ROI：投入产出比

从下到上三层模型，投入相同的时间，人力资源等，回报率越来越低；
从下到上，测试的效率越来越低；
从下到上，定位的问题越来越难

单元测试(Unit Testing)
单元测试是对软件组成单元进行测试。其目的是检验软件基本组成单位的正确性。测试的对象是软件设计的最小单位：模块。又称为模块测试。

测试阶段：编码后或者编码前（TDD）
测试对象：最小模块
测试人.]]></description><category></category></item><item><title><![CDATA[JVM（java虚拟机）详细介绍]]></title><link>https://blog.youkuaiyun.com/XSAAA/article/details/117398482</link><guid>https://blog.youkuaiyun.com/XSAAA/article/details/117398482</guid><author>XSAAA</author><pubDate>Mon, 31 May 2021 15:18:09 +0800</pubDate><description><![CDATA[JVM
一、堆
new Object
二、 JVM 栈（JAVA 虚拟机栈）

局部变量
8大基础类型，对象的引用
操作栈：每个方法都会对应一个操作栈
动态链接：执行常量池的方法引用
方法返回地址：PC 寄存器的地址

三、 本地方法栈
四、 程序计数器
用来记录线程执行的行号
五、元空间（JDK 1.8）
JDK 1.7 方法区（永久代）
运行时常量池、字符串常量池，类的元信息  JDK 1.7 的时候的方法区
JDK1.8 元空间：本地内存，并且将字符串常量池
堆划分：
新生代：第一次创建的对象都会分配]]></description><category></category></item><item><title><![CDATA[Java核心---线程进阶]]></title><link>https://blog.youkuaiyun.com/XSAAA/article/details/117335542</link><guid>https://blog.youkuaiyun.com/XSAAA/article/details/117335542</guid><author>XSAAA</author><pubDate>Thu, 27 May 2021 23:10:51 +0800</pubDate><description><![CDATA[乐观锁 VS 悲观锁

乐观锁：（CAS（比较并且交换）、ABA、JUC） 乐观锁假设认为数据一般情况下不会产生并发冲突，所以在数据进行提交更新的时候，才会正式对数据是否产生并发冲突进行检测，如果发现并发生冲突了，则让返回用户错误的信息，让用户决定如何去做。
悲观锁：（synchronized） 总是假设最坏的情况，每次去拿数据的时候都认为别人会修改，所以每次在拿数据的时候都会上锁，这样别人想拿这个数据就会阻塞直到它拿到锁。
悲观锁的问题： 总是需要竞争锁，进而导致发生线程切换，挂起其他线程；所以性能不高；]]></description><category></category></item><item><title><![CDATA[JAVA基础---认识内部类]]></title><link>https://blog.youkuaiyun.com/XSAAA/article/details/117250346</link><guid>https://blog.youkuaiyun.com/XSAAA/article/details/117250346</guid><author>XSAAA</author><pubDate>Tue, 25 May 2021 11:05:28 +0800</pubDate><description><![CDATA[实例内部类
实例化内部类对象
public class OutClass {
    public int val1;
    public int val;
    class InnerClass {
        public int val3;
        public int val4;
    }

    public static void main(String[] args) {
        OutClass out = new OutClass();
        OutC]]></description><category></category></item><item><title><![CDATA[常见线程池详解（一篇足以）]]></title><link>https://blog.youkuaiyun.com/XSAAA/article/details/117042923</link><guid>https://blog.youkuaiyun.com/XSAAA/article/details/117042923</guid><author>XSAAA</author><pubDate>Thu, 20 May 2021 22:53:15 +0800</pubDate><description><![CDATA[线程的缺点

线程的创建需要开辟内存资源：本地方法栈、虚拟机栈、程序计数器等线程私有变量的内存，频繁的创建和消耗会带来一定的性能开销；
使用线程不能很好的管理任务和有好的拒绝任务；

线程池
定义：使用池化技术来管理和使用线程的技术就叫做线程池。
线程池的创建方式
第一种
创建固定个数的线程池
线程池的执行流程：当拿到一个任务后，会判断当前线程池里面的线程数量是否达到最大值，如果有达到创建新的线程执行任务；当任务来了后

线程池里面包含的重要内容（2个）
线程
队列
schedule 区别
没有延迟执行的时]]></description><category></category></item><item><title><![CDATA[必须知道的7大排序---数据结构]]></title><link>https://blog.youkuaiyun.com/XSAAA/article/details/116735281</link><guid>https://blog.youkuaiyun.com/XSAAA/article/details/116735281</guid><author>XSAAA</author><pubDate>Sun, 16 May 2021 00:21:35 +0800</pubDate><description><![CDATA[七大排序直接插入排序性能分析希尔排序性能分析选择排序性能分析冒泡排序性能分析
直接插入排序
每次选择无序区间的第一个元素，在有序区间内选择合适的位置插入
插入排序，初始数据越接近有序，时间效率越高

//直接插入排序
//arr[] = {6,9,3,12,8,1};
    public static void insertSort(int[] arr) {
        for (int i = 0; i &lt; arr.length; i++) {
            int tmp = ar]]></description><category></category></item><item><title><![CDATA[测试笔记（用例篇）]]></title><link>https://blog.youkuaiyun.com/XSAAA/article/details/116802683</link><guid>https://blog.youkuaiyun.com/XSAAA/article/details/116802683</guid><author>XSAAA</author><pubDate>Sat, 15 May 2021 15:29:29 +0800</pubDate><description><![CDATA[等价类
思想：把输入划分为若干个等价类，从每一个等价类当中选一个测试用例进行测试，如果这个测试用例测试通过，我们就说这个等价类测试通过。
有效等价类：根据需求规格，有意义的数据集合。
无效等价类：不符合需要所要求的数据集合。
边界值
针对输入和输出的边界进行测试用例的设计；
因果图法
当输入有很多，不同输入的组合对应不同的输出，用因果图来分析不同输入组合和不同输出之间的关系。
步骤：

分析出所有的输入、输出；
找出输入输出之间的逻辑关系；
根据输入输出之间的关系画因果图；
根据因果图画判定表；
根据判定表]]></description><category></category></item><item><title><![CDATA[JAVA 反射、枚举、 Lambda 表达式详解]]></title><link>https://blog.youkuaiyun.com/XSAAA/article/details/116565285</link><guid>https://blog.youkuaiyun.com/XSAAA/article/details/116565285</guid><author>XSAAA</author><pubDate>Sun, 09 May 2021 17:55:41 +0800</pubDate><description><![CDATA[目录反射反射相关的类反射机制的起源Class类中的相关方法常用获得类相关的方法获取对象的3种方法常用获得类中属性相关的方法获得类中构造器相关的方法获得类中方法相关的方法反射的优缺点优点缺点枚举Enum 类的常用方法Lambda函数式接口Lambda表达式的基本使用Lambda在集合当中的使用Collection接口sort 方法Map 接口总结优点缺点
反射
定义： Java的反射（reflection）机制是在运行状态中，对于任意一个类，都能够知道这个类的所有属性和方法；对于任意一个对象，都能够调用它的任]]></description><category></category></item><item><title><![CDATA[Java核心知识---初识线程]]></title><link>https://blog.youkuaiyun.com/XSAAA/article/details/116031036</link><guid>https://blog.youkuaiyun.com/XSAAA/article/details/116031036</guid><author>XSAAA</author><pubDate>Mon, 26 Apr 2021 16:45:42 +0800</pubDate><description><![CDATA[最早的并发编程是多进程并发编程。
多个进程不能共享资源。
线程（Thread）

进程是系统分配资源的最小单位，线程是系统调度的最小单位。一个进程内的线程之间是可以共享资源的；
一个进程内最少包含一个线程，即主线程；
线程必须依附进程才能存活。
进程不可以共享资源，而线程可以。


线程可以共享的资源
打开的文件
内存（对象）
线程不可共享的资源
线程栈信息
优先级

注意：当线程的数量达到某个合适的值是最好的，如果太多的线程，就会出现线程之间的争抢和CPU的过度调度问题了，而CPU调度是需要消耗系统资源的]]></description><category></category></item><item><title><![CDATA[创建线程的7种方法&单线程 VS 多线程]]></title><link>https://blog.youkuaiyun.com/XSAAA/article/details/116155622</link><guid>https://blog.youkuaiyun.com/XSAAA/article/details/116155622</guid><author>XSAAA</author><pubDate>Mon, 26 Apr 2021 15:23:30 +0800</pubDate><description><![CDATA[目录创建线程的6种方法继承 Thread 类第一种第二种实现 Runnable 接口第三种第四种第五种实现 Callable 接口第六种单线程 VS 多线程
创建线程的6种方法
继承 Thread 类
第一种
/*
    继承Thread类
 */
public class ThreadDemo1 {
    static class MyThread extends Thread {
        @Override
        public void run() {
            //]]></description><category></category></item><item><title><![CDATA[测试（概念篇）笔记]]></title><link>https://blog.youkuaiyun.com/XSAAA/article/details/116061539</link><guid>https://blog.youkuaiyun.com/XSAAA/article/details/116061539</guid><author>XSAAA</author><pubDate>Fri, 23 Apr 2021 17:55:44 +0800</pubDate><description><![CDATA[概念什么是软件测试？测试与调试的区别软件测试的目的和原则一个测试人员所具备的素质什么是需求什么是BUG什么是测试用例开发模型和测试模型软件的生命周期瀑布模型（Waterfall Model）螺旋模型（Spiral Model）迭代、增量模型敏捷模型V模型W模型配置管理配置管理的应用好处
什么是软件测试？

验证软件功能是否满足用户的需求。

测试与调试的区别

目的不同：测试的任务是发现程序中的缺陷；调试的任务是定位并且解决程序中的问题；
参与角色不同：测试主要是由测试人员和开发人员来执行，黑盒测试主要由测]]></description><category></category></item><item><title><![CDATA[初识操作系统（笔记）]]></title><link>https://blog.youkuaiyun.com/XSAAA/article/details/116027471</link><guid>https://blog.youkuaiyun.com/XSAAA/article/details/116027471</guid><author>XSAAA</author><pubDate>Thu, 22 Apr 2021 20:32:19 +0800</pubDate><description><![CDATA[硬件组成：冯诺伊曼体系结构

注意事项：CPU 和输入设备或输出设备不能直接交互，必须依靠中间的存储部分（内存）；

内存 VS 磁盘
内存的读写速度（纳秒级别10^-9）远远大于磁盘（微秒级别）
内存的价格远大于硬盘；
内存中的数据不能持久化（当电脑重启之后就没了）；磁盘的数据可以持久化。
操作系统（任何计算机系统都包含一个基本的程序集合，称为操作系统（OS）
硬件
软件 OS


内核（进程管理，内存管理，文件管理，驱动管理）
其他程序（例如函数库，shell程序等等）


设计OS的目的
与硬件交互，]]></description><category></category></item><item><title><![CDATA[TCP_IP协议（网络层与数据链路层）笔记]]></title><link>https://blog.youkuaiyun.com/XSAAA/article/details/115935599</link><guid>https://blog.youkuaiyun.com/XSAAA/article/details/115935599</guid><author>XSAAA</author><pubDate>Wed, 21 Apr 2021 22:29:16 +0800</pubDate><description><![CDATA[网络层


基本概念
主机: 配有IP地址, 但是不进行路由控制的设备
路由器: 即配有IP地址, 又能进行路由控制
节点: 主机和路由器的统称

协议头格式


4位版本号(version): 指定IP协议的版本, 对于IPv4来说, 就是4；
4位头部长度(header length): IP头部的长度是多少个32bit, 也就是 length * 4 的字节数. 4bit表示最大的数字是15, 因此IP头部最大长度是60字节；
8位服务类型(Type Of Service): 3位优先权字段(已经弃用]]></description><category></category></item><item><title><![CDATA[TCP沾包问题]]></title><link>https://blog.youkuaiyun.com/XSAAA/article/details/115936173</link><guid>https://blog.youkuaiyun.com/XSAAA/article/details/115936173</guid><author>XSAAA</author><pubDate>Wed, 21 Apr 2021 11:35:40 +0800</pubDate><description><![CDATA[目录面向字节流沾包问题代码实现解决方案1代码实现解决方案2代码实现
面向字节流
创建一个TCP的socket, 同时在内核中创建一个 发送缓冲区 和一个 接收缓冲区;

调用write时, 数据会先写入发送缓冲区中；
如果发送的字节数太长, 会被拆分成多个TCP的数据包发出；
如果发送的字节数太短, 就会先在缓冲区里等待, 等到缓冲区长度差不多了, 或者其他合适的时机发送出去；
接收数据的时候, 数据也是从网卡驱动程序到达内核的接收缓冲区;
然后应用程序可以调用read从接收缓冲区拿数据；

沾包问题

粘]]></description><category></category></item><item><title><![CDATA[TCP_IP协议（传输层）笔记]]></title><link>https://blog.youkuaiyun.com/XSAAA/article/details/115921728</link><guid>https://blog.youkuaiyun.com/XSAAA/article/details/115921728</guid><author>XSAAA</author><pubDate>Wed, 21 Apr 2021 09:45:11 +0800</pubDate><description><![CDATA[TCP/IP
应用层：程序员写代码的一层。HTTP、SSH、FTP、DNS
传输层：为了保证两端能够顺利的通讯。TCP、UDP
网络层：用来确定路线和路由选择。
数据链路层：相邻节点的数据接收和转换。

TCP两个对象（客户端和服务器端）
服务器：ServerSocket
客户端：Socket   new Socket（IP，Port）

TCP读写数据的重要对象
读：BufferedReader  socket.getInputStream    读取readLine()
写：BufferedWrite.]]></description><category></category></item><item><title><![CDATA[Linux安装JDK、Tomcat、MYSQL]]></title><link>https://blog.youkuaiyun.com/XSAAA/article/details/115857213</link><guid>https://blog.youkuaiyun.com/XSAAA/article/details/115857213</guid><author>XSAAA</author><pubDate>Mon, 19 Apr 2021 11:09:34 +0800</pubDate><description><![CDATA[接上篇 xshell与xftp的安装使用.
如果没购买服务器的先购买服务器.购买服务器.
目录JDKTomcat12345678MYSQL12345678
JDK
首先双击打开xshell并且连接到服务器
输入 yum list java*
会出现大堆与jdk相关的信息

我们安装java-1.8.0-openjdk。
使用指令yum -y install java-1.8.0-openjdk*
因为我的是已经安装过的所以不会再安装
安装好后出现Complete! 说明已经安装好了

你还可以输入java.]]></description><category></category></item></channel></rss>