我的测试人生........

中软国际Java程序员笔试题

上一篇 / 下一篇  2012-06-30 00:13:32 / 个人分类:面试经验

  1、谈谈finalfinallyfinalize的区别。

  final:修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载。

  finally:在异常处理时提供finally块来执行任何清除操作。如果抛出一个异常,那么相匹配的catch子句就会执行,然后控制就会进入finally块(如果有的话)。

  finalize:方法名。Java技术允许使用finalize()方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在Object类中定义的,因此所有的类都继承了它。子类覆盖finalize()方法以整理系统资源或者执行其他清理工作。finalize()方法是在垃圾收集器删除对象之前对这个对象调用的。

  2Anonymous Inner Class (匿名内部类)是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)

  匿名的内部类是没有名字的内部类。不能继承其它类,但一个内部类可以作为一个接口,由另一个内部类实现。

  3Static Nested ClassInner Class的不同,说得越多越好(面试题有的很笼统)

  Static nested class(嵌套类)是将内部类声明为static。普通内部类对象隐式地保存了一个引用,指向创建它的外围类对象,不能有static数据和static字段。嵌套类意味着:1>要创建嵌套类的对象,并不需要其外围类的对象;2>不能从嵌套类的对象中访问非静态的外围类的对象。

  4&&&的区别。

  &是两个数相与,是位运算符

  &&是布尔逻辑运算符,连接两个条件表达式的,两个条件表达式都为真时,整个才为真

  5HashMapHashtable的区别。

  都属于Map接口的类,实现了将惟一键映射到特定的值上。HashMap类没有分类或者排序。它允许一个null键和多个null值。Hashtable类似于HashMap,但是不允许null键和null值。它也比HashMap慢,因为它是同步的,是线程安全的。

  6CollectionCollections的区别。

  Collections是个java.util下的类,它包含有各种有关集合操作的静态方法。

  Collection是个java.util下的接口,它是各种集合结构的父接口。

  7ListSetMap是否继承自Collection接口?

  ListSetMap不是

  8ArrayListVector的区别。

  1>同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的2>数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半

  9、什么时候用assert

  assertion(断言)软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。一般来说,assertion用于保证程序最基本、关键的正确性。assertion检查通常在开发和测试时开启。为了提高性能,在软件发布后,assertion检查通常是关闭的。

  10GC是什么?为什么要有GC

  GC是垃圾收集器。Java程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一:

1.    System.gc()  

2.    Runtime.getRuntime().gc()

3.    11String s = new String("xyz");创建了几个String Object

4.      两个对象,一个是“xyx”,一个是指向“xyx”的引用对象s

5.      12.Math.round(11.5)等於多少?Math.round(-11.5)等於多少?

6.      Math.round(11.5)返回(long12Math.round(-11.5)返回(long-11;因为返回最接近参数的long。通过加上1/2将该结果舍入为整数,取结果的基数并将其强制转换为long类型。换句话说,结果等于以下表达式的值:(long)Math.floor(a + 0.5d)

7.      13short s1 = 1

TAG:

逍遥无名的个人空间 引用 删除 逍遥无名   /   2012-12-05 20:51:46
原帖由iamfeiyu1009于2012-07-01 11:57:07发表
这个公司,楼主去了会后悔的

为神马呢?
岁月无声 引用 删除 iamfeiyu1009   /   2012-07-01 11:57:07
这个公司,楼主去了会后悔的
 

评分:0

我来说两句

Open Toolbar