<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[WrathPudge的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/WrathPudge</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; WrathPudge]]></copyright><item><title><![CDATA[Lambda_Stream练习]]></title><link>https://blog.youkuaiyun.com/WrathPudge/article/details/108501886</link><guid>https://blog.youkuaiyun.com/WrathPudge/article/details/108501886</guid><author>WrathPudge</author><pubDate>Wed, 09 Sep 2020 20:42:09 +0800</pubDate><description><![CDATA[JDK8 Lambda练习
package cn.cdqf.lambda;

import java.util.Arrays;
import java.util.Comparator;
import java.util.IntSummaryStatistics;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
import java.util.stream.Stream;

publi]]></description><category></category></item><item><title><![CDATA[Concurrent 学习]]></title><link>https://blog.youkuaiyun.com/WrathPudge/article/details/108501223</link><guid>https://blog.youkuaiyun.com/WrathPudge/article/details/108501223</guid><author>WrathPudge</author><pubDate>Wed, 09 Sep 2020 20:07:29 +0800</pubDate><description><![CDATA[Concurrent总结
线程和进程
​	进程 —&gt; QQ, 360
​	线程 —&gt; 进程中的程序, 每一个进程至少有一个线程
​	多核CPU中进程可以并发执行
​	CUP同一时刻只能运行一个进程, 不同的线程来抢占CPU时间片
并发编程领域, 提醒性能本质就是提升硬件的利用率 —&gt; 提升I/O和CPU的利用率
Volatile
可见性和有序性问题:
package com.cdqf.concurrent;

public class Test01 {
    public static ]]></description><category></category></item><item><title><![CDATA[Day 46 学习分享 - SSM整合]]></title><link>https://blog.youkuaiyun.com/WrathPudge/article/details/107576644</link><guid>https://blog.youkuaiyun.com/WrathPudge/article/details/107576644</guid><author>WrathPudge</author><pubDate>Sat, 25 Jul 2020 11:59:58 +0800</pubDate><description><![CDATA[SSM基本概念
SSM = SpringMVC +　Spring + MyBatis(MyBatisPlus)

Spring是一个轻量级的IOC控制反转和AOP面向切面的容器框架

SpringMVC是一个轻量级的基于MVC的Web层应用框架

MyBatis是一个基于Java的持久层框架

Spring框架在三大框架的整合中占据至关重要的地位, 类似于一个大管家
将Myabtis和SpringMVC糅合在一起

所需依赖
&lt;properties&gt;
  &lt;project.build.so]]></description><category></category></item><item><title><![CDATA[Day 45 学习分享 - SpringMVC]]></title><link>https://blog.youkuaiyun.com/WrathPudge/article/details/107574787</link><guid>https://blog.youkuaiyun.com/WrathPudge/article/details/107574787</guid><author>WrathPudge</author><pubDate>Sat, 25 Jul 2020 10:20:02 +0800</pubDate><description><![CDATA[SpringMVC概念
	SpringMVC是Spring框架下的一个子框架, 作用在控制层(Controller)
	SpringMVC的特点是MVC注解和REST风格的URL请求, 采用了松散耦合课插拔组件结构, 相比其他MVC框架更具有扩展性和灵活性

SpringMVC优点
	1. 天生与Spring框架集成
	2. 支持Restful风格 - 一种标准请求方式
	3. 支持灵活的URL到页面控制器的映射
	4. 容易与其他视图技术集成
	5. 简单强大的异常处理
	6. 对静态资源的支持
	7. ]]></description><category></category></item><item><title><![CDATA[Day 44 学习分享 - Spring]]></title><link>https://blog.youkuaiyun.com/WrathPudge/article/details/107546486</link><guid>https://blog.youkuaiyun.com/WrathPudge/article/details/107546486</guid><author>WrathPudge</author><pubDate>Thu, 23 Jul 2020 20:09:17 +0800</pubDate><description><![CDATA[Spring的核心功能
IOC:
	方便解耦, 简化开发
	IOC不是一种技术而是一种设计思想

AOP:
	面向切面编程
	Spring提供面向切面编程, 可以方便的实现对程序进行权限拦截、运行监控等功能
	
声明式事务的支持:
	通过配置完成对事务的管理, 无需手动编程
	
方便的测试功能:
	Spirng-test模块可以继承Junit依赖, 通过注解进行测试
	
框架整合:
	Spring框架可以无缝整合其他框架

