<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[yz_blanks的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/yz_blanks</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; yz_blanks]]></copyright><item><title><![CDATA[Netty(二)I/O模型]]></title><link>https://blog.youkuaiyun.com/yz_blanks/article/details/106594078</link><guid>https://blog.youkuaiyun.com/yz_blanks/article/details/106594078</guid><author>yz_blanks</author><pubDate>Sat, 06 Jun 2020 22:12:15 +0800</pubDate><description><![CDATA[I/O 模型基本说明

I/O 模型简单的理解：就是用什么样的通道进行数据的发送和接收，很大程度上决定了程序通信的性能
Java共支持3种网络编程模型/IO模式：BIO、NIO、AIO
Java BIO ： 同步并阻塞(传统阻塞型)，服务器实现模式为一个连接一个线程，即客户端有连接请求时服务器端就需要启动一个线程进行处理，如果这个连接不做任何事情会造成不必要的线程开销 【简单示意图】
Java NIO ： 同步非阻塞，服务器实现模式为一个线程处理多个请求(连接)，即客户端发送的连接请求都会注册到多路复用器上]]></description><category></category></item><item><title><![CDATA[Netty(一)介绍和应用场景]]></title><link>https://blog.youkuaiyun.com/yz_blanks/article/details/106593505</link><guid>https://blog.youkuaiyun.com/yz_blanks/article/details/106593505</guid><author>yz_blanks</author><pubDate>Sat, 06 Jun 2020 21:11:20 +0800</pubDate><description><![CDATA[Netty的介绍

Netty 是由 JBOSS 提供的一个 Java 开源框架，现为 Github上的独立项目。
Netty是一个异步的、基于事件驱动的网络应用框架，用以快速开发高性能、高可靠性的网络 IO 程序。
Netty主要针对在TCP协议下，面向Clients端的高并发应用，或者Peer-to-Peer场景下的大量数据持续传输的应用。
Netty本质是一个NIO框架，适用于服务器通讯相关的多种应用场景 要透彻理解Netty ， 需要先学习 NIO 。

Netty的应用场景

在分布式系统中，各个]]></description><category></category></item><item><title><![CDATA[Redis-初始认识Redis]]></title><link>https://blog.youkuaiyun.com/yz_blanks/article/details/103378273</link><guid>https://blog.youkuaiyun.com/yz_blanks/article/details/103378273</guid><author>yz_blanks</author><pubDate>Tue, 03 Dec 2019 22:51:54 +0800</pubDate><description><![CDATA[Redis初始
Redis是什么

开源（可以从git-hub上面获取源代码，个性化定制）底层使用C语言
基于键值对的存储服务系统（类似于Java Map中的key-value）
多种数据结构

string
Hash
List
Set
Zset（Sorted Sets）


高性能，丰富功能

Redis特性
八个特性

速度快

10w OPS读写
数据存储在内存中（速度快的真正原因）
C语言...]]></description><category></category></item><item><title><![CDATA[Redis-在云服务器Linux上安装Redis]]></title><link>https://blog.youkuaiyun.com/yz_blanks/article/details/103378133</link><guid>https://blog.youkuaiyun.com/yz_blanks/article/details/103378133</guid><author>yz_blanks</author><pubDate>Tue, 03 Dec 2019 22:40:48 +0800</pubDate><description><![CDATA[Linux下载Redis


wget命令下载，解压，编译
$ wget http://download.redis.io/releases/redis-5.0.7.tar.gz
$ tar xzf redis-5.0.7.tar.gz
$ cd redis-5.0.7
$ make



运行Redis服务器
$ src/redis-server

src下面中可执行文件说明
redis-ser...]]></description><category></category></item><item><title><![CDATA[Java-随机访问流以及对象流（对象序列化）]]></title><link>https://blog.youkuaiyun.com/yz_blanks/article/details/103357962</link><guid>https://blog.youkuaiyun.com/yz_blanks/article/details/103357962</guid><author>yz_blanks</author><pubDate>Mon, 02 Dec 2019 21:53:27 +0800</pubDate><description><![CDATA[随机访问流：RandomAccessFile
概念：指定当前可以读取的位置

