16 linzhengqun

尚未进行身份认证

目前从事网游客户端开发

等级
TA的排名 1w+

python实现数组属性

属性的简单用法属性看起来像是对成员进行直接访问,但又可以像函数一样对成员访问进行其他处理,所以属性是一种兼具易用性和数据封装的语言设施。

2015-02-17 11:54:04

Python的排序

Python内置函数sorted可以对可迭代对象进行排序,其中有cmp和key两个参数,这两个参数对排序的效率有很大的影响。

2015-02-17 00:26:46

如何快速学习一门语言

作者:colin版权声明:自由转载-非商用-非衍生-保持署名4月初到新公司,如今已近一个月时间,由于项目的原因,这一个月来我学习了Python,ActionScript,Lua,JavaScript四门新的语言,并大多用于实际项目中。刚开始压力巨大,新项目都用脚本来开发,而且不止一门语言,这对于我这个多年来一直使用C++,Delphi等原生语言的程序员来说,感觉非常的不适应。一方面

2014-05-11 21:44:49

cocos2d-x 3.0rc开发指南:Windows下Android环境搭建

安装工具1.配置JDKJDK下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html本人的系统是Win764位版,但安装的是JDK7,WindowsX86版。假设安装目录在:C:\ProgramFiles(x86)\Java\jdk1.7.0_21;当然也可以

2014-03-21 00:49:56

让C++使用极速的FastMM

由于malloc的低效,一直在寻找替换的方案,最后突发其想,封装一个FastMM的DLL作为C++的内存管理器;然后重载全局的new和delete操作符。如上方法执行之后,再跑原来的测试程序,效率果然与FastMM版本的一致了。我原来以为VC版STL的默认内存管理器,会有大量的优化,后来跟进去才发现,它也不过是用了new和delete,如果不重载,则最终是调用malloc的。如果要让STL也使用F

2011-12-06 13:47:46

龟速的malloc和神速的FastMM

由于在Delphi项目中,要频繁创建和释放大量小对象,因此担心有效率问题,于是打于GetMem.inc看看,发现FastMM对于小块内存作了很多工作,它预置了一组不同大小的内存池,当要创建一块内存时,FastMM找到大小最相近的内存池分配之,内存释放后回收到池中。这样的做法虽有小量内存浪费,但效率却是大大提高。我决定做一个测试,看看效率研究如何:constcSize:Integer

2011-12-02 17:24:52

窗口过程封装的一些实现

 -----------------------------------------------------------------------------------------------------------------作者: colin微博: http://weibo.com/jaccicagaga-----------------------------------

2011-06-13 04:03:00

Java语言基础:流类(1)

1. java通过流的概念来实现数据的输入输出,或叫读写更容易理解一些;下面4个类是所有流的基类,分别处理字节和字符的读写:InputStream:输入(读)字节流抽象类。OutputStream:输出(写)字节流抽象类。Reader:输入(读)字符流抽象类。Writer:输出(写)字符流抽象类。2. 上面4个抽象类提供了最基本的读写方法,输入输出流有一个当前位置(Pos)的概念,指定下一次的读写将从流的什么位置开始,调用Read或Write方法时,Pos会同时向后移,移多少依读写多少字节或

2011-04-05 16:27:00

Java语言基础:多线程