Spring的核心模块
spring-core: 依赖注入IoC与DI的最基本实现
]]></description><category></category></item><item><title><![CDATA[Day 43 学习分享 - Maven 和 Mybatis]]></title><link>https://blog.youkuaiyun.com/WrathPudge/article/details/107470225</link><guid>https://blog.youkuaiyun.com/WrathPudge/article/details/107470225</guid><author>WrathPudge</author><pubDate>Mon, 20 Jul 2020 18:51:49 +0800</pubDate><description><![CDATA[什么是Maven
Maven是一个专注于项目构建和依赖管理的项目管理工具
他包含了一个项目对象模型(POM:Project Object Model),
一组标准集合, 一个项目生命周期, 一个依赖管理系统和用来运行定义在生命周期阶段中插件目标的逻辑

Maven的作用
Maven可以集中管理所有依赖(jar包)
Maven可以构建项目(项目自动编译、运行、打包、部署、发布...)
Maven可以创建聚合工程(Maven聚合、继承等等...)

核心思想:
	约定优于配置:
		按照Maven的约定, 无需]]></description><category></category></item><item><title><![CDATA[OA系统知识点小结]]></title><link>https://blog.youkuaiyun.com/WrathPudge/article/details/107323638</link><guid>https://blog.youkuaiyun.com/WrathPudge/article/details/107323638</guid><author>WrathPudge</author><pubDate>Mon, 13 Jul 2020 19:40:08 +0800</pubDate><description><![CDATA[Cookie
储存信息格式:Key - Value

Cookie new Cookie(String name, String value);
	创建新Cookie
	
setMaxAge(int expire);
	设置cookie生存时间, 单位为秒, 格式有三种&lt;0,0,&gt;0 分别代表内存存储, 失效, 生存时间
	
setPath(String uri);
	设置cookie作用域
	
resp.addCookie(Cookie cookie);
	让浏览器添加Cookie, 使其能被]]></description><category></category></item><item><title><![CDATA[Day 42 学习分享 - Ajax和JSON]]></title><link>https://blog.youkuaiyun.com/WrathPudge/article/details/107190236</link><guid>https://blog.youkuaiyun.com/WrathPudge/article/details/107190236</guid><author>WrathPudge</author><pubDate>Tue, 07 Jul 2020 20:53:52 +0800</pubDate><description><![CDATA[1. Ajax
1.1 Ajax的概念
Asynchronous JavaScript And XML

传统方式与服务器交互存在的弊端:
	如果要刷新网页中的某一部分, 那么整个网页都必须重新加载!

Ajax:
	局部刷新技术, 通过JS的方式请求后台, 获取数据,
	然后使用DOM技术根据后台获取的数据更新页面元素, 在获取数据的过程中, 浏览器不刷新
	这种方式也被称作异步请求!

1.2 Ajax的实现方式
1.2.1 原生JS代码实现用户名验证(GET方式)
// 前端
&lt;%@ page ]]></description><category></category></item><item><title><![CDATA[Day 41 学习分享 - Cookie和Session]]></title><link>https://blog.youkuaiyun.com/WrathPudge/article/details/107167854</link><guid>https://blog.youkuaiyun.com/WrathPudge/article/details/107167854</guid><author>WrathPudge</author><pubDate>Mon, 06 Jul 2020 21:01:05 +0800</pubDate><description><![CDATA[1. 重定向(Redirect)和转发(forward)区别：
相同点:
  都可以实现请求的跳转


不同点;

  &gt; 语法不同：
  重定向: response.sendRedirect("main.html");
  转发:   request.getRequestDispatcher("main.html").forward(req,resp);

  &gt; 请求次数不同：
  重定向一共浏览器发送了2次请求
  转发是服务器内部跳转，只发送了1次请求

  &gt; 是否可以共享Req]]></description><category></category></item><item><title><![CDATA[Day 40 学习分享 - JavaScript]]></title><link>https://blog.youkuaiyun.com/WrathPudge/article/details/106908592</link><guid>https://blog.youkuaiyun.com/WrathPudge/article/details/106908592</guid><author>WrathPudge</author><pubDate>Mon, 22 Jun 2020 19:43:45 +0800</pubDate><description><![CDATA[1. JavaScript概念
	JavaScript是一门独立的语言, 基于对象和事件驱动的, 具有安全性能的脚本语言.
	JavaScript是运行在浏览器端, 由浏览器来解释并运行的!
	JavaScript是一门弱类型的语言.
	JavaScript语法和Java类似

