面试题
yxconankid
认真的男人最美丽
展开
-
&与&&区别
共同点:都可以用作逻辑与不同点:1.&&具有短路功能;2.&可以用作位运算符,当两边的表达式不是布尔类型时if(str != null && !str.equals("")),当str为null时,不会报空指针异常;if(str != null & !str.equals("")),则会报空指针异常,因为用null调用了方法转载 2013-09-18 23:00:18 · 517 阅读 · 0 评论 -
sql之left join、right join、inner join的区别
left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录inner join(等值连接) 只返回两个表中联结字段相等的行举例如下: --------------------------------------------表A记录如下:aID aNum1转载 2013-12-04 10:21:07 · 383 阅读 · 0 评论 -
java多线程 sleep()和wait()的区别
Java中的多线程是一种抢占式的机制,而不是分时机制。抢占式的机制是有多个线程处于可运行状态,但是只有一个线程在运行。 共同点: 1. 他们都是在多线程的环境下,都可以在程序的调用处阻塞指定的毫秒数,并返回。 2. wait()和sleep()都可以通过interrupt()方法 打断线程的暂停状态 ,从而使线程立刻抛出InterruptedException。 如果线程A转载 2013-12-04 16:52:08 · 428 阅读 · 0 评论 -
new与malloc区别
new 是一个操作符,可以重载 malloc是一个函数,可以覆盖 new 初始化对象,调用对象的构造函数,对应的delete调用相应的析构函数 malloc仅仅分配内存,free仅仅回收内存转载 2013-09-21 11:40:32 · 537 阅读 · 0 评论 -
深拷贝与浅拷贝
1.深拷贝是指源对象与拷贝对象互相独立,其中任何一个对象的改动都不会对另外一个对象造成影响。举个例子,一个人名叫张三,后来用他克隆(假设法律允许)了另外一个人,叫李四,不管是张三缺胳膊少腿还是李四缺胳膊少腿都不会影响另外一个人。比较典型的就是Value(值)对象,如预定义类型Int32,Double,以及结构(struct),枚举(Enum)等。考虑以下写法 int sou转载 2013-09-21 11:22:27 · 427 阅读 · 0 评论 -
头插法和尾插法创建单链表
头插法[cpp] view plaincopy//随机产生n个元素的值,建立代表头结点的单链线性表L(头插法) void CreateListHead(LinkList * L,int n) { LinkList p; int i; srand(time(0)); //随机产生数 *转载 2013-09-21 11:46:41 · 1309 阅读 · 0 评论 -
C++深拷贝与浅拷贝
C++中对象的复制就如同“克隆”,用一个已有的对象快速地复制出多个完全相同的对象。一般而言,以下三种情况都会使用到对象的复制:(1)建立一个新对象,并用另一个同类的已有对象对新对象进行初始化,例如:[cpp] view plaincopyclass Rect { private: int width; int height; };转载 2013-09-21 11:24:42 · 420 阅读 · 0 评论 -
JAVA数据结构
JDK已经为我们提供了一系列相应的类来实现基本的数据结构。这些类均在java.util包中。Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap└WeakHashMapCollection接口转载 2013-09-21 10:55:12 · 376 阅读 · 0 评论 -
静态变量和实例变量
1.静态变量前需要加static关键字,而实例变量前不用加。2.静态变量不属于实例对象而是属于类,也称为类变量。只要程序加载了类的字节码,不用创建任何实例对象就会被分配空间,就可以被使用了; 实例变量属于某个对象,必须创建了实例对象才会被分配空间,才能使用这个实例变量。转载 2013-09-19 14:14:55 · 430 阅读 · 0 评论 -
short s1=1;s1 = s1+1;与s1 += 1;
short s1=1;s1 = s1+1;其中s1+1会提升表达式类型为int,会报强制类型转换错误short s1=1;s1 += 1;其中+=是java规定的运算符,有特殊处理,可以正确编译转载 2013-09-18 23:25:21 · 888 阅读 · 0 评论 -
抽象类和接口
抽象类与普通类的唯一区别:1.不能创建实例对象;2.允许有抽象方法。接口可以继承接口,抽象类可以实现接口,可以继承具体类,可以有静态的main方法。转载 2013-09-19 17:20:31 · 603 阅读 · 0 评论 -
Overload和Override
1.Overload重载同一个类中有多个名称相同的方法,但参数列表各不相同(参数个数、顺序或类型不同);不可以通过返回值、访问权限和抛出的异常不同实现重载;2.Override重写子类方法和父类中的某个方法的名称和参数完全相同,子类创建的实例对象调用该方法调用的是子类定义的方法。子类重写父类的方法时只能比父类抛出更少的异常,或父类异常的子异常,因为子类解决父类的一些问题转载 2013-09-19 17:07:00 · 425 阅读 · 0 评论 -
==与equals方法
1.==用来比较两个变量的值是否相等即对应内存中所存储的数值是否相同。用于比较两个基本类型的数据或引用变量是否相等。如果一个变量指向的数据是对象类型,则涉及两块内存,变量占用的栈内存和对象本身占用的堆内存。比较两个变量是否指向同一个对象,要看这两个变量所对应的内存中的数值是否相等,用==比较。2.equals方法用于比较两个独立对象的内容是否相同。String a = ne转载 2013-09-19 10:35:30 · 487 阅读 · 0 评论 -
final关键字修饰变量是引用不能变
final修饰一个变量时,引用不能变,引用变量所指向的对象中的内容可以变。final StringBuffer a = new StringBuffer("abc");a = new StringBuffer("");//编译错误a.append("ddd");//编译成功因此定义方法参数时不能通过final阻止方法内部修改传进来的参数对象public void met转载 2013-09-18 23:54:17 · 970 阅读 · 0 评论 -
switch语句作用的类型
switch只能作用于整数表达式或者枚举常量。整数表达式可以是int基本类型或Integer包装类型,byte,short,char可以隐式转为int;long和String不能作用于switch语句中。转载 2013-09-18 23:20:21 · 1138 阅读 · 0 评论 -
写程序结果
class Parent {int i=6;int j;Parent(){System.out.println("i="+i+",j="+j);}static {System.out.println("Parent static block.");}}class Child extends Parent {int k=3;Child() {原创 2013-12-04 18:31:19 · 490 阅读 · 0 评论