1.随机访问文件的行为类似存储在文件系统中的一个大型 byte 数组。
2.存在指向该隐含数组的光标或索引，称为文件指针；

输入操作从文件指针开始读取字节，并随着对字节的读取而前移此文件指针。


3.如果随机访问文件以读取/写入模式创建，则输出操作也可用；
4.输出操作从文件指针开始写入字节，并随着对字节的写入而前移...]]></description><category></category></item><item><title><![CDATA[Javaweb-在xml中配置一个Servlet以及重要接口，实现类]]></title><link>https://blog.youkuaiyun.com/yz_blanks/article/details/103356372</link><guid>https://blog.youkuaiyun.com/yz_blanks/article/details/103356372</guid><author>yz_blanks</author><pubDate>Mon, 02 Dec 2019 20:32:54 +0800</pubDate><description><![CDATA[servlet创建


编写servlet：写一个普通类,然后去实现或者继承javaEE规范中所提供的指定接口或者父类,然后再重写指定方法.

这个指定接口或者父类都在tomcat的lib目录里面的servlet-api.jar中

实现Servlet接口，重写里面的五种抽象方法，主要实现service方法
继承HttpServlet类，HttpServlet继承GenericServlet类重写...]]></description><category></category></item><item><title><![CDATA[JavaWeb-tomcat,web项目,请求响应报文]]></title><link>https://blog.youkuaiyun.com/yz_blanks/article/details/103344106</link><guid>https://blog.youkuaiyun.com/yz_blanks/article/details/103344106</guid><author>yz_blanks</author><pubDate>Mon, 02 Dec 2019 10:19:09 +0800</pubDate><description><![CDATA[一、相关概念


j2ee，j2se为JDK5.0以前的名称，javaee和javase为JDK5.0以后的名称


javaee ：一个平台 ；一套技术体系

一套技术体系：帮我们解决在企业级应用及开发过程中所遇到的各种问题。



服务器：

​	web服务器：提供http协议访问，处理静态资源

html css js img都是服务器静态资源


web容器：提供http协议访问方法，处理...]]></description><category></category></item><item><title><![CDATA[Springmvc-自定义适配器，自定义拦截器]]></title><link>https://blog.youkuaiyun.com/yz_blanks/article/details/103300162</link><guid>https://blog.youkuaiyun.com/yz_blanks/article/details/103300162</guid><author>yz_blanks</author><pubDate>Thu, 28 Nov 2019 20:06:10 +0800</pubDate><description><![CDATA[一、自定义适配器


HandlerAdapter适配器：用来转发HandlerMapping映射器的访问地址，HandlerAdapter指定对应的自定义Controller的方法执行。


之前都是实现Controller接口，通过默认的HandlerAdapter执行实现的handleRequest方法。现在我们想通过自己定义的Controller控制器的方法去处理请求和响应以及ModelA...]]></description><category></category></item><item><title><![CDATA[springmvc-介绍，重要组件以及执行流程]]></title><link>https://blog.youkuaiyun.com/yz_blanks/article/details/103300020</link><guid>https://blog.youkuaiyun.com/yz_blanks/article/details/103300020</guid><author>yz_blanks</author><pubDate>Thu, 28 Nov 2019 20:03:54 +0800</pubDate><description><![CDATA[一、Web、MVC、WebMVC

Web：Web完成一次请求的过程

Web浏览器发起请求
Web服务器接受请求并处理，产生响应
Web服务器完成处理后，返回内容给Web客户端，Web客户端接收响应的内容，自行处理并显示出来


在Web中，都是Web客户端发起的请求，Web服务器接收处理请求并产生响应。