JavaScript分为了三大模块:
	1. ECMAScript:
		定义了JavaScript的核心语法
	2. BOM(Brower Object Model):
		浏览器对象模型, 定义了浏览器的相关操作
	3. DOM]]></description><category></category></item><item><title><![CDATA[Day 39 学习分享 - HTML常用标签和CSS入门]]></title><link>https://blog.youkuaiyun.com/WrathPudge/article/details/106842533</link><guid>https://blog.youkuaiyun.com/WrathPudge/article/details/106842533</guid><author>WrathPudge</author><pubDate>Thu, 18 Jun 2020 20:20:41 +0800</pubDate><description><![CDATA[1. 标题标签:
&lt;title&gt;&lt;/title&gt;

2. 网页标题标签
一共六级标题, 字体从大到小
&lt;h1&gt;&lt;/h1&gt; &lt;h2&gt;&lt;/h2&gt;  &lt;h3&gt;&lt;/h3&gt;  &lt;h4&gt;&lt;/h4&gt; &lt;h5&gt;&lt;/h5&gt; &lt;h6&gt;&lt;/h6&gt;

3. 网页段落标签
&lt;p&gt;&lt;/p&gt;

4. 换行、水平线标签
&lt;br/&gt; 自闭和]]></description><category></category></item><item><title><![CDATA[Day 38 学习分享 - JDBC批处理与事务]]></title><link>https://blog.youkuaiyun.com/WrathPudge/article/details/106842514</link><guid>https://blog.youkuaiyun.com/WrathPudge/article/details/106842514</guid><author>WrathPudge</author><pubDate>Thu, 18 Jun 2020 20:19:50 +0800</pubDate><description><![CDATA[1. JDBC批处理
1.1 基本概念
批量处理允许将相关的SQL语句分组到批次中处理, 并通过对数据库的一次调用提交他们.
​	当一次向数据库发送多个SQL语句时, 可以减少连接数据库的开销, 从而调高性能
​	批处理实现方式:
PreparedStatement:
	1. 使用占位符创建SQL语句
	2. 使用preparedStatement() 方法创建PreparedStatement对象
	3. 使用setAutoCommit() 将auto-commit设置为false
	4. 使用addBa]]></description><category></category></item><item><title><![CDATA[Day 37 学习分享 - JDBC入门]]></title><link>https://blog.youkuaiyun.com/WrathPudge/article/details/106723082</link><guid>https://blog.youkuaiyun.com/WrathPudge/article/details/106723082</guid><author>WrathPudge</author><pubDate>Fri, 12 Jun 2020 20:30:00 +0800</pubDate><description><![CDATA[1.  JDBC 概念
JDBC: 
	Java Data Base Connectivity - Java数据库连接技术
	这是一种用于执行SQL语句的Java API, 可以为多种关系数据库提供统一的访问, 是SUN公司提供的一套连接并操作数据库的技术.
	
使用要求:
	JDBC需要连接驱动:
		我们操作数据库是在控制台使用SQL语句来操作
		而JDBC是用Java语言向数据库发送SQL语句,帮助我们完成执行数据库的操作.

注意:
	JDBC连接不同的数据库, 需要导入不同的数据库驱动包!

2]]></description><category></category></item><item><title><![CDATA[Day 36 学习分享 - MySQL 查询功能]]></title><link>https://blog.youkuaiyun.com/WrathPudge/article/details/106673812</link><guid>https://blog.youkuaiyun.com/WrathPudge/article/details/106673812</guid><author>WrathPudge</author><pubDate>Wed, 10 Jun 2020 19:54:56 +0800</pubDate><description><![CDATA[1. 基础查询
语法:
	select 列名1,列名2,列名3... from 表名 [Where 条件1 OR|AND 条件2...];
	
	如果没有条件, 查询整个表的数据!
	select * from 表名;


例子:
	查询学生名字和数学成绩:
		select name, math from student;

DISTINCT关键字:
	作用:
		去除重复的数据, 重复的数据只保留一条!
	例子:
		去除所有重复名字并显示
		select distinct(name) from st]]></description><category></category></item><item><title><![CDATA[Day 35 学习分享 - 初识Mysql]]></title><link>https://blog.youkuaiyun.com/WrathPudge/article/details/106649365</link><guid>https://blog.youkuaiyun.com/WrathPudge/article/details/106649365</guid><author>WrathPudge</author><pubDate>Tue, 09 Jun 2020 19:39:59 +0800</pubDate><description><![CDATA[1. 创建数据库
​	语法:
​		 create database 数据库名;
​	标准语法:
​		create database 数据库名 character set 字符集 COLLATE 排序规则;
​	备注:
​		字符集和排序规则默认可以省略，有默认值！
​	示例:
​		create database studentdb1;
​		create database  studentdb2 character set utf8 COLLATE utf8_general_ci;
​	查看一下创建数]]></description><category></category></item><item><title><![CDATA[Day 34 学习分享 - 反射]]></title><link>https://blog.youkuaiyun.com/WrathPudge/article/details/106627010</link><guid>https://blog.youkuaiyun.com/WrathPudge/article/details/106627010</guid><author>WrathPudge</author><pubDate>Mon, 08 Jun 2020 19:32:03 +0800</pubDate><description><![CDATA[1. 反射内存图

