C
筋斗云王
这个作者很懒,什么都没留下…
展开
-
Java转义字符和正则表达式
Java中正则表达式和转义字符容易弄混。我们现在先从概念上区分两者。所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。 正则表达式功能更强大,在Java中\+"x"叫转义,只有\\+"x"才叫正则表达式。原创 2013-04-10 14:45:57 · 804 阅读 · 0 评论 -
jar 中点的用法
在jar命令的说明中有这样一个用法 jar cvfm classes.jar mymanifest -C foo/ .意思是将 foo/ 目录中的所有文件归档到 "classes.jar" 中 其中这个点(.)代表什么呢? 代表根目录,就是说将根目录和其下的所有目录和文件一并打包。如果没有目录只有文件,你可以指定文件的名字!原创 2013-04-10 14:46:12 · 684 阅读 · 0 评论 -
单精度的浮点数的精度
单精度浮点数(float)在c语言中用32位字节来存储,其中1位存符号位,8位存指数位,23位存尾数位(一个小数),尾数的长短决定了此数的精度,23*log10 2 ≈7.2,所以我们用单精度浮点数可以保证7位10进制精度。原创 2013-04-10 14:47:31 · 1762 阅读 · 0 评论 -
Java class文件的opcode
使用Java自带的工具javap可以查看Java class文件的机器码。例:javap -c className public Activity(); 0 aload_0 1 invokespecial 4 new 7 dup 8 ldcaload_0 就是一个操作指令,这些指令都对应一些固定的数值,这些数值你原创 2013-04-10 14:47:20 · 1223 阅读 · 0 评论 -
volatitle 和多线程开发
C/C++中:编译器在编译程序的时候会对程序指令做一些优化,如改变一些指令的执行顺序,或者把变量的值拷贝到寄存器中,然后在接下来的使用中从寄存器中快速的取得该值。然而这些优化行为有可能在多线程环境中造成临界区数据竞赛,想象一下两个线程A,B都在访问一个变量C,当A在访问变量C时,编译器做了优化,将C的值拷贝到了寄存器中已备告诉访问,问题来了,如果B改变了C变量原创 2013-04-10 14:47:39 · 1587 阅读 · 0 评论