<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[逆天的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_45145809</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_45145809]]></copyright><item><title><![CDATA[Spring5-AOP原理及操作]]></title><link>https://blog.youkuaiyun.com/qq_45145809/article/details/123313519</link><guid>https://blog.youkuaiyun.com/qq_45145809/article/details/123313519</guid><author>qq_45145809</author><pubDate>Sun, 06 Mar 2022 17:27:18 +0800</pubDate><description><![CDATA[目录1. 什么是AOP2. AOP底层原理2.1 AOP底层使用动态代理（1）第一种：有接口情况，使用JDK动态代理（2）第二种：没有接口情况，使用CGLIB动态代理2.2 使用JDK动态代理代码示例3. AOP术语4.  AOP操作（准备工作）5. AOP操作（AspectJ注解）5.1 实例代码5.2 相同切入点抽取5.3 设置增强类优先级5.4  使用全注解替换xml6. AOP操作（AspectJ配置文件）
1. 什么是AOP
（1）面向切面编程，利用AOP可以对业务逻辑的各个部分及逆行隔离，从而使]]></description><category></category></item><item><title><![CDATA[Spring5-IOC容器原理及管理]]></title><link>https://blog.youkuaiyun.com/qq_45145809/article/details/123307944</link><guid>https://blog.youkuaiyun.com/qq_45145809/article/details/123307944</guid><author>qq_45145809</author><pubDate>Sun, 06 Mar 2022 12:10:08 +0800</pubDate><description><![CDATA[目录1. IOC概念和原理1.1 什么是IOC1.2 IOC底层原理1.3 IOC BeanFactory接口2. IOC操作Bea管理3. IOC操作Bean管理（基于xml方式）3.1 基于xml方式创建对象3.2 基于xml注入属性3.2.1 使用set方法进行注入3.2.2 使用有参构造注入3.2.3 p名称空间注入3.3 IOC注入其它类型属性3.3.1 字面量（1）null值（2）属性值包含特殊符号3.3.2 注入属性-外部bean3.3.3 注入属性-内部bean3.3.4 注入属性-级联赋值]]></description><category></category></item><item><title><![CDATA[Spring5-框架介绍]]></title><link>https://blog.youkuaiyun.com/qq_45145809/article/details/123307872</link><guid>https://blog.youkuaiyun.com/qq_45145809/article/details/123307872</guid><author>qq_45145809</author><pubDate>Sun, 06 Mar 2022 11:44:50 +0800</pubDate><description><![CDATA[目录1.框架概述2.入门案例2.1 创建普通java项目2.2 创建普通类，创建一个add方法2.3 创建Spring配置文件2.4 测试2.5 结果
1.框架概述

Spring是轻量级的开源javaEE框架
Spring可以解决企业应用开发的复杂性
Spring有两个核心部分：IOC和AOP
（1）IOC：控制反转，把创建对象过程交给Spring进行管理
（2）AOP：面向切面，不修改源码代码进行功能增强
Spring特点
（1）方便解耦，简化开发
（2）AOP编程支持
（3）方便程序测试
（4）方便和]]></description><category></category></item><item><title><![CDATA[golang学习笔记017--tcp编程]]></title><link>https://blog.youkuaiyun.com/qq_45145809/article/details/122790146</link><guid>https://blog.youkuaiyun.com/qq_45145809/article/details/122790146</guid><author>qq_45145809</author><pubDate>Sat, 05 Feb 2022 14:20:53 +0800</pubDate><description><![CDATA[目录1.网络基本介绍1.1网络编程有两种1.2 协议tcp/ip1.3OSI与TCP/IP参考模型1.4 IP地址1.5端口port1.6端口分类1.7端口注意事项2.tcp socket编程快速入门2.1服务端处理流程2.2客户端处理流程2.3示意图2.4代码实现server.goclient.go运行结果
1.网络基本介绍
1.1网络编程有两种
● TCP socket编程，是网络编程的主流，底层是基于Tcp/ip协议。比如QQ
● b/s结构的http编程，使用浏览器访问服务器时，使用的就是http协]]></description><category></category></item><item><title><![CDATA[golang学习笔记016--反射]]></title><link>https://blog.youkuaiyun.com/qq_45145809/article/details/122754637</link><guid>https://blog.youkuaiyun.com/qq_45145809/article/details/122754637</guid><author>qq_45145809</author><pubDate>Sun, 30 Jan 2022 18:12:39 +0800</pubDate><description><![CDATA[目录1.反射的基本概念1.1 基本介绍1.2 反射的应用场景1.3 反射重要的函数和概念2.快速入门案例2.1对基本数据类型进行反射操作2.2对结构体进行反射操作3.反射注意事项4.反射最佳实践
1.反射的基本概念
1.1 基本介绍
● 反射可以在运行时动态获取变量的各种信息，比如变量的类型type，类别kind
● 如果是结构体变量，还可以获取到结构体本身的信息（包括结构体的字段、方法）
● 通过反射，可以修改变量的值，可以调用关联的方法
● 使用反射，需要 import reflect
● 示意图

