<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[liudezhicsdn的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/liudezhicsdn</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; liudezhicsdn]]></copyright><item><title><![CDATA[五种开源协议的比较(BSD,Apache,GPL,LGPL,MIT)]]></title><link>https://blog.youkuaiyun.com/liudezhicsdn/article/details/52145684</link><guid>https://blog.youkuaiyun.com/liudezhicsdn/article/details/52145684</guid><author>liudezhicsdn</author><pubDate>Sun, 07 Aug 2016 22:59:12 +0800</pubDate><description><![CDATA[当今软件行业，开源已经是大势所趋，但是其实不同的开源协议也是有着不同的试用范围的。现在我们来盘点一下。以下内容参考链接http://blind.iteye.com/blog/516425。现今存在的开源协议很多，而经过Open Source Initiative组织通过批准的开源协议目前有58种（http://www.opensource.org/licenses/alphabetical）。我们在]]></description><category></category></item><item><title><![CDATA[用jetty跑maven项目（详细版，适合小白）]]></title><link>https://blog.youkuaiyun.com/liudezhicsdn/article/details/51864828</link><guid>https://blog.youkuaiyun.com/liudezhicsdn/article/details/51864828</guid><author>liudezhicsdn</author><pubDate>Sat, 09 Jul 2016 01:14:00 +0800</pubDate><description><![CDATA[众所周知，jetty和tomcat都是apache的产品，其中jetty的功能没有apache强大，换来的是比apache更轻的体量和更高的效率，tomcat大家都比较熟悉，jetty可能会比较陌生一些。今天我就用jetty带着大家一起跑一个简单的maven web项目。环境准备： 
maven准备 
首先下载maven，可以直接去官网下载，链接如下： 
http://maven.apache.or]]></description><category></category></item><item><title><![CDATA[jetty官方文档翻译第二章]]></title><link>https://blog.youkuaiyun.com/liudezhicsdn/article/details/51712454</link><guid>https://blog.youkuaiyun.com/liudezhicsdn/article/details/51712454</guid><author>liudezhicsdn</author><pubDate>Sun, 19 Jun 2016 15:08:06 +0800</pubDate><description><![CDATA[Chapter 2. Using Jetty IntroductionTable of ContentsDownloading Jetty 
Running Jetty 
Deploying Web Applications 
Finding Jetty in Maven 
You can use Jetty in many different ways, ranging from embeddin]]></description><category></category></item><item><title><![CDATA[jetty官方文档翻译第一章]]></title><link>https://blog.youkuaiyun.com/liudezhicsdn/article/details/51661370</link><guid>https://blog.youkuaiyun.com/liudezhicsdn/article/details/51661370</guid><author>liudezhicsdn</author><pubDate>Mon, 13 Jun 2016 23:24:16 +0800</pubDate><description><![CDATA[Chapter 1. Introducing Jetty 
What is Jetty? 
Jetty is an open-source project providing an HTTP server, HTTP client, and javax.servlet container. 
This guide is in two parts. 
The first part emphasizes]]></description><category></category></item><item><title><![CDATA[排序常用的三种算法]]></title><link>https://blog.youkuaiyun.com/liudezhicsdn/article/details/51419851</link><guid>https://blog.youkuaiyun.com/liudezhicsdn/article/details/51419851</guid><author>liudezhicsdn</author><pubDate>Sun, 15 May 2016 22:32:32 +0800</pubDate><description><![CDATA[冒泡算法public static void  sort(long[] arr) {
    long tmp = 0;
    for(int i=0;i<arr.length - 1;i++) {
        for(int j=arr.length - 1;j>i;j--){
            if(arr[j]<arr[j-1]){
                //进行交换]]></description><category></category></item><item><title><![CDATA[java容器总结]]></title><link>https://blog.youkuaiyun.com/liudezhicsdn/article/details/51347435</link><guid>https://blog.youkuaiyun.com/liudezhicsdn/article/details/51347435</guid><author>liudezhicsdn</author><pubDate>Sun, 08 May 2016 20:18:53 +0800</pubDate><description><![CDATA[容器大体分为两类：Collection和Map。 
区别： 
1 Collection中存储了一组对象，而Map存储键值对。 
2 Collection的子类都实现了iterator这个方法，该方法能返回一个Iterator对象。Collection的具体实现包括List和Set。 
区别： 
1 List是有序的，元素可以重复的，Set是无序的，元素不可以重复。 
2 Set的value最多只能存]]></description><category></category></item><item><title><![CDATA[找到满足条件的数组]]></title><link>https://blog.youkuaiyun.com/liudezhicsdn/article/details/51291919</link><guid>https://blog.youkuaiyun.com/liudezhicsdn/article/details/51291919</guid><author>liudezhicsdn</author><pubDate>Sun, 01 May 2016 21:43:18 +0800</pubDate><description><![CDATA[给定函数d(n)=n+n的各位之和，n为正整数，如d(78)=78+7+8=93。这样这个函数可以看成一个生成器，如93可以看成由78生成。 
定义数A：数A找不到一个数B可以由d(B)=A，即A不能由其他数生成。现在要写程序，找出1至10000里的所有符合数A定义的数。 
回答： 
申请一个长度为10000的bool数组，每个元素代表对应的值是否可以有其它数生成。开始时将数组中的值都初始化为fal]]></description><category></category></item><item><title><![CDATA[对一个正整数n，算得到1需要的最少操作次数]]></title><link>https://blog.youkuaiyun.com/liudezhicsdn/article/details/51291641</link><guid>https://blog.youkuaiyun.com/liudezhicsdn/article/details/51291641</guid><author>liudezhicsdn</author><pubDate>Sun, 01 May 2016 20:46:55 +0800</pubDate><description><![CDATA[实现一个函数，对一个正整数n，算得到1需要的最少操作次数。操作规则为：如果n为偶数，将其除以2；如果n为奇数，可以加1或减1；一直处理下去。例子： 
func(7) = 4，可以证明最少需要4次运算 
n = 7 
n-1 6 
n/2 3 
n-1 2 
n/2 1 
要求：实现函数(实现尽可能高效) int func(unsign int n)；n为输入，返回最小的运算次数。给出思路(文字描述)]]></description><category></category></item><item><title><![CDATA[HashMap如何存储数据的？]]></title><link>https://blog.youkuaiyun.com/liudezhicsdn/article/details/51287444</link><guid>https://blog.youkuaiyun.com/liudezhicsdn/article/details/51287444</guid><author>liudezhicsdn</author><pubDate>Sat, 30 Apr 2016 19:02:13 +0800</pubDate><description><![CDATA[我们知道，HashMap是通过key算出hashCode，然后，通过使用hashCode当做下标来存储数据的，其实这种说法并非完全正确，比如HashMap初始容量只有16，他是怎么存储下hashCode值大于16的数据的呢？通过观察源码，我们发现如下源码：    /**
     * Returns index for hash code h.
     */
    static int inde]]></description><category></category></item><item><title><![CDATA[mysql不同版本varchar长度的不同含义]]></title><link>https://blog.youkuaiyun.com/liudezhicsdn/article/details/51259915</link><guid>https://blog.youkuaiyun.com/liudezhicsdn/article/details/51259915</guid><author>liudezhicsdn</author><pubDate>Wed, 27 Apr 2016 11:49:23 +0800</pubDate><description><![CDATA[我们知道我们常用的字符集有utf-8，gbk，gb2312等。 
