==和equals?
对于基本类型:==比较的是两个变量的值
对于引用类型:==比较的是两个变量的在堆中所存储地址,即栈中的内容
equals比较的是两个变量是否引用的同一个对象,即堆中的内容是否相同
String StringBuffer?
String 是字符串常量,创建后对象不可以更改
StringBuffer时字符串变量,可以更改
速度
StringBuilder>StringBuffer>String
适用场景:
StringBuffer:多线程下在字符串缓冲区进行大量操作,因为StringBuffer很多方法可以带有synchronized关键字保证线程安全,而StringBuilder中的方法则没有此关键字,所以StringBuilder适用于单线程下操作。
String:少量字符串操作
linkedList和ArrayList?
存储:linkedList: 不可以重复,无序 ,基于链表,remove、add比较快
ArrayList:数据可以重复、有序,基于数组,增量每次增加50%,get,set比较快
vector:同步,安全,速度慢,性能高,基于数组,增量每次增加两倍
hashmap,hashtable?
hashtable:继承dictionary,同步安全,key、value不允许为null
hashmap:继承abstractMap,不安全,key、value允许为null
final、finalize、finally?
final:被final修饰的类,方法,变量不可变,他是一个常量
finalize:他是一个方法,位于java.lang.object下,用于做资源的回收
finally:一般配合try catch 使用,当语句块不管出不出现异常,都会执行此方法,用于关闭连接,io流等
java中日期格式的转换?
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-mm-dd")
String date=sdf.format(new Date);
重载和重写的区别?
重载(overload):同个类中多个方法,参数的个数,位置,类型不同,称为方法的重载,跟返回值,访问修饰符没有关系,时多态形式的一种体现
重写(override):重写方法一般时子类重写父类的方法,即参数相同,返回值相同,访问修饰符可以扩大,不可以缩小范围,异常可话不能扩异常范围,可以抛出不同的异常
java中||和|、&&和&的区别?
&&(与):第一个条件不满足,后面条件不再判断直接返回结果
&:要对所有的条件进行判断,再返回结果
||(或):满足第一个条件,后面的条件不再判断
|:所有的条件都要判断
读取FileInputSream?
int len=0;
byte[] buf=new byte[2048];
while((len=fis.red(buf)!=-1){
system.out.print(new String(buf,0,len));
}
sqlserver、mysql、oricle中分页?
sqlserver:
select top 10 from student where id not in(select top10 from student order by id ) order by id
mysql:
select * from student limit 10,10
oracle:
select * from
(select s.* ,rownum r from student where r<=20) as stu
where stu.r>10
--查询所有课程分数大于80的学生
select sname,count(*) cou from stu1 where score >80 group by sname having cou=(select count(*) from res1)