<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Mailzyw的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Mailzyw</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Mailzyw]]></copyright><item><title><![CDATA[Netty学习系列文章]]></title><link>https://blog.youkuaiyun.com/Mailzyw/article/details/71601096</link><guid>https://blog.youkuaiyun.com/Mailzyw/article/details/71601096</guid><author>Mailzyw</author><pubDate>Thu, 11 May 2017 10:14:37 +0800</pubDate><description><![CDATA[前一段在看netty，自己总结了一个Netty学习系列文章。


netty学习系列：Java NIO预备知识  


netty学习系列：NIO Reactor模型 & Netty线程模型
netty学习系列：pipeline原理与事件处理
netty学习系列：读操作
netty学习系列：write&flush
netty学习系列：服务端ServerSocketChannel]]></description><category></category></item><item><title><![CDATA[《自顶向下法》学习笔记——第五章：链路、接入网和局域网]]></title><link>https://blog.youkuaiyun.com/Mailzyw/article/details/59192440</link><guid>https://blog.youkuaiyun.com/Mailzyw/article/details/59192440</guid><author>Mailzyw</author><pubDate>Wed, 01 Mar 2017 23:18:06 +0800</pubDate><description><![CDATA[第五章 链路、接入网和局域网



1、链路层概述

 0）概述：

    *结点：运行链路层协议的任何设备。

    *链路：沿着通信路径连接相邻结点的通信信道。

    *一个形象的类比：在游客运输的类比中，一个游客好比一个数据报，每个运输区段好比一条链路，每种运输方式好比一种链路层协议，而该旅行社好比路由选择协议。

1）链路层提供的服务：
    *链路]]></description><category></category></item><item><title><![CDATA[《自顶向下法》学习笔记——第四章：网络层]]></title><link>https://blog.youkuaiyun.com/Mailzyw/article/details/57416747</link><guid>https://blog.youkuaiyun.com/Mailzyw/article/details/57416747</guid><author>Mailzyw</author><pubDate>Sun, 26 Feb 2017 16:18:18 +0800</pubDate><description><![CDATA[第四章 网络层

1、概述
0）转发与路由选择：
    *转发涉及“分组”在单一的路由器中从一条入链路到一条出链路的传输；
    *路由选择涉及一个网络的所有路由器，它们经过路由选择协议共同交互，以决定分组从源到目的节点所采用的路径

0）路由选择算法：
    *路由选择算法的任务是决定从发送方到接收方的好路径；

    *两种最流行的算法类型为“链路状态算法”和“距离]]></description><category></category></item><item><title><![CDATA[Linux IO模型与Java网络编程]]></title><link>https://blog.youkuaiyun.com/Mailzyw/article/details/55047839</link><guid>https://blog.youkuaiyun.com/Mailzyw/article/details/55047839</guid><author>Mailzyw</author><pubDate>Mon, 13 Feb 2017 13:58:15 +0800</pubDate><description><![CDATA[一、网络编程Socket API的操作含义







API

阻塞

非阻塞



connect    

tcp三次握手成功后返回。

立即返回，需要通过其他方式判断TCP连接建立成功还是失败。 



send    

阻塞直到将待发送数据从用户空间全部放入内核发送缓冲区后返回。

立即返回，无论待发送数据是否成功放入内核发送缓]]></description><category></category></item><item><title><![CDATA[IM系统：消息推送及离线存储]]></title><link>https://blog.youkuaiyun.com/Mailzyw/article/details/54884693</link><guid>https://blog.youkuaiyun.com/Mailzyw/article/details/54884693</guid><author>Mailzyw</author><pubDate>Sun, 05 Feb 2017 22:57:53 +0800</pubDate><description><![CDATA[一、消息在线推送





二、消息离线存储与拉取







说明：消息离线存储与拉取部分，结合了有赞客服系统现有实现，并参考了沈剑的文章《群消息这么复杂，怎么能做到不丢不重?》]]></description><category></category></item><item><title><![CDATA[有赞消息平台客服系统介绍]]></title><link>https://blog.youkuaiyun.com/Mailzyw/article/details/54695399</link><guid>https://blog.youkuaiyun.com/Mailzyw/article/details/54695399</guid><author>Mailzyw</author><pubDate>Mon, 23 Jan 2017 19:34:25 +0800</pubDate><description><![CDATA[零、写在前面：
    加入有赞消息沟通平台半年有余，参与有赞客服系统开发及维护工作，个人也在之中不断成长。在今年的末尾，把对系统的认识进行总结梳理，送给自己~

    有赞客服系统整合了有赞产品线IM通道及微信通道，商家客服可与上述通道源中的用户进行实时聊天沟通。

一、整体架构：
    先上个图。
        



1、系统分层
    系统整体分为三层，由上]]></description><category></category></item><item><title><![CDATA[《自顶向下法》学习笔记——第三章：运输层]]></title><link>https://blog.youkuaiyun.com/Mailzyw/article/details/54695389</link><guid>https://blog.youkuaiyun.com/Mailzyw/article/details/54695389</guid><author>Mailzyw</author><pubDate>Mon, 23 Jan 2017 19:23:05 +0800</pubDate><description><![CDATA[第三章 运输层



