<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[MyStringIsNotNull的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/MyStringIsNotNull</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; MyStringIsNotNull]]></copyright><item><title><![CDATA[K：Tcp/Ip三次握手与四次挥手]]></title><link>https://blog.youkuaiyun.com/MyStringIsNotNull/article/details/78492073</link><guid>https://blog.youkuaiyun.com/MyStringIsNotNull/article/details/78492073</guid><author>MyStringIsNotNull</author><pubDate>Thu, 09 Nov 2017 17:34:15 +0800</pubDate><description><![CDATA[@转载自:http://blog.youkuaiyun.com/oney139/article/details/8103223
和
@转载自:http://blog.youkuaiyun.com/hacker00011000/article/details/52319111
TCP头部： 其中 ACK   SYN 
序号  
这三个部分在以下会用到，它们的介绍也在下面。
 
 
暂时需要的信息有：
AC]]></description><category></category></item><item><title><![CDATA[k：UDP打洞原理]]></title><link>https://blog.youkuaiyun.com/MyStringIsNotNull/article/details/78473929</link><guid>https://blog.youkuaiyun.com/MyStringIsNotNull/article/details/78473929</guid><author>MyStringIsNotNull</author><pubDate>Tue, 07 Nov 2017 23:37:23 +0800</pubDate><description><![CDATA[@装载自:http://www.cnblogs.com/wunaozai/p/5545150.html



关于Client R会少接收到一个"打洞消息"这个信息。不是因为UDP的丢包，是Client L 发送的打洞命令。简单说一下。一开始ClientL发送一个UDP到Server，此时ClientL的路由器会保留这样的一条记录(ClientL:IP:Port->Server:IP:Po]]></description><category></category></item><item><title><![CDATA[K:NAT原理与NAT穿越]]></title><link>https://blog.youkuaiyun.com/MyStringIsNotNull/article/details/78473469</link><guid>https://blog.youkuaiyun.com/MyStringIsNotNull/article/details/78473469</guid><author>MyStringIsNotNull</author><pubDate>Tue, 07 Nov 2017 22:40:55 +0800</pubDate><description><![CDATA[@装载自：http://blog.youkuaiyun.com/whoamiyang/article/details/51992208



先做一个约定: 
内网A中有:A1(192.168.30.112),A2(192.168.30.114)两个用户

网关X1(一个NAT设备)有公网IP222.225.80.51; 
内网B中有:B1(192.168.40.112),B2(192.168]]></description><category></category></item><item><title><![CDATA[K：DHCP工作过程]]></title><link>https://blog.youkuaiyun.com/MyStringIsNotNull/article/details/78473403</link><guid>https://blog.youkuaiyun.com/MyStringIsNotNull/article/details/78473403</guid><author>MyStringIsNotNull</author><pubDate>Tue, 07 Nov 2017 22:33:44 +0800</pubDate><description><![CDATA[@装载自：http://tonyguo.blog.51cto.com/379574/163475/



一、DHCP客户机初始化：
1. 寻找DHCP Server。
当DHCP客户机第一次登录网络的时候（也就是客户机上没有任何IP地址数据时），它会通过UDP 67端口向网络上发出一个DHCPDISCOVER数据包（包中包含客户机的MAC地址和计算机名等信息）。因为客户机还不知道自己]]></description><category></category></item><item><title><![CDATA[Q:记学习枚举过程中的一个小问题]]></title><link>https://blog.youkuaiyun.com/MyStringIsNotNull/article/details/78354851</link><guid>https://blog.youkuaiyun.com/MyStringIsNotNull/article/details/78354851</guid><author>MyStringIsNotNull</author><pubDate>Thu, 26 Oct 2017 15:53:46 +0800</pubDate><description><![CDATA[在学习有关java枚举的时候，我们知道了所有的枚举类型均是继承自java.lang.Enum类的，且所有的枚举常量均是该枚举类型的一个对象，且对象名即为该枚举常量的名称。
例子如下：
源码：
public enum T {
    SPRING,SUMMER,AUTUMN,WINTER;
}
 