2. 获取Class类对象
Class Class.forName(String 完整的包名.类名); √
	根据用户提供的完整包名.类名，获取对应的Class类对象，【并且该方法可以强制加载对应的.class文件。】
	
Class 类名.class;
	通过类名获取对应的Class对象属性
	
Class 类对象.getClass();
	通过类对象，获取对应的Class类对象。


package com.qfedu.a_reflect;

public class GetClas]]></description><category></category></item><item><title><![CDATA[Day 33 学习分享 - 枚举]]></title><link>https://blog.youkuaiyun.com/WrathPudge/article/details/106616101</link><guid>https://blog.youkuaiyun.com/WrathPudge/article/details/106616101</guid><author>WrathPudge</author><pubDate>Mon, 08 Jun 2020 12:00:14 +0800</pubDate><description><![CDATA[1. 枚举概念
​	枚举就是[有限实现个数]的类型
​
​	例如:
​		电影类型:
​			科幻片, 爱情片, 剧情片, 动作片…
​		图书类型:
​			历史类, 科幻类, 传记类, 教材类…
​	枚举其实就是一个特殊的类, 可以有成员变量, 方法, 实现一个或多个接口, 定义自己的构造方法
​	一个Java源文件中最多只能定义一个public访问权限的枚举类, 并且该Java源文件也必须和该枚举类的类名相同
2. 定义枚举类
enum关键字

public enum Direction {
	
  ]]></description><category></category></item><item><title><![CDATA[Day 32 学习分享 - XML文件]]></title><link>https://blog.youkuaiyun.com/WrathPudge/article/details/106615500</link><guid>https://blog.youkuaiyun.com/WrathPudge/article/details/106615500</guid><author>WrathPudge</author><pubDate>Mon, 08 Jun 2020 11:37:28 +0800</pubDate><description><![CDATA[1. XML文件概念
XML - Extensible Markup Language - 可拓展标记语句
XML是一种数据的格式, 可以用这种数据格式来储存和标识一组数据!
2. XML基本机构
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
​		XML声明 – 定义XML  版本号   编码信息

​		根元素

​		注释
 ---- 属性
​		王珊
​		.NET高级编程
​		包含C#框架和网络编程等
​		元素 – 由开始标签, 元素内容和结束标签组]]></description><category></category></item><item><title><![CDATA[Day 31 学习分享 初识网络编程]]></title><link>https://blog.youkuaiyun.com/WrathPudge/article/details/106412352</link><guid>https://blog.youkuaiyun.com/WrathPudge/article/details/106412352</guid><author>WrathPudge</author><pubDate>Thu, 28 May 2020 20:09:07 +0800</pubDate><description><![CDATA[1. 网络编程基础
1.1 计算机网络概念
	所谓计算机网络, 就是把分布在不同区域的计算机与专门的外部设备用通信线路互相连接成一个规模大而且功能强的网络系统, 从而使得计算机之间可以互相传递信息, 共享数据等资源

1.2 网络编程的目的
	网络编程指的就是[在同一个网络中不同机器之间的通信], 直接或间接地通过网络协议与其他计算机进行通讯 

1.3 网络编程的主要问题
	1. 如何准确的定位网络上的一台或多台主机
	2. 找到主机后如何可靠并且高效的进行数据传输		

2. 计算机之间通信的需求条件
]]></description><category></category></item><item><title><![CDATA[Day 30 学习分享 - 线程]]></title><link>https://blog.youkuaiyun.com/WrathPudge/article/details/106390315</link><guid>https://blog.youkuaiyun.com/WrathPudge/article/details/106390315</guid><author>WrathPudge</author><pubDate>Wed, 27 May 2020 20:50:41 +0800</pubDate><description><![CDATA[1. 线程安全
1.1 线程安全概述
	如果有多个线程在同时运行, 这些线程有可能会同时运行一段代码, 程序每次运行结果和单线程运行的结果是一样的, 而且其他的变量的值也和预期相同, 这就是一个安全的线程.

1.2 案例演示
public class Ticket implements Runnable {

	// 共100票
	int ticket = 100;

	@Override
	public void run() {
		while (ticket &gt; 0) {
			// 同步代码块]]></description><category></category></item></channel></rss>