1]]></description><category></category></item><item><title><![CDATA[golang学习笔记015--goroutine和channel]]></title><link>https://blog.youkuaiyun.com/qq_45145809/article/details/122745739</link><guid>https://blog.youkuaiyun.com/qq_45145809/article/details/122745739</guid><author>qq_45145809</author><pubDate>Sat, 29 Jan 2022 17:35:43 +0800</pubDate><description><![CDATA[目录1.goroutine1.1 进程和线程介绍1.2 并行和并发1.3 Go协程和Go主线程1.4 goroutine快速入门（1）案例说明（2）代码实现（3）主线程和协程执行流程图（4）快速入门小结1.5 goroutine的调度模型（1）MPG模式基本介绍（2）MPG模式运行的状态1（3）MPG模式运行的状态21.6 设置Golang运行的cpu数2.channel2.1 需求2.2初步实现，但有问题2.3 不同goroutine之间如何通讯2.4 使用全局变量加锁同步改进程序2.5 为什么需要cha]]></description><category></category></item><item><title><![CDATA[golang学习笔记014--单元测试]]></title><link>https://blog.youkuaiyun.com/qq_45145809/article/details/122739438</link><guid>https://blog.youkuaiyun.com/qq_45145809/article/details/122739438</guid><author>qq_45145809</author><pubDate>Sat, 29 Jan 2022 09:36:43 +0800</pubDate><description><![CDATA[目录1.基本介绍2.快速入门
1.基本介绍

go语言自带有一个轻量级的测试框架testing和自带的go test命令来实现单元测试和性能测试，通过单元测试，可以解决如下问题： 	
●确保每个函数是可运行的，并且运行结果是正确的 	
● 确保写出来的代码性能是好的 	
●单元测试能及时发现程序设计或实现的逻辑错误，使问题及早暴露，便于问题的定位解决，而性能测试的重点在于发现程序设计上的一些问题，让程序在高并发下还能保持稳定

2.快速入门
创建cal.go
	package cal
	
	//一个被测试的]]></description><category></category></item><item><title><![CDATA[golang学习笔记013--文件操作]]></title><link>https://blog.youkuaiyun.com/qq_45145809/article/details/122719877</link><guid>https://blog.youkuaiyun.com/qq_45145809/article/details/122719877</guid><author>qq_45145809</author><pubDate>Thu, 27 Jan 2022 21:18:33 +0800</pubDate><description><![CDATA[目录1.基本概念2. 打开文件和关闭文件（1）使用的方法（2）代码演示3.读取文件（1）使用缓冲区的方式（2）使用ioutil一次读取4.写入文件(1)os.OpenFile函数(2)示例创建文件并写入(3)示例覆盖并写入(4)示例追加内容(5)示例读和写(6)将一个文件内容写入到另外一个文件5.判断文件是否存在6.文件编程实例6.1 拷贝文件6.2统计英文、数字，空格和其它字符数量7.命令行参数7.1 os.Args获取参数7.2 flag包来解析命令行8.序列化9.反序列化