反编译后的代码：
public final class T extends Enum]]></description><category></category></item><item><title><![CDATA[KandQ:单例模式的七种写法及其相关问题解析]]></title><link>https://blog.youkuaiyun.com/MyStringIsNotNull/article/details/78348150</link><guid>https://blog.youkuaiyun.com/MyStringIsNotNull/article/details/78348150</guid><author>MyStringIsNotNull</author><pubDate>Wed, 25 Oct 2017 23:26:26 +0800</pubDate><description><![CDATA[@改进自:http://cantellow.iteye.com/blog/838473
设计模式中的单例模式可以有7种写法，这7种写法有各自的优点和缺点。
代码示例(java)及其分析如下：
一、懒汉式
public class Singleton
{
private static Singleton singleton;
private Singleton(){}
public]]></description><category></category></item><item><title><![CDATA[K：Serializable或Externalizable对象的序列化]]></title><link>https://blog.youkuaiyun.com/MyStringIsNotNull/article/details/78346886</link><guid>https://blog.youkuaiyun.com/MyStringIsNotNull/article/details/78346886</guid><author>MyStringIsNotNull</author><pubDate>Wed, 25 Oct 2017 21:22:09 +0800</pubDate><description><![CDATA[在java中，对一个对象进行序列化操作，其有两种方式，第一种是通过实现java.io.Serializable接口，该接口是一个标志接口，其没有任何抽象方法需要进行重写，实现了Serializable接口的类，其序列化过程是默认的，当然，也可以通过在该类中重写如下四个方法对序列化的过程进行控制：
0、private
Object writeReplace() throws ObjectStre]]></description><category></category></item><item><title><![CDATA[K：枚举的线程安全性及其序列化问题]]></title><link>https://blog.youkuaiyun.com/MyStringIsNotNull/article/details/78335518</link><guid>https://blog.youkuaiyun.com/MyStringIsNotNull/article/details/78335518</guid><author>MyStringIsNotNull</author><pubDate>Tue, 24 Oct 2017 22:14:25 +0800</pubDate><description><![CDATA[@改进自：http://blog.youkuaiyun.com/jinzhencs/article/details/50561359
枚举是如何保证线程安全的且其在序列化和反序列化的操作中是单例的
要想看源码，首先得有一个类吧，那么枚举类型到底是什么类呢？是enum吗？答案很明显不是，enum就和class一样，只是一个关键字，他并不是一个类，那么枚举是由什么类维护的呢，我们简单的写一个枚举：
publ]]></description><category></category></item><item><title><![CDATA[K:java序列化和反序列化]]></title><link>https://blog.youkuaiyun.com/MyStringIsNotNull/article/details/78324437</link><guid>https://blog.youkuaiyun.com/MyStringIsNotNull/article/details/78324437</guid><author>MyStringIsNotNull</author><pubDate>Mon, 23 Oct 2017 22:51:05 +0800</pubDate><description><![CDATA[@转载自：http://blog.youkuaiyun.com/wangloveall/article/details/7992448/
Java序列化与反序列化是什么？为什么需要序列化与反序列化？如何实现Java序列化与反序列化？本文围绕这些问题进行了探讨。
 1.Java序列化与反序列化
 Java序列化是指把Java对象转换为字节序列的过程；而Java反序列化是指把字节序列恢复为Java对象的过程]]></description><category></category></item><item><title><![CDATA[K：小白科普之分布式和集群]]></title><link>https://blog.youkuaiyun.com/MyStringIsNotNull/article/details/78319399</link><guid>https://blog.youkuaiyun.com/MyStringIsNotNull/article/details/78319399</guid><author>MyStringIsNotNull</author><pubDate>Mon, 23 Oct 2017 15:36:30 +0800</pubDate><description><![CDATA[@转载自:https://mp.weixin.qq.com/s/HbYfF4iBGgc7VHPFr5qJoA   

@公众号：码农翻身




1分布式