<br/>1. 有两种方法可以创建并运行一个线程:继承Thread类并覆盖Run方法,Run中的代码就在另一个线程执行。<br/>classMyThreadextendsThread{MyThread(){//调用下面代码,线程开始运行start();}@Overridepublicvoidrun(){//这里的代码是在线程中执行的inti=0

2011-04-02 01:55:00

Java语言基础:RTTI

<br/> 1. 每个类都有一个Class对象,当我们在运行期第一次生成类的实例时,JVM就加载这个类的Class对象,然后用这个Class对象来创建类实例;Class类似于Delphi中的引用类TClass,用于保存类的运行时信息。 2. Class的static方法forName()用于查找某个类的Class对象,如果forName找不到你要的类的Class对象,会抛出ClassNotFoundException异常:classA{}publicclassMain{

2011-03-28 23:51:00

Java语言基础:异常机制

<br/>1. 抛出异常通过thrownewThrowableClass语法可以抛出一个异常,其中ThrowableClass是一个从Throwable继承的类,或者是Throwable类本身,先看下面的<br/>publicvoidproc(){//Exception是Throwable的继承类,代表最基本的异常thrownewException("hello");} 上面的代码会导致编译错误,对于有抛出异常的方法,编译器强制要求:要么在方法上声明要

2011-03-27 21:34:00

Java语言基础:抽象类和接口

<br/>1. 一个类中的方法如果只有声明没有实现,则称为抽象方法,必须用abstract修饰之;一个有抽象方法的类称为抽象类,也必须用abstract修饰之,但抽象类可以没有抽象方法;抽象类不能被创建:<br/>//抽象类abstractclassA{//抽象方法abstractpublicvoidproc();}//没有抽象方法的抽象类abstractclassB{publicvoidproc(){}

2011-03-27 02:07:00

Java语言基础:对象的初始化

1. 如果基类存在默认构造函数,则在子类构造之前,会先调用基类的默认构造函数:classA{A(){System.out.println("Acreate");}}classBextendsA{B(){//会在这里先调用A的默认构造函数System.out.println("Bcreate");}}classCextendsA{C

2011-03-26 01:23:00

Java语言基础:基本数组类型

<br/>1. 一维数组的声明和初始化,分成动态和静态:<br/>//动态创建10个整型,默认初始化为0int[]a1=newint[10];//静态创建4个整型,并初始化为括号中的值int[]a2={1,2,3,4};//动态创建MyClass数组,需要遍历创建数组中的每个类实例MyClass[]a3=newMyClass[3];for(inti=0;i<a3.length;++i)MyClass[i]

2011-03-25 21:48:00

Java语言基础:内部类

<br/> 1. 普通内部类普通内部类的一个最简单的例子://外部类classOutterClass{//内部类publicclassInnerClass{privateinti=0;publicintgetInt(){returni;}}publicvoidproc(){InnerClassinClass=

2011-03-24 22:29:00

Java语言基础:泛型

<br/>   我必须承认我不是一个Java程序员,日常开发主要是C++和Delphi,使用Java完全是为了开发Android应用。今天在看Java的泛型,有些方面感到很奇怪,先来看下面的代码:<br/>    classShape{<br/>        publicvoidDraw(){<br/>            System.out.println("DrawShape");<br/>        }<br/>   }<br/>    class

2011-03-24 00:04:00

Java语言基础:final和static

 1. finalfinal可以修饰类,成员方法,成员变量;表示最终的,不能修改,不能继承的:final类不能被继承,类中的方法默认是final方法,但类中的成员变量不是。final方法不能被子类覆盖,可以这样理解:JAVA中的普通方法等于C++的虚方法,JAVA中的final方法等于C++中的普通方法。final成员表示常量,只能在声明时赋值一次,以后不能再被赋值。publicclassTest{     privatefinalStringS="final实例变量";     priva

2011-03-23 23:42:00

Delphi:两个高效的哈希函数

<br/>functionBKDRHash(buf:Pointer;count:Integer):Cardinal;assembler;asmPUSHEBX;XOREBX,EBXMOVECX,EAXXOREAX,EAX@LOOP:TESTEDX,EDXJZ@EXITMOVBL,[ECX]

2010-11-30 21:33:00

实用C++函数:取当前模块句柄

<br/>当前模块的句柄在程序进入点可以获得,一般做法是保存为一个全局变量,以后使用这个全局变量即可。但有时在写一些比较通用的代码时刚好要用到模块句柄,如果还去访问这个全局变量就破坏了代码的通用性。<br/>下面函数可以取得当前模块的句柄,无须保存,随调随得:<br/>/* 通过一个地址取模块句柄*/inlineHMODULEModuleHandleByAddr(constvoid*ptrAddr){ MEMORY_BASIC_INFORMATIONinfo; ::V

2010-11-29 01:26:00

用C++实现属性

<br/>Delphi和C#的类都提供了“属性”的概念,使得Getter和Setter的方法可以像访问成员一样简单,如下面的Delphi代码:TMyClass=class<br/>private<br/>    FValue:Integer;<br/>    funcationGetValue:Integer;<br/>    procedureSetValue(value:Integer);<br/>public<br/>    propertyValue:Integer

2010-11-21 01:02:00

查看更多

勋章 我的勋章
  • 蓝花
    蓝花
    子板块内专家分月排名榜第三