1.基本概念
● 输入流和输]]></description><category></category></item><item><title><![CDATA[golang学习笔记012--面向对象编程2]]></title><link>https://blog.youkuaiyun.com/qq_45145809/article/details/122719439</link><guid>https://blog.youkuaiyun.com/qq_45145809/article/details/122719439</guid><author>qq_45145809</author><pubDate>Thu, 27 Jan 2022 21:18:13 +0800</pubDate><description><![CDATA[目录1.封装2.继承2.1 基本概念2.2 基本语法2.3 示例代码2.4 继承说明2.5 匿名字段时数据类型2.6 多重继承3.接口3.1入门案例3.2 基本概念3.3注意事项3.4 接口编程的最佳实践4.接口VS继承5.多态6.类型断言6.1 需求6.2 基本概念6.3 类型断言的最佳实践（1）改进Usb案例（2）循环判断传入参数的类型

golang仍然有面向对象编程的继承，封装和多态的特性，只是实现方式和其它OOP语言不一样

1.封装
封装就是把抽象出的字段和对字段的操作封装在一起，数据被保护在内]]></description><category></category></item><item><title><![CDATA[golang学习笔记011--面向对象编程1]]></title><link>https://blog.youkuaiyun.com/qq_45145809/article/details/122718838</link><guid>https://blog.youkuaiyun.com/qq_45145809/article/details/122718838</guid><author>qq_45145809</author><pubDate>Thu, 27 Jan 2022 21:17:28 +0800</pubDate><description><![CDATA[目录1.go语言面向对象说明2.结构体2.1 结构体与结构体变量的关系图2.2 快速入门2.3 如何声明结构体2.4 创建结构体方式方式一:var Cat1 Cat方式二:varCat2 Cat = Cat{}方式三:varCat3 *Cat = new(Cat)方式四:varCat4 *Cat = &amp;Cat{}说明:2.5 结构体使用注意事项3.方法3.1 快速入门3.2 方法的声明/定义3.3 方法的注意事项4.方法和函数的比较5.面向对象编程应用实例6.工厂模式6.1 需求6.2 工厂模式解决]]></description><category></category></item><item><title><![CDATA[golang学习笔记010--map]]></title><link>https://blog.youkuaiyun.com/qq_45145809/article/details/122717652</link><guid>https://blog.youkuaiyun.com/qq_45145809/article/details/122717652</guid><author>qq_45145809</author><pubDate>Thu, 27 Jan 2022 21:16:57 +0800</pubDate><description><![CDATA[目录1.基本介绍2.map的使用方式一:先定义,再make,再赋值方式二:定义直接make,再赋值方式三:直接赋值举例:3.map的增删改查4.map的长度len5.map切片6.map排序7.map使用细节
1.基本介绍
● map是key-value 数据结构,类似其它编程语言的集合
● 基本语法: var map 变量名 map[keytype]valuetype
  ○ key可以是很多种类型
    ■ 比如bool,数字,string,指针,channel,还可以是接口,结构体,数组.通常为in]]></description><category></category></item><item><title><![CDATA[golang学习笔记009--排序与查找]]></title><link>https://blog.youkuaiyun.com/qq_45145809/article/details/122717567</link><guid>https://blog.youkuaiyun.com/qq_45145809/article/details/122717567</guid><author>qq_45145809</author><pubDate>Thu, 27 Jan 2022 21:16:26 +0800</pubDate><description><![CDATA[目录1.冒泡排序2.二分查找
1.冒泡排序

package main
import "fmt"


