软件开发应试人员考试试题(Java)
姓名:___________ 电话:___________
以下信息有工作经验人员如实填写,应届毕业不填(时间从毕业参加工作算起)
从事 Java 开发时间____月 熟悉 JavaScrip 时间____月
熟悉 EXT 开发时间____月 熟悉 PDM 开发时间____月
熟悉的数据库及时间(如 SQLServer 3 个月,可多填)_________________
__
一、 JAVA 基础
1 、 简 述 你 所 知 道 的 JAVA 修 饰 符 及 各 自 的 使 用 机 制 ?
(public、abstract、final、synchronized、super…)
public :允许所有客户访问
protected:只能在本包内被该类的子类所使用
private:只允许在本类内使用
abstract:没有提供实现,需要子类提供
static:与整个类相关,与单个对象无关
final:你只能定义一个实体一次,以后不能改变它或继承它。一个 final 修饰的类不能被子类化,一个 final
修饰的方法不能被重写,一个 final 修饰的变量不能改变其初始值
synchronized:方法获得对对象监控的访问权;如果该方法是 static 类型的,获得是对类本身的访问权。
super:构造器和方法,都用关键字 super 指向超类,但是用的方法不一样。方法用这个关键字去执行被重
载的超类中的方法。
2. String、StringBuffer 与 StringBuilder 之间区别?别简述各自的执行效率?
区别:String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对
String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,
所以经常改变内容的字符串最好不要用 String ,因为每次生成对象都会对系统性能产生影响,特别当内存
中无引用对象多了以后, JVM 的 GC 就会开始工作,那速度是一定会相当慢的,
执行速度:三者在执行速度方面的比较:StringBuilder > StringBuffer > String
使用场景:1.如果要操作少量的数据用 = String
2.单线程操作字符串缓冲区 下操作大量数据 = StringBuilder
3.多线程操作字符串缓冲区 下操作大量数据 = StringBuffer
2、静态变量和实例变量的区别?能在静态方法中调用非静态变量吗?
静态变量属于类,该类不生产对象,通过类名就可以调用静态变量。实例变量属于该类的对象,必须产生
该类对象,才能调用实例变量