07 2013 档案
摘要:先来两个词组CR:Carriage Return , 回车。 '\r' 值为0xD。 记忆方法:returnLF : Line Feed ,换行。 '\n' 值为0xA。 记忆方法:newline在机械打字机的时代,当需要换行的时候,先要把打字机的针头回到行首(CR),然后再移到下一行(LF)。在不同的平台,换行的表示方法是不同的。windows帝国 用了比较浪费的2个字符 \r\n (CR-LF)。特别要注意的是,windows平台的用fopen函数写文件文件的时候,fopen会自动把你输入的‘\r\n’只保留一个'\n'写到文件中。用fope
阅读全文
摘要:Application.mkAPP_PROJECT_PATH项目路径APP_MODULES编译模块列表APP_OPTIMrelease/debug 不设则取决于manifest中的android:debuggable。 不建议设置。APP_CFLAGS传递给编译器的选项(C /C++),作用于所有模块APP_CPPFLAGS传递给编译器的选项(C++)-fexceptions 来支持C++异常-frtti 来支持RTTIAPP_BUILD_SCRIPT除了jni/Android.mk外,使用的其他mk文件APP_ABIabi列表例如:APP_ABI := armeabi armeabi-v7a
阅读全文
摘要:JAVA提供了以下的API用于获得精确的时间:System.currentTimeMillis //不建议,精度不够,修改系统时间会影响System.nanoTime //JAVA下推荐,精度没有android提供的好Android又补充了几个如下,更好些:Debug.threadCpuTimeNanos //只测量在当前线程中花费的时间SystemClock.currentThreadTimeMillis//在当前线程中已运行的时间SystemClock.elapsedRealtime //从开机到现在的毫秒(手机睡眠(sleep)的时间也包括在内)SystemClock...
阅读全文
摘要:java的内存模型有一个原则:线程中变量的修改可能不会立即对其他线程可见。如果是原子操作可以添加volatile关键字,也可以使用Atomic*这组类,但不太方便所以也很少被使用。我们常用synchronized来解决并发问题,虽然写起来非常方便,但synchronized是不区分读与写都会强制“同步”。ReentrantReadWriteLock 类就解决了synchronized 的读写区分问题。我们知道,线程如果当前在做写操作,就应该对变量加一把写锁。此时不允许其他线程读与写。线程如果当前在做读操作,就应该对变量加一把读锁。此时不允许其他线程写,但是可以允许读。ReentrantRead
阅读全文

浙公网安备 33010602011771号