- 博客(6)
- 资源 (2)
- 收藏
- 关注
原创 Python中的类型关系和继承关系
在Python中一切都是对象,每个对象都有一个唯一的不可变的ID(通过id函数查询)。把一个名字和一个ID关联起来,就可以通过这个名字检索到这个对象。如果一个对象A持有另一个对象B的ID,那么检索到A之后就可以检索到B,我们就说存在一个A到B的导航。这种导航关系使得Python中所有对象之间形成了一个复杂的网络结构。Python程序的运行包括:1. 修改这个网络结构;2. 执行有副作用的代码对象(
2004-09-11 13:22:00
2853
原创 从一个Python程序的性能说起
前几天一位朋友用C++写了一个小程序,主要是处理文本,用到了STL。这几天看Python,所以今天用python写了一个功能相同的程序。C++版的程序运行时间2秒多,而用Python写的居然连一秒都不到,真是让人惊叹(性能差别的主要因素可能是Python用的容器是基于hash表的map,而STL的map是基于平衡二叉树的)。而程序的大小也差别很大,C++的程序100多行,而Python写的只有30
2004-07-01 21:23:00
4185
6
原创 用Java的New IO开发网络协议
最近用Java的New IO开发了一套简单的网络协议,在这里我把开发中的一些心得整理一下,总结出一套简单的可以重用的网络协议开发框架,希望能够给初学者一点帮助。网络协议基本的通讯单位是一个一个的消息包。在用socket传输这些包的时,首先要解决的一个问题是如何解决包与包之间的边界问题。socket传输的是流,一个send中发出的消息,在对方不一定在一个recv中收到,可能要多次recv,或者一个r
2004-05-27 13:55:00
1600
4
原创 Java和C++的几点不同之处
1. Java的构造函数可以调用另一个构造函数,如class A {public A() { this(0); }public A(int i) { ... }}而C++的构造函数不能调用另一个构造函数,如class A {public: A() { A(0); } //构造了A的临时对象 A(int i) { ... }};这是一个有用的功能,不过C++中因为有默认参数,对这个功能的需求减少
2004-05-21 13:39:00
1292
原创 ArrayDeletor
C++中有auto_ptr,可以把动态分配的内存自动的delete掉,但是auto_ptr有个缺点,就是不能delete数组。即它只能调用delete,不能调用delete[]。可以设计这样一个类来自动调用delete[]来释放数组并正确调用析构函数:template class ArrayDeletor {private: T * array_; public: ArrayDeletor
2004-05-19 13:38:00
720
原创 TypedProperties
java.util.Properties类提供了读取配置文件的功能,但是这个类提供的配置信息只能是String形式的,必须由调用者来进行类型的转化,如转化成整数或者boolean。而这个转化过程也是比较罗嗦的,要捕获异常之类的。可以设计一个有类型的Properties类:class TypedProperties extends java.util.Properties { public Typ
2004-05-19 13:29:00
864
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人