<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[知行合一^_^的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/yhc813</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; yhc813]]></copyright><item><title><![CDATA[Mybatis知识点梳理（收藏）]]></title><link>https://blog.youkuaiyun.com/yhc813/article/details/117718754</link><guid>https://blog.youkuaiyun.com/yhc813/article/details/117718754</guid><author>yhc813</author><pubDate>Wed, 09 Jun 2021 00:05:36 +0800</pubDate><description><![CDATA[Mybatis知识点梳理
一、什么是Mybatis？
	1. Mybatis是一个半ORM（对象关系映射）框架，它内部封装了JDBC，开发时只需要关注SQL语句本身，不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。开发人员直接编写原生态sql，即可严格控制sql执行性能、且灵活度高。
	2. Mybatis可以使用XML或注解来配置和映射原生信息，将POJO映射成数据库中的记录，避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。
	3. 通过xml文件或注解的方式将要执行]]></description><category></category></item><item><title><![CDATA[SQL语句的进阶之路]]></title><link>https://blog.youkuaiyun.com/yhc813/article/details/103714547</link><guid>https://blog.youkuaiyun.com/yhc813/article/details/103714547</guid><author>yhc813</author><pubDate>Thu, 26 Dec 2019 14:17:59 +0800</pubDate><description><![CDATA[1.sql语句学习 https://www.w3school.com.cn/sql/index.asp
2.sql语句测验 https://www.w3school.com.cn/sql/sql_quiz.asp
3.sql语句在线练习 http://sample.jimstone.com.cn/xsql/
4.sql语句练习50题(Mysql版)

...]]></description><category></category></item><item><title><![CDATA[如何实现一个线程安全的单例，在不能加锁的前提下？]]></title><link>https://blog.youkuaiyun.com/yhc813/article/details/103083878</link><guid>https://blog.youkuaiyun.com/yhc813/article/details/103083878</guid><author>yhc813</author><pubDate>Fri, 15 Nov 2019 13:47:42 +0800</pubDate><description><![CDATA[单例模式，属于创建类型的一种常用的软件设计模式。通过单例模式的方法创建的类在当前进程中只有一个实例（根据需要，也有可能一个线程中属于单例，如：仅线程上下文内使用同一个实例）。
单例相信大家都不陌生，它是java中很重要的一个设计模式。稍微了解一点单例的朋友也都知道实现单例是要考虑并发问题的，一般情况下，我们都会使用synchronized来保证线程安全。
那如果在不使用synchronized和l...]]></description><category></category></item><item><title><![CDATA[非常典型的死锁]]></title><link>https://blog.youkuaiyun.com/yhc813/article/details/103074923</link><guid>https://blog.youkuaiyun.com/yhc813/article/details/103074923</guid><author>yhc813</author><pubDate>Thu, 14 Nov 2019 21:04:38 +0800</pubDate><description><![CDATA[死锁
死锁是指两个或两个以上的进程在执行过程中，由于竞争资源或者由于彼此通信而造成的一种阻塞的现象，若无外力作用，它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁，这些永远在互相等待的进程称为死锁进程。
1、定义两个锁
public class MyLock {

	public static final Object LOCKA = new Object();
	public sta...]]></description><category></category></item><item><title><![CDATA[从源码和代码相结合分析StringBuffer类及扩容原理]]></title><link>https://blog.youkuaiyun.com/yhc813/article/details/103048659</link><guid>https://blog.youkuaiyun.com/yhc813/article/details/103048659</guid><author>yhc813</author><pubDate>Wed, 13 Nov 2019 14:36:36 +0800</pubDate><description><![CDATA[StringBuffer类的概念
