<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[zjd358的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/zjd358</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; zjd358]]></copyright><item><title><![CDATA[一道概率问题：]]></title><link>https://blog.youkuaiyun.com/zjd358/article/details/9709179</link><guid>https://blog.youkuaiyun.com/zjd358/article/details/9709179</guid><author>zjd358</author><pubDate>Thu, 01 Aug 2013 23:54:23 +0800</pubDate><description><![CDATA[题目：有一辆汽车有N个座位，编号为1~N， 有N个人买票拿号上车，正常人按照自己的座位号对号入座，但是有一个精神病患者，在空座位中随机选择一个空着的座位就坐，正常人的座位如果被占，也将随机选择一个空着就坐，假如第一个上车的是精神病患者，其他人都是正常人，问最后一个人能坐到自己的座位的概率是多少？

对于概率统计的问题，在面试的时候，刚一看题，有点懵，习惯性的瞎猜测1/N，1/2之类的答案。但是]]></description><category></category></item><item><title><![CDATA[算法题求解：从1~N中求某个字符出现次数]]></title><link>https://blog.youkuaiyun.com/zjd358/article/details/9674793</link><guid>https://blog.youkuaiyun.com/zjd358/article/details/9674793</guid><author>zjd358</author><pubDate>Wed, 31 Jul 2013 23:59:04 +0800</pubDate><description><![CDATA[最近碰到一道题目：输入1~N个数字，求这个字符序列中某个字符ch={0~9}出现的次数，例如N=12时，字符‘1’出现了5次，1、10、11、12。
这个题目一看，绝大部分人想到的就是循环，求每个数字中字符出现的次数，但是一旦N很大的时候，就拿32位的有无符号Int来说，最大值2147483647，在我的2.53GHZ的机器上运行，大约需要289秒，效率太低了，我们就可以从数字的特征开始分析。]]></description><category></category></item><item><title><![CDATA[[数据挖掘]关联规则挖掘]]></title><link>https://blog.youkuaiyun.com/zjd358/article/details/8784975</link><guid>https://blog.youkuaiyun.com/zjd358/article/details/8784975</guid><author>zjd358</author><pubDate>Fri, 03 May 2013 21:26:13 +0800</pubDate><description><![CDATA[关联规则（association rule）是数据中所蕴含的一类重要规律。关联规则挖掘的目标是在数据项目中找出所有的并发关系（cooccurrence relationships）,这种关系也称为关联（association）。关联规则挖掘的经典应用是购物篮（Market Basket）， 关联规则挖掘并没有考虑客户购买商品时的顺序。
      在介绍关联规则挖掘算法前，我们先了解一些相关的概]]></description><category></category></item><item><title><![CDATA[遗传算法实现表达式在一定[x,y]求最大值]]></title><link>https://blog.youkuaiyun.com/zjd358/article/details/8762477</link><guid>https://blog.youkuaiyun.com/zjd358/article/details/8762477</guid><author>zjd358</author><pubDate>Fri, 05 Apr 2013 21:06:40 +0800</pubDate><description><![CDATA[遗传算法是计算数学中用于解决最优化的搜索算法，是进化算法的一种。进化算法最初是借鉴了进化生物学中的一些现象而发展起来的，这些现象包括遗传、突变、自然选择以及杂交等。
 
遗传算法通常实现方式为一种计算机模拟。对于一个最优化问题，一定数量的候选解（称为个体）的抽象表示（称为染色体）的种群向更好的解进化。
 
对遗传算法，我们不做过多的叙述，google一下，有大量的相关文章，我在这里用Jav]]></description><category></category></item><item><title><![CDATA[C/C++指针与const、数组、函数]]></title><link>https://blog.youkuaiyun.com/zjd358/article/details/8733891</link><guid>https://blog.youkuaiyun.com/zjd358/article/details/8733891</guid><author>zjd358</author><pubDate>Sat, 30 Mar 2013 22:58:11 +0800</pubDate><description><![CDATA[C/C++中指针是灵活多变，可以指指向任意地址，但是地址有可以存储任意对象，因此指针与其它对象的定义结合在一起，功能和作用是不同的，很容易混淆，尤其是const、数组和函数。
 下面分别介绍一下const、数组、函数与指针一起时在如何使用，有点像绕口令。
 
