一:split()、length与length()
public static void main(String[] args) {
String s = "a1ab1abc";
String [] str = s.split("1");
for (String string : str) {
//String 类有length()方法
System.out.println(string+",长度:"+string.length());
}
//String数组有length属性
System.out.println("数组长度:"+str.length);
}
运行结果:
a,长度:1
ab,长度:2
abc,长度:3
数组长度:3
二:public、protected、friendly、private的作用域。
作用域 当前类 同一package 子孙类 其他package
public √ √ √ √
protected √ √ √ ×
friendly √ √ × ×
private √ × × ×
三:问
Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?
答:匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现。
四:问
Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很笼统)。
答:Nested Class (一般是C++的说法),Inner Class (一般是JAVA的说法)。Java内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。
注: 静态内部类(Inner Class)意味着1创建一个static内部类的对象,不需要一个外部类对象,2不能从一个static内部类的一个对象访问一个外部类对象
五:try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
private static int hehe() {
int i = 0;
try {
return i;
}finally{
System.out.println("hehe");
}
}
输出的结果是:
hehe
0
说明在return之前
六、error 、exception 的区别?
error 表示恢复不是不可能,但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。
exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。
七、javascript 的全局函数 ?
JavaScript 中包含以下 7 个全局函数,用于完成一些常用的功能:escape( )、eval( )、isFinite( )、isNaN( )、parseFloat( )、parseInt( )、unescape( )。
八、存储过程与函数的区别 ?
本质上没区别。只是函数有如:只能返回一个变量的限制。而存储过程可以返回多个。而函数是可以嵌入在sql中使用的,可以在select中调用,而存储过程不行。执行的本质都一样。
函数限制比较多,比如不能用临时表,只能用表变量.还有一些函数都不可用等等.而存储过程的限制相对就比较少
九、oracle 中truncate delete 区别 ?
它们都是删除表中的数据,而不能删除表结构,delete 可以删除整个表的数据也可以删除表中某一条或N条满足条件的数据,
而truncate只能删除整个表的数据,一般我们把delete 操作叫作删除表,而truncate操作叫作截断表
truncate不能回滚,delete可以回滚;truncate效率快,delete效率慢;truncate空间回收,delete空间回收不回收
十、char varchar2区别 ?
1.CHAR的长度是固定的,而VARCHAR2的长度是可以变化的
2.CHAR的效率比VARCHAR2的效率稍高。
十一、线程同步的方法?
wait() seelp() notify() allnotify()
十二、抽象类与接口的区别:
* 1.抽象类中可以定义所有成员变量(含实例变量和静态变量[含常量])和非空方法,而接口中只能定义常量和空方法;
* 2.抽象类在定义抽象方法时必须加abstract,而在接口中可以加但不需要加;
* 3.接口允许多继承:一个接口可以基层多个接口,实现接口的类也可以继承多个接口,但JAVA的类仅支持单继承