GBK、GB2312等与UTF8之间都必须通过Unicode编码才能相互转换。 
其中UTF8一个汉字占三个字节。 
GB2312是GBK的子集，GBK是GB18030的子集，所以他们都是一个汉字占二个字节。在mysql中5以后的版本设置varchar(10)就是代表能存10个汉字。 
在mysql中4版本设置varchar(10)就]]></description><category></category></item><item><title><![CDATA[HashMap最大容量为什么是2的32次方]]></title><link>https://blog.youkuaiyun.com/liudezhicsdn/article/details/51234292</link><guid>https://blog.youkuaiyun.com/liudezhicsdn/article/details/51234292</guid><author>liudezhicsdn</author><pubDate>Sun, 24 Apr 2016 16:41:46 +0800</pubDate><description><![CDATA[//默认的桶数组大小
static final int DEFAULT_INITIAL_CAPACITY = 1 << 4;
//极限值（超过这个值就将threshold修改为Integer.MAX_VALUE（此时桶大小已经是2的31次方了），表明不进行扩容了）
static final int MAXIMUM_CAPACITY = 1 << 30;
//负载因子（请阅读下面体会这个值的用处）
s]]></description><category></category></item><item><title><![CDATA[jvm参数配置]]></title><link>https://blog.youkuaiyun.com/liudezhicsdn/article/details/51205166</link><guid>https://blog.youkuaiyun.com/liudezhicsdn/article/details/51205166</guid><author>liudezhicsdn</author><pubDate>Thu, 21 Apr 2016 00:26:42 +0800</pubDate><description><![CDATA[配置如下参数，可打印GC信息： 
-verbose:gc 
-XX:+printGC[GC 4790K->374K(15872K), 0.0001606 secs]
[GC 4790K->374K(15872K), 0.0001474 secs]
[GC 4790K->374K(15872K), 0.0001563 secs]
[GC 4790K->374K(15872K), 0.0001682 s]]></description><category></category></item><item><title><![CDATA[jvm运行机制]]></title><link>https://blog.youkuaiyun.com/liudezhicsdn/article/details/51195148</link><guid>https://blog.youkuaiyun.com/liudezhicsdn/article/details/51195148</guid><author>liudezhicsdn</author><pubDate>Tue, 19 Apr 2016 23:25:07 +0800</pubDate><description><![CDATA[jvm启动流程 
启动java进程-》装载配置（根据当前路径和系统版本寻找jvm.cfg）-》根据配置寻找JVM.dll（JVM.dll为JVM主要实现）-》初始化JVM获得JNIEnv接口（JNIEnv为JVM 接口，findClass等操作通过它实现）-》找到main方法并运行。jvm基本结构 
PC寄存器 
每个线程拥有一个PC寄存器(程序计数器) 
在线程创建时 创建 
指向下一条指令的地址]]></description><category></category></item><item><title><![CDATA[jvm简介]]></title><link>https://blog.youkuaiyun.com/liudezhicsdn/article/details/51184949</link><guid>https://blog.youkuaiyun.com/liudezhicsdn/article/details/51184949</guid><author>liudezhicsdn</author><pubDate>Tue, 19 Apr 2016 00:07:19 +0800</pubDate><description><![CDATA[定义 
jvm严格来讲是一种规范，现下最流行的实现是hotspot。发展史 
1996年 SUN JDK 1.0 Classic VM 
纯解释运行，使用外挂进行JIT1997年 JDK1.1 发布 
AWT、内部类、JDBC、RMI、反射1998年 JDK1.2 Solaris Exact VM 
JIT 解释器混合 
Accurate Memory Management 精确内存管理，数据类型敏]]></description><category></category></item><item><title><![CDATA[socket长连接和socket短连接]]></title><link>https://blog.youkuaiyun.com/liudezhicsdn/article/details/51183018</link><guid>https://blog.youkuaiyun.com/liudezhicsdn/article/details/51183018</guid><author>liudezhicsdn</author><pubDate>Mon, 18 Apr 2016 21:32:06 +0800</pubDate><description><![CDATA[短连接  
连接->传输数据->关闭连接  
HTTP是无状态的，浏览器和服务器每进行一次HTTP操作，就建立一次连接，但任务结束就中断连接。  
也可以这样说：短连接是指SOCKET连接后发送后接收完数据后马上断开连接。 长连接  
连接->传输数据->保持连接 -> 传输数据-> 。。。 ->关闭连接。  
长连接指建立SOCKET连接后不管是否使用都保持连接，但安全性较差。 http的长连接]]></description><category></category></item><item><title><![CDATA[java.io.File 删除文件delete()和deleteOnExit()的区别]]></title><link>https://blog.youkuaiyun.com/liudezhicsdn/article/details/51177822</link><guid>https://blog.youkuaiyun.com/liudezhicsdn/article/details/51177822</guid><author>liudezhicsdn</author><pubDate>Mon, 18 Apr 2016 10:40:45 +0800</pubDate><description><![CDATA[file.delete()//删除文件,删除的是创建File对象时指定与之关联创建的那个文件. 
file.deleteOnExit();//在JVM进程退出的时候删除文件,通常用在临时文件的删除.]]></description><category></category></item><item><title><![CDATA[mysql集群原理剖析]]></title><link>https://blog.youkuaiyun.com/liudezhicsdn/article/details/51176437</link><guid>https://blog.youkuaiyun.com/liudezhicsdn/article/details/51176437</guid><author>liudezhicsdn</author><pubDate>Sun, 17 Apr 2016 23:18:17 +0800</pubDate><description><![CDATA[mysql集群？ 
MySQL集群是一个无共享的(shared-nothing)、分布式节点架构的存储方案，其目的是提供容错性和高性能。 
数据更新使用读已提交隔离级别（read-committedisolation)来保证所有节点数据的一致性，使用两阶段提交机制（two-phasedcommit)保证所有节点都有相同的数据(如果任何一个写操作失败，则更新失败）。 
无共享的对等节点使得某台服务器上]]></description><category></category></item><item><title><![CDATA[java native关键字]]></title><link>https://blog.youkuaiyun.com/liudezhicsdn/article/details/51172052</link><guid>https://blog.youkuaiyun.com/liudezhicsdn/article/details/51172052</guid><author>liudezhicsdn</author><pubDate>Sun, 17 Apr 2016 10:30:48 +0800</pubDate><description><![CDATA[简单地讲，一个Native Method就是一个java调用非java代码的接口。一个Native Method是这样一个java的方法：该方法的实现由非java语言实现，比如C。这个特征并非java所特有，很多其它的编程语言都有这一机制，比如在C＋＋中，你可以用extern “C”告知C＋＋编译器去调用一个C的函数。]]></description><category></category></item><item><title><![CDATA[Iterator简单剖析]]></title><link>https://blog.youkuaiyun.com/liudezhicsdn/article/details/51169572</link><guid>https://blog.youkuaiyun.com/liudezhicsdn/article/details/51169572</guid><author>liudezhicsdn</author><pubDate>Sat, 16 Apr 2016 19:08:58 +0800</pubDate><description><![CDATA[迭代器(Iterator)是一种设计模式，它是一个对象，它可以遍历并选择序列中的对象，而开发人员不需要了解该序列的底层结构。迭代器通常被称为“轻量级”对象，因为创建它的代价小。迭代器(Iterator)游标默认在第一个元素之前的位置，所需取第一个元素需要用到next()方法。迭代器(Iterator)的方法如下： 
如下为java代码简单应用：package com.ldz.constant;imp]]></description><category></category></item><item><title><![CDATA[TCP协议中的三次握手和四次挥手(图解)]]></title><link>https://blog.youkuaiyun.com/liudezhicsdn/article/details/51169065</link><guid>https://blog.youkuaiyun.com/liudezhicsdn/article/details/51169065</guid><author>liudezhicsdn</author><pubDate>Sat, 16 Apr 2016 17:12:28 +0800</pubDate><description><![CDATA[建立TCP需要三次握手才能建立，而断开连接则需要四次握手。整个过程如下图所示： 
 
先来看看如何建立连接的。 
 
首先Client端发送连接请求报文，Server段接受连接后回复ACK报文，并为这次连接分配资源。Client端接收到ACK报文后也向Server段发生ACK报文，并分配资源，这样TCP连接就建立了。 
那如何断开连接呢？简单的过程如下： 
 
【注意】中断连接端可以是Client端]]></description><category></category></item></channel></rss>