一般Web服务器不能主动通知Web客户端更新内容。有一些技术可以从服务器端通知客户端进行...]]></description><category></category></item><item><title><![CDATA[阿里云安装node]]></title><link>https://blog.youkuaiyun.com/yz_blanks/article/details/103240756</link><guid>https://blog.youkuaiyun.com/yz_blanks/article/details/103240756</guid><author>yz_blanks</author><pubDate>Mon, 25 Nov 2019 16:33:41 +0800</pubDate><description><![CDATA[1、首先登录阿里云服务器（linux系统）
2、使用wget命令从nodejs官网拉取要安装的版本：wget https://npm.taobao.org/mirrors/node/v10.16.2/node-v10.16.2-linux-x64.tar.xz
3、使用 xz -d node-v10.16.2-linux-x64.tar.xz进行解压得到node-v10.16.2-linux-x6...]]></description><category></category></item><item><title><![CDATA[阿里云安装mysql]]></title><link>https://blog.youkuaiyun.com/yz_blanks/article/details/103240742</link><guid>https://blog.youkuaiyun.com/yz_blanks/article/details/103240742</guid><author>yz_blanks</author><pubDate>Mon, 25 Nov 2019 16:32:34 +0800</pubDate><description><![CDATA[更新本地索引资源列表
$ sudo apt-get update



从资源列表中下载mysql
$ sudo apt-get install mysql-server-5.7



设置mysql数据库的密码


连接阿里云服务器上的mysql数据库
mysql -r root -u
输入密码进入到mysql

远程连接阿里云服务器上面的mysql数据库



先在阿里云安全组件中，设置防...]]></description><category></category></item><item><title><![CDATA[阿里云安装maven]]></title><link>https://blog.youkuaiyun.com/yz_blanks/article/details/103240702</link><guid>https://blog.youkuaiyun.com/yz_blanks/article/details/103240702</guid><author>yz_blanks</author><pubDate>Mon, 25 Nov 2019 16:31:27 +0800</pubDate><description><![CDATA[阿里云服务器：Ubuntu160.04
前提：安装了jdk

打开maven的官网下载页 http://maven.apache.org/download.cgi
然后找到相应的tar.gz压缩包，然后右键选择【复制链接地址】
回到Linux服务器中，创建一个maven目录，使用wget命令将复制的链接进行下载。
然后使用命令tar -zxvf apache-maven-3.6.0-bin.tar...]]></description><category></category></item><item><title><![CDATA[阿里云安装tomcat]]></title><link>https://blog.youkuaiyun.com/yz_blanks/article/details/103240654</link><guid>https://blog.youkuaiyun.com/yz_blanks/article/details/103240654</guid><author>yz_blanks</author><pubDate>Mon, 25 Nov 2019 16:30:36 +0800</pubDate><description><![CDATA[阿里云服务器：Ubuntu160.04
前提：已经安装了jdk


打开tomcat官网，http://tomcat.apache.org/ 选择指定的tomcat版本，本例中安装的是8.5.49。（下载链接：https://tomcat.apache.org/download-80.cgi）


将tar.gz包下载到本地wget http://mirrors.tuna.tsinghua.edu...]]></description><category></category></item><item><title><![CDATA[阿里云安装jdk]]></title><link>https://blog.youkuaiyun.com/yz_blanks/article/details/103240622</link><guid>https://blog.youkuaiyun.com/yz_blanks/article/details/103240622</guid><author>yz_blanks</author><pubDate>Mon, 25 Nov 2019 16:28:48 +0800</pubDate><description><![CDATA[从jdk的oracle官网先下载至本地电脑（如果wget直接从获取jdk资源链接，会获取失败，需要登录oracle账号）


scp [本地jdk压缩包路径] [用户名]@[公网地址]:[云服务器指定安装路径]
scp E:\jdk-8u191-linux-x64.tar.gz root@0.0.0.0:/opt



解压压缩包。进入到压缩包所在路劲，默认解压至当前文件夹下面
tar -zx...]]></description><category></category></item><item><title><![CDATA[Spring-事务管理]]></title><link>https://blog.youkuaiyun.com/yz_blanks/article/details/103160342</link><guid>https://blog.youkuaiyun.com/yz_blanks/article/details/103160342</guid><author>yz_blanks</author><pubDate>Wed, 20 Nov 2019 12:53:51 +0800</pubDate><description><![CDATA[Spring事务管理机制


事务：事务是构成单一逻辑工作单元的操作集合


三层框架：分为Bean，Service，Dao层，service层调用dao层，所以我们一般在service层进行事务控制。

