<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[sicexpn的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/sicexpn</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; sicexpn]]></copyright><item><title><![CDATA[Maven学习笔记]]></title><link>https://blog.youkuaiyun.com/sicexpn/article/details/50385632</link><guid>https://blog.youkuaiyun.com/sicexpn/article/details/50385632</guid><author>sicexpn</author><pubDate>Wed, 23 Dec 2015 11:25:42 +0800</pubDate><description><![CDATA[以前对Maven的了解只是停留在简单使用阶段，对于深层次的原理不甚了解，无意中看到infoq上的一个系列教程，出于以后项目需要和个人学习发展，对maven系列文章进行了学习。详见接着通读了《Maven权威指南》对maven进行了进一步全面的学习。但是这还远远不够，需要在以后的项目中不断思考，优化maven配置，在实战中将maven的优势发挥到极致。本文主要记录自己学习中的点滴。坐标规划坐标主要用来定]]></description><category></category></item><item><title><![CDATA[学习网址整理]]></title><link>https://blog.youkuaiyun.com/sicexpn/article/details/46561369</link><guid>https://blog.youkuaiyun.com/sicexpn/article/details/46561369</guid><author>sicexpn</author><pubDate>Fri, 19 Jun 2015 14:48:56 +0800</pubDate><description><![CDATA[工作学习之余，对于比较好的文章进行整理。


Bash Shortcuts For Maximum Productivity 
http://www.skorks.com/2009/09/bash-shortcuts-for-maximum-productivity/ 
http://azyet.github.io/2015/06/08/shortcutsInBash/
Bash Command]]></description><category></category></item><item><title><![CDATA[MySql数据库引擎初探]]></title><link>https://blog.youkuaiyun.com/sicexpn/article/details/45967329</link><guid>https://blog.youkuaiyun.com/sicexpn/article/details/45967329</guid><author>sicexpn</author><pubDate>Mon, 25 May 2015 11:03:11 +0800</pubDate><description><![CDATA[数据库引擎介绍MySQL数据库引擎取决于MySQL在安装的时候是如何被编译的。ISAM 
 优点：读取速度快，不占用过大内存和资源。 
 缺点：不支持事务操作，不能容错。
MyISAM 
 ISAM的扩展。表格锁定机制，优化并发读写操作，其代价是你需要经常运行OPTIMIZE TABLE命令，来恢复被更新机制所浪费的空间。重要缺陷就是不能在表损坏后恢复数据。
HEAP 
 只驻留在内存里的临时表格。]]></description><category></category></item><item><title><![CDATA[Java高级篇整理]]></title><link>https://blog.youkuaiyun.com/sicexpn/article/details/45459243</link><guid>https://blog.youkuaiyun.com/sicexpn/article/details/45459243</guid><author>sicexpn</author><pubDate>Sun, 03 May 2015 22:16:02 +0800</pubDate><description><![CDATA[面试中常常会问及Java细节相关的问题，而由于往往在平时中不会过多的涉及，所以不能得心应手。而通过阅读课本和网上资料，会有一定的帮助，但纸上得来终觉浅，绝知此事须躬行。以博客的形式梳理思路，通过一行行代码，深入理解Java细节，从而对于Java高级特性进行全面掌握。Java三大特性封装