1、概述和运输层服务
0）概述：


    *逻辑通信：
        a)运输层协议为运行在不同主机上的应用进程之间提供了逻辑通信功能；

        b)实际上这些主机可能通过很多路由器及多种不同类型的链路相连；

        c)应用进程使用运输层提供的逻辑通信功能彼此发送报文，而无需考虑承载这些报文的物理基础设施细节。
1）运输]]></description><category></category></item><item><title><![CDATA[《自顶向下法》学习笔记——第二章：应用层]]></title><link>https://blog.youkuaiyun.com/Mailzyw/article/details/54177657</link><guid>https://blog.youkuaiyun.com/Mailzyw/article/details/54177657</guid><author>Mailzyw</author><pubDate>Sat, 07 Jan 2017 20:15:09 +0800</pubDate><description><![CDATA[第二章 应用层


1、应用层协议原理
0）概述：
    *研发网络应用程序的核心是写出能够运行在不同的端系统和通过网络彼此通信的程序。

    *我们不需要编写在网络核心设备入路由器或链路层交换机上运行的软件。

1）应用程序体系结构：
    *由应用程序研发者设计，规定了如何在各种端系统上组织该应用程序。
    *两种主流体系结构为“客户—服务器体系结构”和“对等]]></description><category></category></item><item><title><![CDATA[《自顶向下法》学习笔记——第一章：计算机网络和因特网]]></title><link>https://blog.youkuaiyun.com/Mailzyw/article/details/53870291</link><guid>https://blog.youkuaiyun.com/Mailzyw/article/details/53870291</guid><author>Mailzyw</author><pubDate>Sun, 25 Dec 2016 16:04:43 +0800</pubDate><description><![CDATA[第一章 计算机网络和因特网

1、什么是因特网
1）因特网：是一个世界范围的计算机网络，即它是一个互联了遍及全世界的数以亿计的计算设备的网络。
2）端系统：
    *接入因特网的终端设备被称为“主机”或“端系统”。
    *端系统通过“通信链路”或“分组交换机”连接到一起，通过“因特网服务提供商(ISP)”接入因特网。
3）协议：
   *端系统、分组交换机和其他因特网部件都要]]></description><category></category></item><item><title><![CDATA[JAVA IO模型演进及Reactor模式]]></title><link>https://blog.youkuaiyun.com/Mailzyw/article/details/53149360</link><guid>https://blog.youkuaiyun.com/Mailzyw/article/details/53149360</guid><author>Mailzyw</author><pubDate>Mon, 14 Nov 2016 10:25:20 +0800</pubDate><description><![CDATA[一、传统BIO模型
在基于传统同步阻塞模型中：ServerSocket负责绑定IP地址，启动监听端口；Socket负责发起连接操作。连接成功后，双方通过输入输出流进行同步阻塞式通信。

通信过程：
1）服务端通常由一个独立的Acceptor线程负责监听客户端的连接；
2）Acceptor监听到客户端的连接请求后，为每个客户端创建一个新的线程进行链路处理；
3）链路处理线程完成客户端请求]]></description><category></category></item><item><title><![CDATA[spring源码初步学习-自己实现的ioc容器结构]]></title><link>https://blog.youkuaiyun.com/Mailzyw/article/details/46694781</link><guid>https://blog.youkuaiyun.com/Mailzyw/article/details/46694781</guid><author>Mailzyw</author><pubDate>Tue, 30 Jun 2015 13:21:42 +0800</pubDate><description><![CDATA[1、annotation包：定义了各种IOC框架的注解


2、definition包：Bean描述类相关
BeanDefinition->容器中bean定义的描述类
PropertyDefinition->bean中依赖注入属性的表述类
BeanDefinitionList->封装容器Bean描述类的集合


3、factory包：beanFactory相关，即容器bean实例]]></description><category></category></item><item><title><![CDATA[spring源码初步学习-SpringMVC]]></title><link>https://blog.youkuaiyun.com/Mailzyw/article/details/46651957</link><guid>https://blog.youkuaiyun.com/Mailzyw/article/details/46651957</guid><author>Mailzyw</author><pubDate>Fri, 26 Jun 2015 16:59:45 +0800</pubDate><description><![CDATA[第四部分 SpringMVC的实现
Spring的MVC是基于Servlet功能实现的，通过实现Servlet接口的DispatcherServlet来封装其核心功能实现。
一 ContextLoaderListener:
ContextLoaderListener的作用就是启动web容器时，自动装配ApplicationContext的配置信息。
它实现了ServletContextLi]]></description><category></category></item><item><title><![CDATA[spring源码初步学习-容器的功能扩展（ApplicationContext）]]></title><link>https://blog.youkuaiyun.com/Mailzyw/article/details/46560725</link><guid>https://blog.youkuaiyun.com/Mailzyw/article/details/46560725</guid><author>Mailzyw</author><pubDate>Fri, 19 Jun 2015 13:47:05 +0800</pubDate><description><![CDATA[第三部分：容器功能的扩展