线程安全的可变字符序列。一个类似于 String的字符串缓冲区，但不能修改。虽然在任意时间点上它都包含某种特定的字符序列，但通过某些方法调用可以改变该序列的长度和内容。
StringBuffer上的主要操作是 append 和 insert 方法，可重载这些方法，以接受任意类型的数据。每个方法都能有效地将给定的数据转换成字符串，然后将该字符串的字符添加或插入到字符...]]></description><category></category></item><item><title><![CDATA[从源码看==和equals的区别]]></title><link>https://blog.youkuaiyun.com/yhc813/article/details/102988822</link><guid>https://blog.youkuaiyun.com/yhc813/article/details/102988822</guid><author>yhc813</author><pubDate>Sat, 09 Nov 2019 16:45:39 +0800</pubDate><description><![CDATA[==和equals的区别和联系
“==”是关系运算符，equals()是方法，同时他们的结果都返回布尔值；
“==”使用情况如下：
​	a)基本类型，比较的是值
​	b)引用类型，比较的是地址
​	c)不能比较没有父子关系的两个对象
equals()方法使用如下：
​	a)系统类一般已经覆盖了equals()，比较的是内容。
​	b)用户自定义类如果没有覆盖equals()，将调用父类的equal...]]></description><category></category></item><item><title><![CDATA[手把手一步步教你如何简单轻松的搭建SSM框架（经典）]]></title><link>https://blog.youkuaiyun.com/yhc813/article/details/102891775</link><guid>https://blog.youkuaiyun.com/yhc813/article/details/102891775</guid><author>yhc813</author><pubDate>Mon, 04 Nov 2019 11:07:49 +0800</pubDate><description><![CDATA[SSM全称是Spring+SpringMVC+MyBatis。
在我们实际开发过程中，有很多应用框架是要经常去使用的，比如ssh、ssm等，今天来介绍一下ssm这款当下比较主流的企业级框架。在开发一个项目开始，程序员首先要做的就是根据需求搭建项目框架，那如何简单轻松的搭建SSM框架呢，接下来我们一起来看看。
SSM它是由三个开源框架整合而成，是目前主流的Java EE企业级框架，适用于搭建各种大型...]]></description><category></category></item><item><title><![CDATA[java基本的数据流总结]]></title><link>https://blog.youkuaiyun.com/yhc813/article/details/100023828</link><guid>https://blog.youkuaiyun.com/yhc813/article/details/100023828</guid><author>yhc813</author><pubDate>Thu, 22 Aug 2019 20:43:27 +0800</pubDate><description><![CDATA[1、字节流
（1）字节输入流
​			InputStream
​				FileInputStream	☆
​					BufferedInputStream	☆ （提高效率）
（2）字节输出流
​			OutputStream
​				FileOutputStream	☆
​					BufferedOutputStream	☆ （提高效率）
拷贝方式：4种（带☆的）
​		（1）字节流读取单...]]></description><category></category></item><item><title><![CDATA[堆排序代码]]></title><link>https://blog.youkuaiyun.com/yhc813/article/details/99721091</link><guid>https://blog.youkuaiyun.com/yhc813/article/details/99721091</guid><author>yhc813</author><pubDate>Mon, 19 Aug 2019 13:14:34 +0800</pubDate><description><![CDATA[堆排序
堆排序代码如下：
	public static void main(String[] args) {
		System.out.println("原数组：");
		int[] arr = { 10, 8, 15, 16, 6, 9, 1, 7, 11, 20, 12, 5 };//示例数组
		System.out.println(Arrays.toString(arr));
		
		...]]></description><category></category></item><item><title><![CDATA[成员变量、类变量和静态变量三者的区别]]></title><link>https://blog.youkuaiyun.com/yhc813/article/details/99696866</link><guid>https://blog.youkuaiyun.com/yhc813/article/details/99696866</guid><author>yhc813</author><pubDate>Sat, 17 Aug 2019 19:16:36 +0800</pubDate><description><![CDATA[实例变量（成员变量）
