<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[jinhuaxing的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/jinhuaxing</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; jinhuaxing]]></copyright><item><title><![CDATA[Python中的类型关系和继承关系]]></title><link>https://blog.youkuaiyun.com/jinhuaxing/article/details/101290</link><guid>https://blog.youkuaiyun.com/jinhuaxing/article/details/101290</guid><author>jinhuaxing</author><pubDate>Sat, 11 Sep 2004 13:22:00 +0800</pubDate><description><![CDATA[在Python中一切都是对象，每个对象都有一个唯一的不可变的ID（通过id函数查询）。把一个名字和一个ID关联起来，就可以通过这个名字检索到这个对象。如果一个对象A持有另一个对象B的ID，那么检索到A之后就可以检索到B，我们就说存在一个A到B的导航。这种导航关系使得Python中所有对象之间形成了一个复杂的网络结构。Python程序的运行包括：1. 修改这个网络结构；2. 执行有副作用的代码对象（]]></description><category></category></item><item><title><![CDATA[从一个Python程序的性能说起]]></title><link>https://blog.youkuaiyun.com/jinhuaxing/article/details/31915</link><guid>https://blog.youkuaiyun.com/jinhuaxing/article/details/31915</guid><author>jinhuaxing</author><pubDate>Thu, 01 Jul 2004 21:23:00 +0800</pubDate><description><![CDATA[前几天一位朋友用C++写了一个小程序，主要是处理文本，用到了STL。这几天看Python，所以今天用python写了一个功能相同的程序。C++版的程序运行时间2秒多，而用Python写的居然连一秒都不到，真是让人惊叹（性能差别的主要因素可能是Python用的容器是基于hash表的map，而STL的map是基于平衡二叉树的）。而程序的大小也差别很大，C++的程序100多行，而Python写的只有30]]></description><category></category></item><item><title><![CDATA[用Java的New IO开发网络协议]]></title><link>https://blog.youkuaiyun.com/jinhuaxing/article/details/19135</link><guid>https://blog.youkuaiyun.com/jinhuaxing/article/details/19135</guid><author>jinhuaxing</author><pubDate>Thu, 27 May 2004 13:55:00 +0800</pubDate><description><![CDATA[最近用Java的New IO开发了一套简单的网络协议，在这里我把开发中的一些心得整理一下，总结出一套简单的可以重用的网络协议开发框架，希望能够给初学者一点帮助。网络协议基本的通讯单位是一个一个的消息包。在用socket传输这些包的时，首先要解决的一个问题是如何解决包与包之间的边界问题。socket传输的是流，一个send中发出的消息，在对方不一定在一个recv中收到，可能要多次recv，或者一个r]]></description><category></category></item><item><title><![CDATA[Java和C++的几点不同之处]]></title><link>https://blog.youkuaiyun.com/jinhuaxing/article/details/19134</link><guid>https://blog.youkuaiyun.com/jinhuaxing/article/details/19134</guid><author>jinhuaxing</author><pubDate>Fri, 21 May 2004 13:39:00 +0800</pubDate><description><![CDATA[1. Java的构造函数可以调用另一个构造函数，如class A {public A() { this(0); }public A(int i) { ... }}而C++的构造函数不能调用另一个构造函数，如class A {public:  A() { A(0); } //构造了A的临时对象  A(int i) { ... }};这是一个有用的功能，不过C++中因为有默认参数，对这个功能的需求减少]]></description><category></category></item><item><title><![CDATA[ArrayDeletor]]></title><link>https://blog.youkuaiyun.com/jinhuaxing/article/details/19133</link><guid>https://blog.youkuaiyun.com/jinhuaxing/article/details/19133</guid><author>jinhuaxing</author><pubDate>Wed, 19 May 2004 13:38:00 +0800</pubDate><description><![CDATA[C++中有auto_ptr，可以把动态分配的内存自动的delete掉，但是auto_ptr有个缺点，就是不能delete数组。即它只能调用delete，不能调用delete[]。可以设计这样一个类来自动调用delete[]来释放数组并正确调用析构函数：template class ArrayDeletor {private:   T * array_; public:   ArrayDeletor]]></description><category></category></item><item><title><![CDATA[TypedProperties]]></title><link>https://blog.youkuaiyun.com/jinhuaxing/article/details/19132</link><guid>https://blog.youkuaiyun.com/jinhuaxing/article/details/19132</guid><author>jinhuaxing</author><pubDate>Wed, 19 May 2004 13:29:00 +0800</pubDate><description><![CDATA[java.util.Properties类提供了读取配置文件的功能，但是这个类提供的配置信息只能是String形式的，必须由调用者来进行类型的转化，如转化成整数或者boolean。而这个转化过程也是比较罗嗦的，要捕获异常之类的。可以设计一个有类型的Properties类：class TypedProperties extends java.util.Properties {  public Typ]]></description><category></category></item></channel></rss>