func sort(arr *[5]int){

	temp := 0
	for i:=0;i&lt;len(*arr)-1;i++{
		for j:=0;j&lt;len(*arr)-1-i;j++{
			if (*arr)[j]&gt;(*arr)[j+1]{
				temp = (*arr)[j]
				(*arr)[j] = (*arr)[j+1]
				(*arr)[j+1] = tem]]></description><category></category></item><item><title><![CDATA[golang学习笔记008--数组,切片和二维数组]]></title><link>https://blog.youkuaiyun.com/qq_45145809/article/details/122716874</link><guid>https://blog.youkuaiyun.com/qq_45145809/article/details/122716874</guid><author>qq_45145809</author><pubDate>Thu, 27 Jan 2022 21:15:44 +0800</pubDate><description><![CDATA[目录1.数组1.1数组介绍1.2数组的使用1.3数组的遍历1.4数组使用注意事项1.5 随机生成5个数,并反转2.切片slice2.1基本介绍2.2 切片的使用方式一:引用数组方式二:make方式三:方式一和方式二的区别:2.3 切片的遍历2.4 使用注意事项3.string和slice4.二维数组4.1 入门4.2 使用方式1:先声明,在赋值4.3 使用方式2:直接初始化4.4 二维数组遍历
1.数组
1.1数组介绍

数组可以存放多个同意类型的数据,数组也是一种数据类型,在go中,数组是值类型
定义: ]]></description><category></category></item><item><title><![CDATA[golang学习笔记007--函数,包和错误处理]]></title><link>https://blog.youkuaiyun.com/qq_45145809/article/details/122653401</link><guid>https://blog.youkuaiyun.com/qq_45145809/article/details/122653401</guid><author>qq_45145809</author><pubDate>Sun, 23 Jan 2022 17:11:33 +0800</pubDate><description><![CDATA[目录1.函数2.包3.函数调用机制4.return语句5.递归6.函数使用注意事项和细节7.init函数8.匿名函数8.1 匿名函数使用方式18.2 匿名函数使用方式28.3 全局匿名函数9.闭包9.1 闭包介绍9.2 闭包的最佳实践10.函数的defer10.1 为什么需要defer10.2 defer注意事项10.3 defer的最佳实践11.函数参数传递方式12.变量作用域13.字符串操作14.时间函数15.内置函数builtin16.错误处理16.1示例16.2处理错误16.3自定义错误
1.函数
]]></description><category></category></item><item><title><![CDATA[golang学习笔记006--运算符]]></title><link>https://blog.youkuaiyun.com/qq_45145809/article/details/122653194</link><guid>https://blog.youkuaiyun.com/qq_45145809/article/details/122653194</guid><author>qq_45145809</author><pubDate>Sun, 23 Jan 2022 16:41:22 +0800</pubDate><description><![CDATA[目录1.算术运算符2.关系运算符3.逻辑运算符4.位运算5.其他运算符6.键盘输入语句7.进制8.原码,反码,补码9.程序流程控制ifswitchfor
1.算术运算符
● fmt.Println(10/4)结果为2.如果运算符都是整数,除后,去掉小数部分,保留整数部分
● 如果我们希望保留小数部分,则需要有浮点数参与运算
● 当一个数取模时,等价于 a%b=a-b/b*b
● go语言自增自减只能当作一个独立语言使用,不能这样使用:a=i++
● go语言只有a++,a–.没有++a,–a
2.关系运算符]]></description><category></category></item><item><title><![CDATA[golang学习笔记005--命名规范]]></title><link>https://blog.youkuaiyun.com/qq_45145809/article/details/122653146</link><guid>https://blog.youkuaiyun.com/qq_45145809/article/details/122653146</guid><author>qq_45145809</author><pubDate>Sun, 23 Jan 2022 16:29:50 +0800</pubDate><description><![CDATA[目录1.标识符2.系统保留关键字3.系统的预定标识符
1.标识符
● 由26个英文字母大小写，0-9，_组成
● 数字不可以开头
● golang严格区分大小写
● 标识符不能包含空格
● 下划线“_”是一个特殊的符号，成为空标识符，不能单独用来作为标识符
● 不能以系统保留关键字作为标识符（25个）
注意：
● 保持package的名字和目录保持一致，尽量采取有意义的包名，简短，有意义，不要和标准库冲突
● 变量名、函数名、常量名：采用驼峰命名发（stuName，stuAddress）
● 如果包名、函数]]></description><category></category></item><item><title><![CDATA[golang学习笔记004--指针]]></title><link>https://blog.youkuaiyun.com/qq_45145809/article/details/122653088</link><guid>https://blog.youkuaiyun.com/qq_45145809/article/details/122653088</guid><author>qq_45145809</author><pubDate>Sun, 23 Jan 2022 16:26:39 +0800</pubDate><description><![CDATA[目录1.基本介绍2.使用细节3.值类型和引用类型
1.基本介绍
● 基本数据类型，变量存的就是值，也叫值类型
● 获取变量的地址，用&amp;
● 指针类型，指针变量存的是一个地址，这个地址指向的空间存的才是值
● 获取指针类型所指向的值，使用*
	var i int = 10
	fmt.Println("i的地址=",&amp;i)//i的地址= 0xc0000120a8
	
	var ptr *int = &amp;i
	//ptr 是一个指针变量
	//ptr 的类型是 *int
	//ptr 本身的]]></description><category></category></item><item><title><![CDATA[golang学习笔记003--变量与数据类型]]></title><link>https://blog.youkuaiyun.com/qq_45145809/article/details/122652923</link><guid>https://blog.youkuaiyun.com/qq_45145809/article/details/122652923</guid><author>qq_45145809</author><pubDate>Sun, 23 Jan 2022 16:24:03 +0800</pubDate><description><![CDATA[目录1.变量1.1 变量使用的三种方式1.2 多变量声明1.3 全局变量2. 数据类型2.1 数值型2.1.1 整数类型2.1.2 浮点型2.2 字符类型2.3 布尔类型2.4 String类型2.5 基本数据类型的默认值2.6 基本数据类型相互转换2.7 基本数据类型和String的转换2.7.1 方式一：fmt.Sprintf("%参数"，表达式)2.7.2 方式二：使用strconv包函数2.8 String类型转基本数据类型