小明的公司有3个系统： 系统A、系统B和系统C ，这三个系统所做的业务不同，被部署在3个独立的机器上运行， 他们之间互相调用（当然是跨域网络的）， 通力合作完成公司的业务流程。



将不同的业务分布在不同的地方]]></description><category></category></item><item><title><![CDATA[K：正则表达式之进阶]]></title><link>https://blog.youkuaiyun.com/MyStringIsNotNull/article/details/78314422</link><guid>https://blog.youkuaiyun.com/MyStringIsNotNull/article/details/78314422</guid><author>MyStringIsNotNull</author><pubDate>Sun, 22 Oct 2017 23:16:31 +0800</pubDate><description><![CDATA[子表达式
前面所介绍的关于重复匹配的知识，其重复匹配的字符只作用于紧挨着的前一个字符而言，而有时候要将一个集体(姑且用该概念进行称呼)进行重复多遍的进行匹配，则使用前面所介绍的知识，其是无法做到的。为此，使用了子表达式的概念。子表达式是一个更大的表达式的一部分，把一个表达式划分为一系列子表达式的目的是为了把那些子表达式当作一个独立元素来进行使用。子表达式，用(和)括起来，其()中的内容表示一个整]]></description><category></category></item><item><title><![CDATA[K：正则表达式之基础简介]]></title><link>https://blog.youkuaiyun.com/MyStringIsNotNull/article/details/78313035</link><guid>https://blog.youkuaiyun.com/MyStringIsNotNull/article/details/78313035</guid><author>MyStringIsNotNull</author><pubDate>Sun, 22 Oct 2017 20:39:22 +0800</pubDate><description><![CDATA[正则表达式(regular expression 
简称regex)是一种工具，和其它工具一样是为了解决某一类问题而发明的。正则表达式是一些用来匹配和处理文本的字符串。平时主要用于查找和替换符合相应模式的文本，而该模式，就是由正则表达式所定义。需要注意的是，使用正则表达式对字符串进行匹配，正则表达式的编写方案并不是唯一的，同一个问题，往往会有多种方案。同时，需要注意的是正则表达式的语法是区分大小]]></description><category></category></item><item><title><![CDATA[K:maven的相关介绍]]></title><link>https://blog.youkuaiyun.com/MyStringIsNotNull/article/details/78304779</link><guid>https://blog.youkuaiyun.com/MyStringIsNotNull/article/details/78304779</guid><author>MyStringIsNotNull</author><pubDate>Sat, 21 Oct 2017 16:52:33 +0800</pubDate><description><![CDATA[maven的相关简介，以及在eclipse中如何使用maven。
@文章：http://blog.youkuaiyun.com/jiuqiyuliang/article/details/41076215]]></description><category></category></item><item><title><![CDATA[K：eclipse导入github的maven项目]]></title><link>https://blog.youkuaiyun.com/MyStringIsNotNull/article/details/78304043</link><guid>https://blog.youkuaiyun.com/MyStringIsNotNull/article/details/78304043</guid><author>MyStringIsNotNull</author><pubDate>Sat, 21 Oct 2017 15:43:25 +0800</pubDate><description><![CDATA[@转载自：http://yunchow.iteye.com/blog/2120001
ps:需要注意的是，电脑中需要先安装了maven，而使用maven又必须先安装了JDK。maven的安装和配置详见：https://jingyan.baidu.com/article/d8072ac45d3660ec94cefd51.html



从远程GIT上导出一个Maven项目到Eclipse大]]></description><category></category></item><item><title><![CDATA[K：利用Github、Eclipse进行分布式协同开发]]></title><link>https://blog.youkuaiyun.com/MyStringIsNotNull/article/details/78300520</link><guid>https://blog.youkuaiyun.com/MyStringIsNotNull/article/details/78300520</guid><author>MyStringIsNotNull</author><pubDate>Fri, 20 Oct 2017 23:33:32 +0800</pubDate><description><![CDATA[@转载自： http://blog.youkuaiyun.com/zhzxlc_06/article/details/46671153

     Git是分布式版本控制的一种实现方式，Github提供了Git版本库托管服务。本文主要介绍利用Github与Eclipse进行团队分布式协同开发。需要指出的是，任何IDE都可以与Git协作进行开发，Eclipse与Github并无关联。