封装三大好处 
良好的封装减少耦合
类内部的结构可以自由修改（无须修改客户代码）
可以对成员进行精确控制（年龄范围]]></description><category></category></item><item><title><![CDATA[实习面试笔记-vmware]]></title><link>https://blog.youkuaiyun.com/sicexpn/article/details/45397587</link><guid>https://blog.youkuaiyun.com/sicexpn/article/details/45397587</guid><author>sicexpn</author><pubDate>Thu, 30 Apr 2015 18:12:23 +0800</pubDate><description><![CDATA[外企面试比较看重原理，本人是面试Java相关的，所以对于Java一些原理性的东西需要进行深入掌握和理解。Java相关
Runnable和Thread的区别Runnable:适应于多继承、共享变量。那么当调用这个线程的对象开辟多个线程时，可以让这些线程调用同一个变量；若这个线程是由继承Thread类而来，则要通过内部类来实现上述功能，利用的就是内部类可任意访问外部变量这一特性。
设计模式Adaptor]]></description><category></category></item><item><title><![CDATA[Zookeeper框架]]></title><link>https://blog.youkuaiyun.com/sicexpn/article/details/45367527</link><guid>https://blog.youkuaiyun.com/sicexpn/article/details/45367527</guid><author>sicexpn</author><pubDate>Wed, 29 Apr 2015 16:23:55 +0800</pubDate><description><![CDATA[Zookeeper概念Zookeeper是一个高性能，分布式的，开源分布式应用协调服务。它提供了简单原始的功能，分布式应用可以基于它实现更高级 的服务，比如同步，配置管理，集群管理，名空间。它被设计为易于编程，使用文件系统目录树作为数据模型。服务端跑在java上，提供java和C的客户端 API”。总体结构Zookeeper服务自身组成一个集群(2n+1个服务允许n个失效)。Zookeeper服务有]]></description><category></category></item><item><title><![CDATA[Netty初探-行业应用及未来]]></title><link>https://blog.youkuaiyun.com/sicexpn/article/details/45366609</link><guid>https://blog.youkuaiyun.com/sicexpn/article/details/45366609</guid><author>sicexpn</author><pubDate>Wed, 29 Apr 2015 15:10:54 +0800</pubDate><description><![CDATA[Netty行业应用Netty在互联网行业的应用传统垂直架构面临的问题
前后台耦合，业务无法有效拆分。
缺乏高性能的RPC框架，集群节点间的通信效率低下。
缺少统一的服务注册中心对集群服务进行管理，系统弹性化不足。
服务增多时，无法对服务进行有效的容量评估和治理。
阿里分布式服务框架Dubbo
Netty+二进制编解码框架实现内部协议。
Zookeeper作为服务注册中心，动态注册和发现服务
服务治理]]></description><category></category></item><item><title><![CDATA[Netty初探-架构剖析]]></title><link>https://blog.youkuaiyun.com/sicexpn/article/details/45366323</link><guid>https://blog.youkuaiyun.com/sicexpn/article/details/45366323</guid><author>sicexpn</author><pubDate>Wed, 29 Apr 2015 14:48:24 +0800</pubDate><description><![CDATA[Netty逻辑架构Netty采用了典型的三层网络架构进行设计与开发。逻辑架构如下：
Reactor通信调度层主要职责：监听网络的读写和连接操作，负责将网络层的数据读取到内存缓冲区中，然后触发各种网络事件，例如连接创建、连接激活、读事件、写事件等，将这些事件触发到Pipeline中，由Pipeline管理的职责链进行后续处理。 
由一系列的辅助类完成，包括Reactor线程NioeventLoop以及]]></description><category></category></item><item><title><![CDATA[Netty初探-编解码技术]]></title><link>https://blog.youkuaiyun.com/sicexpn/article/details/45366217</link><guid>https://blog.youkuaiyun.com/sicexpn/article/details/45366217</guid><author>sicexpn</author><pubDate>Wed, 29 Apr 2015 14:27:26 +0800</pubDate><description><![CDATA[要谈编解码技术，首先从Java序列化进行谈起。由于Java序列化无法跨语言，很少用来进行消息的编解码和传输。而且序列化之后的码流太大，序列化性能太低，所以，有很大主流的编解码框架应运而生。主要介绍主流的三大编解码器。Google的Protobuf、FaceBook的Thrift以及JBoss的Marshalling。
Google Protocol Buffers 
结构化数据存储格式（XML，JS]]></description><category></category></item><item><title><![CDATA[Netty初探-解决TCP粘包/拆包问题]]></title><link>https://blog.youkuaiyun.com/sicexpn/article/details/45365041</link><guid>https://blog.youkuaiyun.com/sicexpn/article/details/45365041</guid><author>sicexpn</author><pubDate>Wed, 29 Apr 2015 14:03:26 +0800</pubDate><description><![CDATA[业务上一个完整的包可能会被TCP拆分成多个包进行发送，也有可能把多个小的包封装成一个大的数据包发送，这就是所谓的TCP粘包和拆包问题。 
对于这类问题，netty提供了LineBasedFrameDecoder和StringDecoder进行完美解决。如下是相关代码。代码
TimeServer
package com.xpn.netty.netty;import io.netty.bootstrap]]></description><category></category></item><item><title><![CDATA[UNIX环境高级编程（1）-UNIX基础]]></title><link>https://blog.youkuaiyun.com/sicexpn/article/details/45363955</link><guid>https://blog.youkuaiyun.com/sicexpn/article/details/45363955</guid><author>sicexpn</author><pubDate>Wed, 29 Apr 2015 12:35:05 +0800</pubDate><description><![CDATA[UNIX基础知识
stat返回所有文件属性的一个信息结构
创建新目录会自动创建两个文件名：点（当前目录）和点-点（上级目录）。最高层目录，两者相同。可以通过ls -ldi 查看节点号进行验证。
起始目录，登录时，工作目录设置为初始目录，初始目录从口令文件中相应的登录项中取得。
系统上查证，除根目录外，目录 . 和目录 .. 是不同的
文件和目录
输入输出
程序和进程
用户标识（用户ID，组ID）/e]]></description><category></category></item><item><title><![CDATA[Netty初探-netty服务端和客户端demo]]></title><link>https://blog.youkuaiyun.com/sicexpn/article/details/45336497</link><guid>https://blog.youkuaiyun.com/sicexpn/article/details/45336497</guid><author>sicexpn</author><pubDate>Tue, 28 Apr 2015 15:19:30 +0800</pubDate><description><![CDATA[通过netty框架实现一个简单的服务端和客户端框架，相比于前面所说的NIO，netty的api使用更加简单灵活，扩展性强。
TimeServer
package com.xpn.netty.netty;import io.netty.bootstrap.ServerBootstrap;
import io.netty.channel.ChannelFuture;
import io.netty.ch]]></description><category></category></item><item><title><![CDATA[Linux网络I/O模型整理]]></title><link>https://blog.youkuaiyun.com/sicexpn/article/details/45334609</link><guid>https://blog.youkuaiyun.com/sicexpn/article/details/45334609</guid><author>sicexpn</author><pubDate>Tue, 28 Apr 2015 13:31:57 +0800</pubDate><description><![CDATA[Linux的内核将所有外部设备都看作一个文件来操作，对一个文件的读写操作会调用内核的系统命令，返回一个fd（file descriptor），对于socket则对应为socket描述符，描述符就是一个数字，指向内核中的一个结构体（文件路径、数据区等）。 
根据对I/O模型的分类，linux提供了5种I/O模型。包括阻塞I/O模型、非阻塞I/O模型、I/O复用模型、信号驱动I/O模型、异步I/O。下面]]></description><category></category></item><item><title><![CDATA[Netty初探-I/O对比]]></title><link>https://blog.youkuaiyun.com/sicexpn/article/details/45334185</link><guid>https://blog.youkuaiyun.com/sicexpn/article/details/45334185</guid><author>sicexpn</author><pubDate>Tue, 28 Apr 2015 13:01:39 +0800</pubDate><description><![CDATA[通过简单的Demo开发，熟悉传统的同步阻塞I/O（BIO）、伪异步I/O、非阻塞I/O（Nio）以及异步I/O（AIO）的差异。同步阻塞I/O（BIO）BIO通信模型（一客户端一线程）代码分析
TimerServer
package com.xpn.netty.bio;import java.io.IOException;
import java.net.ServerSocket;
import j]]></description><category></category></item><item><title><![CDATA[Netty初探-基本概念和相关类介绍]]></title><link>https://blog.youkuaiyun.com/sicexpn/article/details/45307503</link><guid>https://blog.youkuaiyun.com/sicexpn/article/details/45307503</guid><author>sicexpn</author><pubDate>Mon, 27 Apr 2015 17:13:17 +0800</pubDate><description><![CDATA[基本概念
概念Netty是由JBOSS提供的一个java NIO开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具，用以快速开发高性能、高可靠性的网络服务器和客户端程序。可实现的功能见下图： Netty vs Mina vs GrizzlyMina的设计理念最为优雅，Netty和Mina的主导作者是同一人。
Mina出自于Apache，Netty出身于商业开源大亨Jboss，而Griz]]></description><category></category></item><item><title><![CDATA[nginx架构探究]]></title><link>https://blog.youkuaiyun.com/sicexpn/article/details/45307311</link><guid>https://blog.youkuaiyun.com/sicexpn/article/details/45307311</guid><author>sicexpn</author><pubDate>Mon, 27 Apr 2015 10:54:56 +0800</pubDate><description><![CDATA[概念 
Nginx (“engine x”) 是一个高性能的 HTTP 和 反向代理 服务器，也是一个 IMAP/POP3/SMTP 代理服务器。 其特点是占有内存少，并发能力强，事实上nginx的并发能力确实在同类型的网页服务器中表现较好，中国大陆使用nginx网站用户有：新浪、网易、腾讯等。-nginx vs apache vs lighttpd 
 建议方案： 