1.变量
1.1 变量使用的三种方式
● 第一种：指定变量类型。声明后若不]]></description><category></category></item><item><title><![CDATA[golang学习笔记002--Hello World]]></title><link>https://blog.youkuaiyun.com/qq_45145809/article/details/122652646</link><guid>https://blog.youkuaiyun.com/qq_45145809/article/details/122652646</guid><author>qq_45145809</author><pubDate>Sun, 23 Jan 2022 16:14:35 +0800</pubDate><description><![CDATA[目录1.下载安装并配置环境变量1.1 下载1.2 配置环境变量1.3 检查是否安装成功1.4 安装目录2.hello world2.1 目录结构2.2 hello world2.3 说明2.4编译运行2.5 开发注意事项2.6 代码规范3.fmt.printf格式化4.vscode配置
1.下载安装并配置环境变量
官网：https://golang.google.cn/
包：https://studygolang.com/pkgdoc
1.1 下载

1.2 配置环境变量
（1）GOROOT 安装目录

（]]></description><category></category></item><item><title><![CDATA[golang学习笔记001--前言]]></title><link>https://blog.youkuaiyun.com/qq_45145809/article/details/122652485</link><guid>https://blog.youkuaiyun.com/qq_45145809/article/details/122652485</guid><author>qq_45145809</author><pubDate>Sun, 23 Jan 2022 15:58:02 +0800</pubDate><description><![CDATA[目录1.golang学习方向2. golang应用领域3.如何高效学习golang4.如何快速掌握一个技术5.什么是程序6.为什么要学习go语言7.为什么要创造go语言？8.go语言的特点
1.golang学习方向
● 区块链研发工程师
● Go服务器端/游戏软件工程师（数据处理，处理大并发）
● golang分布式/云计算软件工程师
2. golang应用领域
● 区块链的应用开发
● 后台的服务应用
● 云计算/云服务后台应用
3.如何高效学习golang

高效愉快的学习
先建立整体框架，然后细节
用]]></description><category></category></item></channel></rss>