上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 13 下一页

2013年7月18日

摘要: 一般来说,在Python中,类实例属性的访问规则算是比较直观的。 但是,仍然存在一些不是很直观的地方,特别是对C++和Java程序员来说,更是如此。 在这里,我们需要明白以下几个地方: 1.Python是一门动态语言,任何实体都可以动态地添加或删除属性。 2.一个类定义了一个作用域。 3.类实例也引入了一个作用域,这与相应类定义的作用域不同。 4.在类实例中查找属性的时候,首先在实例自己的作用域中查找,如果没有找到,则再在类定义的作用域中查找。 5.在对类实例属性进行赋值的时候,实际上会在类实例定义的作用域中添加一个属性(如果还不存在的话),并不会影响到相应类... 阅读全文
posted @ 2013-07-18 01:04 frydsh 阅读(6405) 评论(4) 推荐(0) 编辑

2013年7月9日

摘要: 转载自:http://blog.jobbole.com/42706/在之前几个月里,我教一些不了解Python的孩子来慢慢熟悉这门语言。渐渐地,我发现了一些几乎所有Python初学者都会犯的错误,所以我决定跟来跟大家分享我的建议。这个系列的每个部分都会关注不同的常见错误,描述如何产生这种错误的,并且提供解决的方法。用一个可变的值作为默认值这是一个绝对值得放在第一个来说的问题。不仅仅是因为产生这种BUG的原因很微妙,而且这种问题也很难检查出来。思考一下下面的代码片段:def foo(numbers=[]): numbers.append(9) print numbers在这里,我们定... 阅读全文
posted @ 2013-07-09 23:02 frydsh 阅读(903) 评论(3) 推荐(2) 编辑

2013年5月11日

摘要: 今天,当我将一个包含jni的Android工程从Windows电脑上拷贝到Ubuntu电脑上之后,编译它的时候出现以下错误: .../android-ndk/ndk-build clean Invalid attribute name: package .../android-ndk/build/gmsl/__gmsl:512: *** non-numeric second argument to `wordlist' function: ''. Stop. 问题的关键是:两台机器上的环境都是正常可用的,且工程在Windows下可以正常编译。 在网络上搜索一圈之后... 阅读全文
posted @ 2013-05-11 20:54 frydsh 阅读(2707) 评论(2) 推荐(1) 编辑

2013年4月16日

摘要: 在Unix的发展过程中,产生了很多Unix分支;与此同时,也产生了很多Unix标准化组织,它们各自制订自己的Unix标准。 从理论上说,应该只有一个Unix标准化组织,负责Unix的标准化;多个标准化组织反而容易引起混乱;但是,出于政治上的原因,存在多个Unix标准化组织。 从1980s后期到1990s早期这期间,Unix的派系之争经历了最开始的激烈到最后的和解,Unix标准化组织也经历了从分化到统一。 如果想要搞清楚这之间错综复杂的关系,我们需要了解一点Unix历史。 1.Unix历史 1979年,Unix V7发布,AT&T宣布将Unix商业化的计划,Novell... 阅读全文
posted @ 2013-04-16 01:28 frydsh 阅读(1804) 评论(1) 推荐(2) 编辑

2013年4月13日

摘要: 1.什么是WAL? WAL的全称是Write Ahead Logging,它是很多数据库中用于实现原子事务的一种机制,SQLite在3.7.0版本引入了该特性。 2.WAL如何工作? 在引入WAL机制之前,SQLite使用rollback journal机制实现原子事务。 rollback journal机制的原理是:在修改数据库文件中的数据之前,先将修改所在分页中的数据备份在另外一个地方,然后才将修改写入到数据库文件中;如果事务失败,则将备份数据拷贝回来,撤销修改;如果事务成功,则删除备份数据,提交修改。 WAL机制的原理是:修改并不直接写入到数据库文件中,而是写入到另... 阅读全文
posted @ 2013-04-13 17:15 frydsh 阅读(18758) 评论(3) 推荐(7) 编辑

2013年4月12日

摘要: 阅读全文
posted @ 2013-04-12 22:40 frydsh 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 1.编写HelloWorld.java:class HelloWorld { private native void print(); public static void main(String[] args) { new HelloWorld().print(); } static { System.loadLibrary("HelloWorld"); }} 2.编译HelloWorld.java:javac HelloWorld.java 这将输出HelloWorld.class文件。 3.创建头文件:javah -jni Hel... 阅读全文
posted @ 2013-04-12 00:18 frydsh 阅读(300) 评论(0) 推荐(0) 编辑

2013年4月11日

摘要: JNI的全称是Java Native Interface,它是Java平台的一个标准特性,允许Java代码和C/C++代码进行互操作。 JNI技术使得我们既可以享受Java平台的优势,又能兼顾遗留的C/C++代码,或者享受C/C++代码的性能等优势。 但是,JNI技术会损失Java程序的跨平台特性,因此我们应该尽量避免使用JNI技术。 JNI是一个双向接口,它既可以允许Java代码调用C/C++代码,又能允许C/C++代码调用Java代码;前者的使用场景比较普遍,比如Java中的native方法;后者的使用场景则比较少见,例如在浏览器中执行Java applet程序,此时浏览... 阅读全文
posted @ 2013-04-11 23:50 frydsh 阅读(293) 评论(0) 推荐(0) 编辑

2013年4月10日

摘要: www.sqlite.org针对Linux, Windows, 以及一些其它平台都提供了SQLite的源代码, 编译好的库和工具:1.sqlite3 command-line program(CLP): 这是SQLite提供的一个命令行工具, 它静态链接了SQLite数据库引擎, 可以单独运行.2.SQLite shared library(DLL or so): SQLite编译好的库.3.SQLite Analyzer: SQLite的一个性能与优化工具.4.SQLite的源代码以两种形式分发, 第一种是合并版本(amalgamation), 它将所有模块的代码合并到一个源文件和一个头文件 阅读全文
posted @ 2013-04-10 13:35 frydsh 阅读(1803) 评论(0) 推荐(0) 编辑

2013年3月9日

摘要: 作为一名Android开发人员,经常需要将手机连接到PC,以便调试程序。 但是,有些手机不容易连接上。导致这一问题有多方面的原因: 1.手机内部状态出了问题。一般来说,重新打开“USB调试”就可以解决这个问题,但是有时需要重启手机或PC才行。 2.USB供电不足。如果是这个原因,那么就需要更换USB连接线或者USB插口。 3.没有安装相应的驱动。这个问题一般只针对Windows用户才存在,安装驱动就可以解决问题。如果是Linux或Mac OS X用户,则无需安装驱动。 4.其它程序干扰。就我个人情况而言,经常就是由于“豌豆夹”的运行,导致Eclipse无法识别到手机。... 阅读全文
posted @ 2013-03-09 16:12 frydsh 阅读(13760) 评论(2) 推荐(1) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 13 下一页

导航