1、const与指针
const用来修饰不变量，const与指针结合在一起，有多种称谓和定义，例如： 常量指针、指针常量（指向常量的]]></description><category></category></item><item><title><![CDATA[【图解】Linux下C程序进程地址空间布局]]></title><link>https://blog.youkuaiyun.com/zjd358/article/details/8684996</link><guid>https://blog.youkuaiyun.com/zjd358/article/details/8684996</guid><author>zjd358</author><pubDate>Sun, 17 Mar 2013 22:01:55 +0800</pubDate><description><![CDATA[转载自： 作者：沧海猎人   出处：http://blog.youkuaiyun.com/embedded_hunter 






我们在学习C程序开发时经常会遇到一些概念：代码段、数据段、BSS段（Block Started by Symbol） 、堆（heap）和栈（stack）。先看一张教材上的示意图（来源，《UNIX环境高级编程》一书），显示了进程地址空间中典型的存储区域分配情况。]]></description><category></category></item><item><title><![CDATA[剖析程序的内存布局]]></title><link>https://blog.youkuaiyun.com/zjd358/article/details/8684876</link><guid>https://blog.youkuaiyun.com/zjd358/article/details/8684876</guid><author>zjd358</author><pubDate>Sun, 17 Mar 2013 21:31:26 +0800</pubDate><description><![CDATA[转自：http://blog.youkuaiyun.com/drshenlei/article/details/4339110

    内存管理模块是操作系统的心脏；它对应用程序和系统管理非常重要。今后的几篇文章中，我将着眼于实际的内存问题，但也不避讳其中的技术内幕。由于不少概念是通用的，所以文中大部分例子取自32位x86平台的Linux和Windows系统。本系列第一篇文章讲述应用程序的内存布局。]]></description><category></category></item><item><title><![CDATA[在Eclipse 集成 Tomcat，准备Java Web开发环境]]></title><link>https://blog.youkuaiyun.com/zjd358/article/details/8604268</link><guid>https://blog.youkuaiyun.com/zjd358/article/details/8604268</guid><author>zjd358</author><pubDate>Fri, 22 Feb 2013 22:57:18 +0800</pubDate><description><![CDATA[现在学习Java  Web开发的时候，一般选择使用Eclipse 和Tomcat，当然各人有各人的喜好。下面仅仅记录一下我的操作方便新手学习，也避免以后自己忘记。
         1、安装JDK， 这个不需要多说，安装完之后，一般配JAVA_HOME环境变量；
         2、下载Apache Tomcat，官方下载，有安装（Exe）版和绿色版（解压到一个某一个目录即可），我选择绿色版]]></description><category></category></item><item><title><![CDATA[Java 高质量编程建议（笔记8）]]></title><link>https://blog.youkuaiyun.com/zjd358/article/details/8589306</link><guid>https://blog.youkuaiyun.com/zjd358/article/details/8589306</guid><author>zjd358</author><pubDate>Mon, 18 Feb 2013 22:11:56 +0800</pubDate><description><![CDATA[Ad-60:性能考虑，数组是首选
    1）Java中JDK提供了List、Set、Map等集合类，方便各种应用场景的编码，但是这些集合的底层实现还是依赖于数组；
    2）Java中集合类型是泛型，而泛型支持的是对象类型，不支持基本类型，但是数组支持基本类型；
    3）由于集合类型不支持基本类型， 而数组支持，在对大量数据做运算情况下， 数组的效率比集合类型高，集合类型的元素存入时]]></description><category></category></item><item><title><![CDATA[Java 高质量编程建议（笔记7）]]></title><link>https://blog.youkuaiyun.com/zjd358/article/details/8567669</link><guid>https://blog.youkuaiyun.com/zjd358/article/details/8567669</guid><author>zjd358</author><pubDate>Sun, 03 Feb 2013 23:13:08 +0800</pubDate><description><![CDATA[Ad-52:推荐使用String直接量赋值
    1）一般的对象生成，都是用new创建一个新对象，但是String可以通过赋值类生成对象；
    2）对于String对象，不建议是用new String("")生成对象，而是String var= "";
    3）Java为了避免系统中产生大量的String对象，内部设计一个字符串常量对象池，使用赋值创建一个String对象的时候，首]]></description><category></category></item><item><title><![CDATA[Java 高质量编程建议（笔记6）]]></title><link>https://blog.youkuaiyun.com/zjd358/article/details/8564417</link><guid>https://blog.youkuaiyun.com/zjd358/article/details/8564417</guid><author>zjd358</author><pubDate>Sun, 03 Feb 2013 21:46:21 +0800</pubDate><description><![CDATA[Ad-39:使用匿名类的构造函数