Git历史]]></description><category></category></item><item><title><![CDATA[K：利用System.getProperties()方法获得的虚拟机进程的信息]]></title><link>https://blog.youkuaiyun.com/MyStringIsNotNull/article/details/78174302</link><guid>https://blog.youkuaiyun.com/MyStringIsNotNull/article/details/78174302</guid><author>MyStringIsNotNull</author><pubDate>Sun, 08 Oct 2017 12:56:45 +0800</pubDate><description><![CDATA[@装载自：http://blog.youkuaiyun.com/coolhty/article/details/3260659
public class JavaGetProperties
{
	public static void main(String[ ] args)
	{
	    Properties props=System.getProperties(); //系统属性
	    System]]></description><category></category></item><item><title><![CDATA[K：Eclipse Memory Analyzer的安装和使用]]></title><link>https://blog.youkuaiyun.com/MyStringIsNotNull/article/details/78162359</link><guid>https://blog.youkuaiyun.com/MyStringIsNotNull/article/details/78162359</guid><author>MyStringIsNotNull</author><pubDate>Thu, 05 Oct 2017 19:09:37 +0800</pubDate><description><![CDATA[@转载自:http://blog.youkuaiyun.com/wizard_rp/article/details/73266194



简单描述一下Eclipse中Memory Analysis toos插件的安装和使用，以下简称MAT。 

1. 安装
　　在Eclipse help -> Eclipse Marketplace下搜索Memory: 

图 1-1 搜索MAT插件
　]]></description><category></category></item><item><title><![CDATA[K：java枚举的常见用法]]></title><link>https://blog.youkuaiyun.com/MyStringIsNotNull/article/details/78157665</link><guid>https://blog.youkuaiyun.com/MyStringIsNotNull/article/details/78157665</guid><author>MyStringIsNotNull</author><pubDate>Wed, 04 Oct 2017 11:31:27 +0800</pubDate><description><![CDATA[@转载自：http://www.cnblogs.com/felicityxi/p/6710231.html和http://blog.youkuaiyun.com/zknxx/article/details/51884536

用法一：常量
在JDK1.5 之前，我们定义常量都是： publicstaticfianl.... 。现在好了，有了枚举，可以把相关的常量分组到一个枚举类型里，而且枚举提供了比常量]]></description><category></category></item><item><title><![CDATA[K:找寻最长子序列的四个算法]]></title><link>https://blog.youkuaiyun.com/MyStringIsNotNull/article/details/78157411</link><guid>https://blog.youkuaiyun.com/MyStringIsNotNull/article/details/78157411</guid><author>MyStringIsNotNull</author><pubDate>Wed, 04 Oct 2017 10:16:05 +0800</pubDate><description><![CDATA[package other;
/**
 * 该类用于演示寻找最长子序列的几种算法
 * @author 学徒
 *
 */
public class MaxSubLined
{
	public static void main(String[] args)
	{
		int[] array={-2,11,-4,13,-5,2,-5,-3,12,-9};
		MaxSubLined max=new ]]></description><category></category></item><item><title><![CDATA[K:找寻数组中第n大的数组元素的值的三个算法]]></title><link>https://blog.youkuaiyun.com/MyStringIsNotNull/article/details/78157406</link><guid>https://blog.youkuaiyun.com/MyStringIsNotNull/article/details/78157406</guid><author>MyStringIsNotNull</author><pubDate>Wed, 04 Oct 2017 10:13:51 +0800</pubDate><description><![CDATA[package other;import java.util.Arrays;/** 
 * 该类用于演示在一个无序的数组中寻找第n大的数的三个算法 
 * @author 学徒 
 * 
 */ 
public class FindTHNumber 
{ 
 int[] array=null; 
 public static void main(String[] args) 
 { 
  FindT]]></description><category></category></item></channel></rss>