jdbc中数据都是自动提交的
需要将开启事务（切面类）通过拦截器织入到调用dao层之前
操作数据库出现异常，需要将回滚事务（切面）通过异常拦截器织入到出现异常
关闭事务（切面）通过后置拦截器织入...]]></description><category></category></item><item><title><![CDATA[Spring-Spring与jdbc，mybatis的结合]]></title><link>https://blog.youkuaiyun.com/yz_blanks/article/details/103160328</link><guid>https://blog.youkuaiyun.com/yz_blanks/article/details/103160328</guid><author>yz_blanks</author><pubDate>Wed, 20 Nov 2019 12:52:36 +0800</pubDate><description><![CDATA[一、Spring和Jdbc的结合
Spring获取DateSource


通过数据源DataSource连接数据库对象Connection：现在Spring通过配置文件获取数据源DataSource，帮助我们管理Connection对象

Spring通过创建数据库连接帮助我们管理Connection对象
数据库连接处负责分配，管理和释放数据库连接，允许应用程序重复使用现有的数据库连接而不是重新...]]></description><category></category></item><item><title><![CDATA[Spring-AOP自动创建代理类以及aop标签]]></title><link>https://blog.youkuaiyun.com/yz_blanks/article/details/103160318</link><guid>https://blog.youkuaiyun.com/yz_blanks/article/details/103160318</guid><author>yz_blanks</author><pubDate>Wed, 20 Nov 2019 12:50:18 +0800</pubDate><description><![CDATA[一、Spring自动创建代理类对象
Spring中有两种默认创建自动代理类对象方式


采用默认的增强器自动创建代理类对象的方式(存在指定方法的类为目标类)：自动创建代理类对象，通过增强器指定的方法（连接点），以及增强器指定拦截器，自动代理Bean容器中存在指定方法的对象。


不需要我们再一对一配置代理类以及指定目标类。


注意点：


当前配置文件中一定要存在一个advisor增强器（以及增...]]></description><category></category></item><item><title><![CDATA[Spring-AOP概念以及自定义Advice,Advisor]]></title><link>https://blog.youkuaiyun.com/yz_blanks/article/details/103160265</link><guid>https://blog.youkuaiyun.com/yz_blanks/article/details/103160265</guid><author>yz_blanks</author><pubDate>Wed, 20 Nov 2019 12:42:46 +0800</pubDate><description><![CDATA[一、Spring中AOP(Aspect Oriented Programming)的实现
Spring实现AOP两种方式：

目标类实现了接口，采用JDK的动态代理实现AOP功能
目标类没有实现任何接口，采用CGLIB的类库实现AOP功能
Spring会自动在这两种方式进行选择
使用Spring创建代理类对象的Bean标签的Property属性名要和对应setProperty方法保持一致
Spri...]]></description><category></category></item><item><title><![CDATA[Spring-AOP,代理模式，以及动态代理方式]]></title><link>https://blog.youkuaiyun.com/yz_blanks/article/details/103134479</link><guid>https://blog.youkuaiyun.com/yz_blanks/article/details/103134479</guid><author>yz_blanks</author><pubDate>Tue, 19 Nov 2019 00:11:07 +0800</pubDate><description><![CDATA[AOP面向切面编程


面向切面编程（Aspect-Oriented Programming）：是一种对开发技术的补充，允许开发人员在不改变原来模型的基础上动态的修改模型以满足新的需求


面向切面编程的核心是：动态代理技术


代理模式有两种：

静态代理
动态代理

继承相同接口进行同样的接口方法代理
子父类代理





要求：代理类和目标类实现统一个接口（为了让代理类和目标类有同样的方法）...]]></description><category></category></item><item><title><![CDATA[Spring-注解实现容器注入]]></title><link>https://blog.youkuaiyun.com/yz_blanks/article/details/103134465</link><guid>https://blog.youkuaiyun.com/yz_blanks/article/details/103134465</guid><author>yz_blanks</author><pubDate>Tue, 19 Nov 2019 00:09:55 +0800</pubDate><description><![CDATA[Spring注解


@Autowired：依赖（组合关系）关系自动注入

自动依赖注入的方式：先通过byType（根据容器中存在该属性类型的对象），再通过byName（根据属性名查找容器中的名字）
@Autowired(required=false)：存在成员变量required默认为true：必须从容器找到属性对象，否则报空指针
@Autowired(required=false),如果没有在...]]></description><category></category></item></channel></rss>