ApplicationContext和BeanFactory两者都是用于加载Bean的，但是相比之下，ApplicationContext提供了更多的扩展功能。
	public ClassPathXmlApplicationContext(String[] configLocations, boolean refresh, ApplicationContext p]]></description><category></category></item><item><title><![CDATA[spring源码初步学习-bean的加载]]></title><link>https://blog.youkuaiyun.com/Mailzyw/article/details/46520179</link><guid>https://blog.youkuaiyun.com/Mailzyw/article/details/46520179</guid><author>Mailzyw</author><pubDate>Tue, 16 Jun 2015 16:44:58 +0800</pubDate><description><![CDATA[第二部分：bean的加载
一 bean加载流程概览
调用XmlBeanFactory.getBean(String name)方法时，最终会进入到AbstractBeanFactory的doGetBean方法


1）转换对应beanName:

final String beanName = transformedBeanName(name);
因为传入的name可能是别名，也可]]></description><category></category></item><item><title><![CDATA[spring源码初步学习-容器（BeanFactory）基本实现]]></title><link>https://blog.youkuaiyun.com/Mailzyw/article/details/46492277</link><guid>https://blog.youkuaiyun.com/Mailzyw/article/details/46492277</guid><author>Mailzyw</author><pubDate>Sun, 14 Jun 2015 17:05:55 +0800</pubDate><description><![CDATA[spring ioc容器]]></description><category></category></item><item><title><![CDATA[关于正向代理，反向代理的基本认识]]></title><link>https://blog.youkuaiyun.com/Mailzyw/article/details/42026099</link><guid>https://blog.youkuaiyun.com/Mailzyw/article/details/42026099</guid><author>Mailzyw</author><pubDate>Fri, 19 Dec 2014 11:25:48 +0800</pubDate><description><![CDATA[一 正向代理
正向代理是一个位于客户端和原始服务器(origin server)之间的服务器，为了从原始服务器取得内容，客户端向代理发送一个请求并指定目标(原始服务器)，然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须设置正向代理服务器，当然前提是要知道正向代理服务器的IP地址，还有代理程序的端口。


正向代理就是代理服务器替代访问方【用户A】去访问目标服务器【服务器B]]></description><category></category></item><item><title><![CDATA[java通过反射创建对象的小例子]]></title><link>https://blog.youkuaiyun.com/Mailzyw/article/details/41680241</link><guid>https://blog.youkuaiyun.com/Mailzyw/article/details/41680241</guid><author>Mailzyw</author><pubDate>Tue, 02 Dec 2014 16:23:38 +0800</pubDate><description><![CDATA[利用Java的反射原理，通过Class 对象生成对应类的 对象。这句话有点绕，我给你举几个例子
下面的代码是伪代码，不可以直接拿去用，但是思想是对的
代码1


class A{
    A(){ /五惨构造器
    }
     
    String name; //A的一个属性
    int id;//A的一个属性
    A(String name){ //含有一]]></description><category></category></item><item><title><![CDATA[Java并发编程：Executor框架]]></title><link>https://blog.youkuaiyun.com/Mailzyw/article/details/41677727</link><guid>https://blog.youkuaiyun.com/Mailzyw/article/details/41677727</guid><author>Mailzyw</author><pubDate>Tue, 02 Dec 2014 13:41:33 +0800</pubDate><description><![CDATA[Executor框架是指java 5中引入的一系列并发库中与executor相关的一些功能类，其中包括线池，Executor，Executors，ExecutorService，CompletionService，Future，Callable等。他们的关系为：


并发编程的一种编程方式是把任务拆分为一些列的小任务，即Runnable，然后在提交给一个Executor执行，Executor]]></description><category></category></item><item><title><![CDATA[操作系统精髓与设计原理学习笔记十：分布式处理、客户/服务器和集群系统]]></title><link>https://blog.youkuaiyun.com/Mailzyw/article/details/41382215</link><guid>https://blog.youkuaiyun.com/Mailzyw/article/details/41382215</guid><author>Mailzyw</author><pubDate>Sat, 22 Nov 2014 15:22:14 +0800</pubDate><description><![CDATA[一、客户服务器计算模型
1 常用术语
应用程序 编程]]></description><category></category></item><item><title><![CDATA[操作系统精髓与设计原理学习笔记九：IO管理和磁盘调度]]></title><link>https://blog.youkuaiyun.com/Mailzyw/article/details/41252443</link><guid>https://blog.youkuaiyun.com/Mailzyw/article/details/41252443</guid><author>Mailzyw</author><pubDate>Tue, 18 Nov 2014 20:03:03 +0800</pubDate><description><![CDATA[输入/输出可能是操作系统设计中最困难的部分。这是因为存在许多不同的设备和它们的应用，]]></description><category></category></item></channel></rss>