关闭

python实现数组属性

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

Python的排序

Python内置函数sorted可以对可迭代对象进行排序,其中有cmp和key两个参数,这两个参数对排序的效率有很大的影响。...
阅读(1332) 评论(0)

如何快速学习一门语言

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

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

安装工具 1. 配置JDK JDK下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 本人的系统是Win7 64位版,但安装的是JDK7,Windows X86版。 假设安装目录在:C:\Program Files (x86)\Java\jdk1.7.0_21;当然也可以...
阅读(33184) 评论(13)

让C++使用极速的FastMM

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

龟速的malloc和神速的FastMM

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

窗口过程封装的一些实现

 -----------------------------------------------------------------------------------------------------------------作者:  colin微博:  http://weibo.com/jaccicagaga-----------------------------------...
阅读(3584) 评论(7)

Java语言基础:流类(1)

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

Java语言基础:多线程

1.  有两种方法可以创建并运行一个线程:继承Thread类并覆盖Run方法,Run中的代码就在另一个线程执行。class MyThread extends Thread { MyThread() { // 调用下面代码,线程开始运行 start(); } @Override public void run() { // 这里的代码是在线程中执行的 int i = 0...
阅读(13578) 评论(75)

Java语言基础:RTTI

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

Java语言基础:异常机制

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

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

1.  一个类中的方法如果只有声明没有实现,则称为抽象方法,必须用abstract修饰之;一个有抽象方法的类称为抽象类,也必须用abstract修饰之,但抽象类可以没有抽象方法;抽象类不能被创建:// 抽象类 abstract class A { // 抽象方法 abstract public void proc(); } // 没有抽象方法的抽象类 abstract class B { public void proc(){ }...
阅读(1727) 评论(7)

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

1.  如果基类存在默认构造函数,则在子类构造之前,会先调用基类的默认构造函数:class A { A() { System.out.println("A create"); } } class B extends A { B() { // 会在这里先调用A的默认构造函数 System.out.println("B create"); } } class C extends A { C...
阅读(2018) 评论(5)

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

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

Java语言基础:内部类

 1.  普通内部类普通内部类的一个最简单的例子:// 外部类 class OutterClass { // 内部类 public class InnerClass { private int i = 0; public int getInt(){ return i; } } public void proc(){ InnerClass inClass = ...
阅读(13154) 评论(51)

Java语言基础:泛型

     我必须承认我不是一个Java程序员,日常开发主要是C++和Delphi,使用Java完全是为了开发Android应用。今天在看Java的泛型,有些方面感到很奇怪,先来看下面的代码:     class Shape {        public void Draw() {            System.out.println("Draw Shape");        }    }     class...
阅读(1671) 评论(5)

Java语言基础:final和static

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

Delphi:两个高效的哈希函数

function BKDRHash(buf: Pointer; count: Integer) : Cardinal; assembler; asm PUSH EBX; XOR EBX, EBX MOV ECX, EAX XOR EAX, EAX @LOOP: TEST EDX, EDX JZ @EXIT MOV BL, [ECX] ...
阅读(2228) 评论(0)

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

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

用C++实现属性

Delphi和C#的类都提供了“属性”的概念,使得Getter和Setter的方法可以像访问成员一样简单,如下面的Delphi代码:TMyClass =classprivate    FValue: Integer;    funcation GetValue: Integer;    procedure SetValue(value: Integer);public    property Value: Integer...
阅读(1565) 评论(0)
72条 共4页1 2 3 4 下一页 尾页
    个人资料
    • 访问:312909次
    • 积分:4095
    • 等级:
    • 排名:第7834名
    • 原创:72篇
    • 转载:0篇
    • 译文:0篇
    • 评论:396条
    文章分类
    最新评论