小细节
爱哭的猫ff
在校软件工程学生
展开
-
64位linux系统下编译int32_t
在64位Linux系统下编译执行一下程序输出结果为40 8#include #include #include void print_size(int32_t array[10]){printf("%ld\n",sizeof(array));}int main(){ int32_t myarray[10]; printf("%ld\n",sizeof(mya原创 2015-08-27 14:06:37 · 10909 阅读 · 1 评论 -
error: command 'gcc' failed with exit status 1
解决办法:sudo apt-get install python-dev原创 2016-10-31 17:27:24 · 401 阅读 · 0 评论 -
python遇到‘\u’开头的unicode编码
web信息中常会遇到“\u4f60\u597d”类型的字符。首先’\u‘开头就基本表明是跟unicode编码相关的,“\u”后的16进制字符串是相应汉字的utf-16编码。Python里decode()和encode()为我们提供了解码和编码的方法。其中decode('unicode_escape')能将此种字符串解码为unicode字符串。比如:[python] view p转载 2016-07-29 15:48:55 · 2628 阅读 · 0 评论 -
assert的使用
assertion断言在软件开发中是一种常用的调试方式,很多开发语言都支持这种机制。在实现中,assertion就是在程序中的一条语句,他对boolean表达式进行检查,一个正确的程序必须保证这个bolean值是true,如果为false,说明程序已经处于不正确的状态下。这时assert会发出警告或退出。例如:public class AssertTest{ public原创 2015-10-26 16:29:42 · 346 阅读 · 0 评论 -
ArrayList和Vector的区别
这两个类之间都实现了List接口,他们都是有序存储的。即存储在这两个集合中的数据都是有顺序的,都可以通过他们的位置索引号取出数据。并且数据允许重复。(1)同步行性 Vector是线程安全的,也就是说它的方法之间是线程同步的,而ArrayList是线程不安全的,就是它的方法之间是不同步的。如果只有一个线程访问到集合,最好是使用ArrayList,因为不用考虑线程安全问题,效率也会高原创 2015-10-08 09:34:49 · 359 阅读 · 0 评论 -
HsahMap与Hashtable的区别
HashMap是Hashtable的轻量级的实现,他们都完成了Map接口的实现,主要区别在于HashMap允许空键值,由于非线程安全,只能有一个线程访问,效率高。HashMap把Hashtable的contains的方法去掉了,改成containvalues和containkey,因为contain方法容易让人产生误解。Hashtable继承字Dictionary类,而HashMap是ja原创 2015-10-08 09:47:12 · 1076 阅读 · 0 评论 -
最小化数值误差
下面有一段程序是计算从0.01到1.0的和;package testsum;public class TestSum { public static void main(String [] args) { float sum = 0; for(float i = 0.01f;i <= 1.0f; i原创 2015-09-06 18:00:42 · 1470 阅读 · 0 评论 -
String与StringBuffer的区别
String与StringBuffer都可以存储和操作字符串,但是String所存储的字符串是不可以改变的,但是String的引用变量可以指向可以指向新的对象。例如:String s1="hello";此时si指向存储hello这个对象,当执行s1=s1+"word";时s1指向了一个新的对象,其存储的内容为hello word;所以使用String对象时不应该频繁的改变其内容,每次改变其内容原创 2015-08-30 10:07:23 · 266 阅读 · 0 评论 -
内部类精讲
内部类就是在一个类的内部定义的类,内部类中不能定义静态成员,内部类可以直接访问外部类的成员变量。内部类可以定义在外部类方法的内部,也可以定义在外部类方法的外部。例如:public class Out{ int n = 0; public void list() { int m原创 2015-08-29 19:46:17 · 417 阅读 · 0 评论 -
try{}中有return 时,finally中的语句是否会执行问题。
首先大家来分析以下三个程序: package test;public class Test { public static void main(String [] args){ System.out.println(Test.test()); } static int test(){ int x原创 2015-08-30 11:00:41 · 864 阅读 · 0 评论 -
super.getClass()
考虑下面程序的输出结果是多少? mport java.util.Date; public class Test extends Date{ public static void main(String [] args) {原创 2015-08-29 20:03:42 · 413 阅读 · 0 评论 -
抽象的方法能否同时是static、native、synchronized
抽象的方法不可以是static,因为抽象方法要被子类实现。native方法表示该方法要用依赖平台的另一种编程语言实现,所以不存在被子类实现的问题,所以也不能是抽象的。synchronized作用在具体的方法上时才会起作用,此方法同步时使用的同步锁是this,而抽象方法不能确定this是什么,所以不能是抽象的。原创 2015-08-28 15:02:35 · 919 阅读 · 0 评论 -
abstract class 和interface的区别
含有abstract修饰符的类为抽象类,抽象类不能创建实例对象,含有抽象方法所谓类必须为抽象类,抽象类中的方法不必是抽象的。抽象类中定义的抽象方法必须在子类中得到具体实现。所以,不能有抽象构造方法和抽象静态方法。如果子类没有实现抽象父类的所有象方法,那么子类也必须定义为抽象类。借口可以说是抽象类的一个特殊例子,接口的所有方法都必须是抽象方法,接口中默认定义的方法类型为public abstra原创 2015-08-28 14:51:56 · 317 阅读 · 0 评论 -
&与&&的区别
&与&&都可以作为逻辑与运算符,都表示只有两边同时位true时为结果为true。两者的区别是:&&还有短路的功能,也就是说当第一个表达式为false时第二个表达式就不在进行计算,例如:if(n!=1&&++m>4)当n=1,m=3时++m>4就不再执行,m依旧还是3。直接判断该表达式为false。但是当这个表达式变为if(n!=1&++m>4)时,当判断完第一个表达式后第二个表达式依旧还会执行,m原创 2015-08-27 15:34:21 · 335 阅读 · 0 评论 -
==与equals的区别
“==”是专门用来比较两个变量的值是否相等。也就是比较两个变量内存中所存储的值是否相等。要比较两个基本类型的数据或者两个引用变量是否相等只能用“==”。如果一个变量指向的数据类型是对象数据类型,那么这个时候涉及两个内存,对象本身占一块内存,变量占一块内存。例如:Text text = new Text();text是一块内存,new Text是一块内存。其中text对应的内存中存储的数值是对象原创 2015-08-27 16:18:34 · 319 阅读 · 0 评论 -
隐式类型转换
在隐含的类型转换过程中有一些小细节很多同学容易忽略。例如有如下小程序:short s1=1;s1=s1+1;对于s1+1;在这个过程中会自动的提升表达式的类型,所以结果是int类型的,当将int类型的结果赋值给short类型时编译器就会报告强制类型转换错误。但是对于下面的情况就不会出现编译错误。short s1=1;s1+=1;对于s1+=1,java在编译过程中会进行特殊原创 2015-08-27 15:45:52 · 361 阅读 · 0 评论 -
window Anaconda环境下pip提示无权限
解决办法:1、conda install package_name上面的不行就用下面的。2、pip install--userpackage_name原创 2017-04-21 14:28:59 · 4097 阅读 · 0 评论