Ad-40:匿名的构造函数很特殊
    1）匿名类是指没有名称的类，通常的匿名内是继承自某个类，例如通常创建一个线程如下：
        Thread thr = new Thread(){
            @Override
            public void run()
            {]]></description><category></category></item><item><title><![CDATA[Java 高质量编程建议（笔记5）]]></title><link>https://blog.youkuaiyun.com/zjd358/article/details/8564409</link><guid>https://blog.youkuaiyun.com/zjd358/article/details/8564409</guid><author>zjd358</author><pubDate>Fri, 01 Feb 2013 23:01:39 +0800</pubDate><description><![CDATA[Ad-31:不要在接口中实现代码
    接口是一种框架协议，定义了各个功能模块之间的交互协议，因此不要把具体的功能实现放在接口中，避免接口中绑定了可变的实现部分，导致接口不稳定。
    接口是定义了要实现的类的功能接口，但是各个实现类之间不一般不存在耦合，如果实现放在接口中，就很容易导致接口实现类存在一定的耦合。
    
Ad-32:静态变量一定要先声明后赋值 
    1）在大家]]></description><category></category></item><item><title><![CDATA[Java 高质量编程建议（笔记4）]]></title><link>https://blog.youkuaiyun.com/zjd358/article/details/8564405</link><guid>https://blog.youkuaiyun.com/zjd358/article/details/8564405</guid><author>zjd358</author><pubDate>Fri, 01 Feb 2013 22:57:47 +0800</pubDate><description><![CDATA[Ad-26:提防包装类型的null值
    1）包装类型（Wrapper Types）是为了解决基本类型的实例化问题，以便让一个基本类型也能参与到面向对象的编程世界中（例如：Java的容器存放的都是对象类型）；
    2）包装类型有：Character(char)，Byte(byte)，Short(short)，Integer(int)，Long(long)，Float(float)，Do]]></description><category></category></item><item><title><![CDATA[Java 高质量编程建议（笔记3）]]></title><link>https://blog.youkuaiyun.com/zjd358/article/details/8522890</link><guid>https://blog.youkuaiyun.com/zjd358/article/details/8522890</guid><author>zjd358</author><pubDate>Sun, 20 Jan 2013 21:09:29 +0800</pubDate><description><![CDATA[Ad-18:避免instanceOf非预期结果
    1）instanceOf是一个简单的二元操作符，用来判断一个对象实例是否属于某个类；
    2）直接常量的类型是基本类型，而不是其包装类型， 如果右操作数是包装类型，则编译失败，反之亦然；
    3）instancOf的左操作数如果是null，直接返回false，不关心运算的右操作数是什么类型；
    4）如果对象的类型是是右操]]></description><category></category></item><item><title><![CDATA[Java 高质量编程建议（笔记2）]]></title><link>https://blog.youkuaiyun.com/zjd358/article/details/8498525</link><guid>https://blog.youkuaiyun.com/zjd358/article/details/8498525</guid><author>zjd358</author><pubDate>Sun, 13 Jan 2013 17:54:34 +0800</pubDate><description><![CDATA[Ad-16:易变的业务使用脚本语言编写
    1）脚本语言的优势：
        a）灵活：脚本语言一般是动态类型，可以不声明变量类型而直接使用， 也可以在运行期间改变类型；
        b）便捷：脚本语言是一种解释型语言， 不需要编译成二进制代码，也不需要Java一样生成字节码，它依赖解释器解释的， 运行期间变更代码更容易，而且不用停止业务；
        c）简单：部分脚本语]]></description><category></category></item><item><title><![CDATA[Java 高质量编程建议（笔记1）]]></title><link>https://blog.youkuaiyun.com/zjd358/article/details/8498250</link><guid>https://blog.youkuaiyun.com/zjd358/article/details/8498250</guid><author>zjd358</author><pubDate>Sun, 13 Jan 2013 15:46:53 +0800</pubDate><description><![CDATA[Ad-1：不要在变量和常量中出现容易混淆的数字和字母
 1）包名称通常全小写；
 2）多个单词构成的类名称，全首字母大写；
 3）变量名称和函数名称的首单词首字母小写，后续单词的首字母大写；
 4）常量全大写，单词之间用"_"连接；
 5）long型整数赋值时，需要加字母"l"或"L"，建议用L；
 6）字母O与数字0 易混淆，建议常量和变量中不少使用，使用时增加注释；
 