在类的声明中，属性是用变量来表示的。这种变量就称为实例变量，是在类声明的内部但是在类的其他成员方法之外声明的。
当一个对象被实例化之后，每个实例变量的值就跟着确定；
实例变量在对象创建的时候创建，在对象被销毁的时候销毁；
实例变量的值应该至少被一个方法、构造方法或者语句块引用，使得外部能够通过这些方式获取实例变量信息；
实例变量可以声明在使用前或者使用后；
访问修饰符可以修饰...]]></description><category></category></item><item><title><![CDATA[java基础之一：异常]]></title><link>https://blog.youkuaiyun.com/yhc813/article/details/99696860</link><guid>https://blog.youkuaiyun.com/yhc813/article/details/99696860</guid><author>yhc813</author><pubDate>Sat, 17 Aug 2019 19:15:04 +0800</pubDate><description><![CDATA[异常概述
异常：异常是指在程序的运行过程中所发生的不正常的事件，它会中断正在运行的程序。简单来说就是程序出现了不正常的情况。
异常本质就是java当中对出现的问题进行描述的一种对象体现。
常见的异常：

除数不能为0异常（ArithmeticException）
空指针异常（NullPointException）
数组越界异常（ArrayIndexOutOfBoundsException）
类型转...]]></description><category></category></item><item><title><![CDATA[关于integer的面试题]]></title><link>https://blog.youkuaiyun.com/yhc813/article/details/99655972</link><guid>https://blog.youkuaiyun.com/yhc813/article/details/99655972</guid><author>yhc813</author><pubDate>Thu, 15 Aug 2019 20:57:54 +0800</pubDate><description><![CDATA[有以下代码，求各输出语句的结果是多少？
代码1
		int i1 = 128;
		Integer i2 = 128;
		Integer i3 = Integer.valueOf(128);
		Integer i4 = new Integer(128);
		System.out.println(i1 == i2);
		System.out.println(i2 == i3);
		Syst...]]></description><category></category></item><item><title><![CDATA[接口和抽象类的区别]]></title><link>https://blog.youkuaiyun.com/yhc813/article/details/99209181</link><guid>https://blog.youkuaiyun.com/yhc813/article/details/99209181</guid><author>yhc813</author><pubDate>Sun, 11 Aug 2019 17:30:57 +0800</pubDate><description><![CDATA[No.
比较点
抽象类
接口




1
定义
用abstract修饰的类
静态常量和抽象方法的集合


2
组成
抽象方法、普通方法、构造方法、成员变量、常量
抽象方法、静态常量


3
使用
子类继承（extends）
实现类实现（implements）


4
关系
抽象类可以实现接口
接口不能继承抽象类


5
对象
通过对象的多态性来实现的
通过对象的多态性来实现的