Apache 后台服务器（主要]]></description><category></category></item><item><title><![CDATA[c/c++易考点整理]]></title><link>https://blog.youkuaiyun.com/sicexpn/article/details/45246853</link><guid>https://blog.youkuaiyun.com/sicexpn/article/details/45246853</guid><author>sicexpn</author><pubDate>Fri, 24 Apr 2015 15:28:47 +0800</pubDate><description><![CDATA[对于平时的考试以及找工作的笔试、面试，c/c++是必考点，接下来，就对一些易考易错点进行整理，后续在学习过程中，遇到新的问题会进行补充。
static作用隐藏，保持变量内容的持久，默认初始化为0x00. 唯一一次初始化 
静态存储区：全局变量和static变量。
c++中有const，为何还要宏const表示修饰的内容不能改变。const无法代替宏作为卫哨来防止文件的重复包含。
引用 vs 指针引用]]></description><category></category></item><item><title><![CDATA[c中的sizeof知识整理]]></title><link>https://blog.youkuaiyun.com/sicexpn/article/details/45244613</link><guid>https://blog.youkuaiyun.com/sicexpn/article/details/45244613</guid><author>sicexpn</author><pubDate>Fri, 24 Apr 2015 11:46:49 +0800</pubDate><description><![CDATA[对于sizeof相关，进行了详细全面的整理。并通过代码进行了测试。/*一.sizeof usage:
    （1）sizeof(type|var) 考虑的是开辟的空间，不是用到的空间，对于结构体，需要考虑字节对齐的问题。
    （2）对位域成员等连编译器都无法确定存储空间的东西不能用,不能使用于函数类型、不完全类型（具有未知存储大小的数据结构）或位字段。
    （3）sizeof返回的数据类型]]></description><category></category></item><item><title><![CDATA[mysql性能测试工具mysqlslap]]></title><link>https://blog.youkuaiyun.com/sicexpn/article/details/45244011</link><guid>https://blog.youkuaiyun.com/sicexpn/article/details/45244011</guid><author>sicexpn</author><pubDate>Fri, 24 Apr 2015 11:42:36 +0800</pubDate><description><![CDATA[对于并发性而言，我们需要时刻了解数据库带来的开销，从而进一步优化数据库，改善性能。对于mysql数据库而言，自身提供了mysqlslap工具，下文将介绍mysqlslap的简单使用。
帮助信息
root@node3:~# mysqlslap --help
mysqlslap  Ver 1.0 Distrib 5.5.43, for debian-linux-gnu (x86_64)
Copyrigh]]></description><category></category></item><item><title><![CDATA[算法整理-排序（冒泡）]]></title><link>https://blog.youkuaiyun.com/sicexpn/article/details/44962647</link><guid>https://blog.youkuaiyun.com/sicexpn/article/details/44962647</guid><author>sicexpn</author><pubDate>Wed, 22 Apr 2015 13:01:10 +0800</pubDate><description><![CDATA[package com.xpn.sort;public class BubbleSort {    /**
     * @param args
     */
    public static void main(String[] args) {
        int a[]={49,38,65,97,76,13,27,49,78,34,12,64,5,4,62,99,98,54,56,17,]]></description><category></category></item></channel></rss>