Ad-]]></description><category></category></item><item><title><![CDATA[Java Core  接口和内部类]]></title><link>https://blog.youkuaiyun.com/zjd358/article/details/6589023</link><guid>https://blog.youkuaiyun.com/zjd358/article/details/6589023</guid><author>zjd358</author><pubDate>Wed, 06 Jul 2011 21:31:47 +0800</pubDate><description><![CDATA[1、  接口描述一个类具有某些功能，而不是实现这些功能，它本身不是一个类，不能被实例化。2、  接口性质1）  接口中所有的方法自动属于public类型，不需要在接口中用public修饰；2）  接口中可以定义常量，不需要用public static final修饰，接口中的常量]]></description><category></category></item><item><title><![CDATA[Java Core 第五章——继承（2）]]></title><link>https://blog.youkuaiyun.com/zjd358/article/details/6460191</link><guid>https://blog.youkuaiyun.com/zjd358/article/details/6460191</guid><author>zjd358</author><pubDate>Wed, 01 Jun 2011 21:43:00 +0800</pubDate><description><![CDATA[<br />1、  泛型数组列表<br />1）  数组类型的大型在程序执行new以后，大小固定了，不能再扩大数组的大小；<br />2）  ArrayList是一种采用类型参数的泛型类，在ArrayList后面增加<ClassType>来说明数组列表的元素类型；<br />3）  ArrayList可以在数组列表满以后，自动调整大小；当数组列表满以后，再添加（add方法）元素时，数组列表自动创建一个新的数组，并将所有的对象拷贝的新的数组列表中；<br />4）  如果能估计到数组列表可能存储的元素数量，可]]></description><category></category></item><item><title><![CDATA[Java Core 第五章——继承（一）]]></title><link>https://blog.youkuaiyun.com/zjd358/article/details/6440921</link><guid>https://blog.youkuaiyun.com/zjd358/article/details/6440921</guid><author>zjd358</author><pubDate>Mon, 23 May 2011 22:09:00 +0800</pubDate><description><![CDATA[<br />1、  类、超类和子类：关键字extends表明正在构造的新类派生自一个已经存在的类；已经存在的类称为超类（也称：父类、基类），新类称为子类（也称：派生类）[C++中的继承与此类似，但是用“：”表示继承]；<br />2、  Java中的继承关系都是公有继承[C++中的继承分公有继承、保护继承和私有继承]；<br />3、  子类继承了超类的方法和域；<br />4、  设计的时候，通常将通用的行为和公共的属性放置在超类中，而将某些特殊的属性和行为放置在子类中；<br />5、  超类中有些通用]]></description><category></category></item><item><title><![CDATA[Java 核心学习——第四章]]></title><link>https://blog.youkuaiyun.com/zjd358/article/details/6425650</link><guid>https://blog.youkuaiyun.com/zjd358/article/details/6425650</guid><author>zjd358</author><pubDate>Mon, 16 May 2011 22:57:00 +0800</pubDate><description><![CDATA[对象与类1、  基本概念1）  类是同一类事物的抽象描述，对象实这一类事物的某个实例的称谓。类是构造对象的模板，类构造对象的过程为创建对象实例。2）  实例域：对象中的数据[C++ 称成员变量]；3）  方法：操作数据的过程[C++ 称成员函数]；4）  状态：每个特定的对象实例都有一组特定实例域值，这些值的集合描述了对象的当前特征信息，这就是对象的状态；5）  封装是对象隐藏实例域的关键，是面向对象编程的一个重要特点。6）  对象的三个主要特性A)      对象的行为（behavior）——可以对对象施]]></description><category></category></item></channel></rss>