6
局限...]]></description><category></category></item><item><title><![CDATA[方法重写和方法重载两者之间有何关联和区别]]></title><link>https://blog.youkuaiyun.com/yhc813/article/details/99050528</link><guid>https://blog.youkuaiyun.com/yhc813/article/details/99050528</guid><author>yhc813</author><pubDate>Sat, 10 Aug 2019 08:56:50 +0800</pubDate><description><![CDATA[方法重写和方法重载两者有关系吗？它们的区别在哪里？
方法重写
Q.为什么需要学习方法重写？
A：父类的功能实现无法满足子类的需求，需要重写
方法重写概述：如果从父类继承的方法不能满足子类的需求，可以对其进行改写，这个过程叫方法的覆盖（override），也称为方法的重写。子类中出现了和父类中一模一样的方法声明，也被称为方法从写。
重写的特点；
1、发生在具有子父类两个关系的类中；
2、方法名称相同...]]></description><category></category></item><item><title><![CDATA[this关键字]]></title><link>https://blog.youkuaiyun.com/yhc813/article/details/98884616</link><guid>https://blog.youkuaiyun.com/yhc813/article/details/98884616</guid><author>yhc813</author><pubDate>Thu, 08 Aug 2019 20:28:43 +0800</pubDate><description><![CDATA[this关键字
1.this的作用：
​	a、this表示的是当前对象本身；
​	b、更准确地说，this代表当前对象的一个引用。
2.普通方法中使用this
​	a、区分类成员属性和方法的形参；
​	b、调用当前对象的其他方法（可以省略）；
​	c、位置：任意；
3.构造方法中使用this
​	a、使用this来调用其他构造方法；
​	b、位置：必须是第一条语句；
4.this不能用于stati...]]></description><category></category></item><item><title><![CDATA[static关键字]]></title><link>https://blog.youkuaiyun.com/yhc813/article/details/98884594</link><guid>https://blog.youkuaiyun.com/yhc813/article/details/98884594</guid><author>yhc813</author><pubDate>Thu, 08 Aug 2019 20:28:04 +0800</pubDate><description><![CDATA[1.在类中，用static声明的成员变量为静态成员变量，或者叫做：类属性，类变量
​	a、它为该类的公用变量，属于类，被该类的所有实例共享，在类被载入时被显式初始化；
​	b、对于该类的所有对象来说，static成员变量只有一份。被该类的所有对象共享！！
​	c、可以使用“对象.类属性”来调用。不过，一般都是用“类名.类属性”；
​	d、static变量置于方法区中！
2.用static声明的方法...]]></description><category></category></item><item><title><![CDATA[for循环打印九九乘法表]]></title><link>https://blog.youkuaiyun.com/yhc813/article/details/98359742</link><guid>https://blog.youkuaiyun.com/yhc813/article/details/98359742</guid><author>yhc813</author><pubDate>Sat, 03 Aug 2019 18:13:32 +0800</pubDate><description><![CDATA[利用for循环打印输出九九乘法表
[外链图片转存失败(img-dfoazMrg-1564827145096)(C:\Users\lee\AppData\Roaming\Typora\typora-user-images\1564818778028.png)]
代码如下：
public class JiuJiuChengFaBiao{
    public static void main(Stri...]]></description><category></category></item><item><title><![CDATA[利用for循环求n的阶乘]]></title><link>https://blog.youkuaiyun.com/yhc813/article/details/98230496</link><guid>https://blog.youkuaiyun.com/yhc813/article/details/98230496</guid><author>yhc813</author><pubDate>Fri, 02 Aug 2019 19:44:08 +0800</pubDate><description><![CDATA[代码如下：
import java.util.Scanner;

public class Factorial {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		System.out.print("输入数字：");
		int n = input.nextInt();
		...]]></description><category></category></item><item><title><![CDATA[java标识符规范书写的规则]]></title><link>https://blog.youkuaiyun.com/yhc813/article/details/97918794</link><guid>https://blog.youkuaiyun.com/yhc813/article/details/97918794</guid><author>yhc813</author><pubDate>Wed, 31 Jul 2019 14:55:14 +0800</pubDate><description><![CDATA[java标识符
标识符是java对包、类、方法、参数和变量等元素命名时使用的字符序列。
规则：

由字母、数字、下划线、美元符号组成
不能以数字开头
不能使用java中关键字
标识符严格区分大小写

（例如：ABC、abc、abc123、abc_123、$123）
规范：

标识符命名尽可能的见名知意
不允许使用中文和拼音
满足驼峰原则
长度不要超过31个字符

实际开发中标识符的命名规范
项目名...]]></description><category></category></item><item><title><![CDATA[Flex布局属性学习整理]]></title><link>https://blog.youkuaiyun.com/yhc813/article/details/97398313</link><guid>https://blog.youkuaiyun.com/yhc813/article/details/97398313</guid><author>yhc813</author><pubDate>Tue, 30 Jul 2019 16:27:12 +0800</pubDate><description><![CDATA[Flex布局语法
A.使用在容器上的六大属性值：
1.flex-direction
2.flex-wrap
3.flex-flow
4.justify-content
5.align-items
6.align-content
1.flex-direction属性决定主轴的方向，即项目的排列方式
有四个值可供选择：
row（默认值），主轴为水平方向，起点为左端；
row-reverse，主轴为水平...]]></description><category></category></item></channel></rss>