黑马程序员技术交流社区

标题: 面试小技巧 [打印本页]

作者: mbz2015    时间: 2015-6-30 21:31
标题: 面试小技巧
第一,谈谈final, finally, finalize的区别。

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

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

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

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

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

  第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很笼统)。

  Nested Class (一般是C++的说法),Inner Class (一般是JAVA的说法)。Java内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。具体可见http: //www.frontfree.net/articles/services/view.asp?id=704&page=1

  注: 静态内部类(Inner Class)意味着1创建一个static内部类的对象,不需要一个外部类对象,2不能从一个static内部类的一个对象访问一个外部类对象

  第四,&和&&的区别。

  &是位运算符。&&是布尔逻辑运算符。

  第五,HashMap和Hashtable的区别。

  都属于Map接口的类,实现了将惟一键映射到特定的值上。

  HashMap 类没有分类或者排序。它允许一个 null 键和多个 null 值。

  Hashtable 类似于 HashMap,但是不允许 null 键和 null 值。它也比 HashMap 慢,因为它是同步的。

  第六,Collection 和 Collections的区别。

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

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

  第七,什么时候用assert。

  断言是一个包含布尔表达式的语句,在执行这个语句时假定该表达式为 true。如果表达式计算为 false,那么系统会报告一个 Assertionerror。它用于调试目的:

  assert(a > 0); // throws an Assertionerror if a <= 0

  断言可以有两种形式:

  assert Expression1 ;

  assert Expression1 : Expression2 ;

  Expression1 应该总是产生一个布尔值。

  Expression2 可以是得出一个值的任意表达式。这个值用于生成显示更多调试信息的 String 消息。

  断言在默认情况下是禁用的。要在编译时启用断言,需要使用 source 1.4 标记:

  javac -source 1.4 Test.java

  要在运行时启用断言,可使用 -enableassertions 或者 -ea 标记。

  要在运行时选择禁用断言,可使用 -da 或者 -disableassertions 标记。

  要系统类中启用断言,可使用 -esa 或者 -dsa 标记。还可以在包的基础上启用或者禁用断言。

  可以在预计正常情况下不会到达的任何位置上放置断言。断言可以用于验证传递给私有方法的参数。不过,断言不应该用于验证传递给公有方法的参数,因为不管是否启用了断言,公有方法都必须检查其参数。不过,既可以在公有方法中,也可以在非公有方法中利用断言测试后置条件。另外,断言不应该以任何方式改变程序的状态。

作者: 0racle    时间: 2015-6-30 21:37
挺好挺好!挺实用啊!
作者: 走在这里    时间: 2015-6-30 21:45
谢谢你的总结
作者: ZhangHeng    时间: 2015-6-30 21:59
非常好,感谢分享。
作者: 双栖动物    时间: 2015-6-30 22:03
很好 学习了 有几题确实不知道 受教了
作者: JJJD    时间: 2015-6-30 22:08
学习啦,谢谢分享!
作者: 孙建强Jason    时间: 2015-6-30 22:10
总结的不错     谢谢分享
作者: 等你的季节-夏天    时间: 2015-6-30 22:14
谢谢分享
作者: 1千克=1024克    时间: 2015-6-30 22:19
有好几个名词都没听过 好腻害
作者: 贾森    时间: 2015-6-30 22:30
很有用 谢谢分享
作者: 王冲6060    时间: 2015-6-30 23:21
谢谢分享!
作者: shuaiqi_P_D    时间: 2015-6-30 23:27
第二点 ,好像有点问题。 类名你都打出来了就不是匿名内部类了。  而且匿名内部类就是继承了一个类或者实现了一个接口,必须重写了其父类或者父接口的类。
作者: 雪茹雪    时间: 2015-6-30 23:32
谢谢分享,已收藏!
作者: 符慢慢    时间: 2015-6-30 23:38
谢谢分享

作者: tinibuzhi    时间: 2015-6-30 23:40
谢谢分享         
作者: 李金伦    时间: 2015-7-1 00:04
非常感谢
作者: 徐家誉    时间: 2015-7-1 00:12
很有用  
作者: 定格在永远    时间: 2015-7-1 00:18
收藏。。。。。。。。。。。。。。。。。。。
作者: Frank2008    时间: 2015-7-1 00:19
果断收藏!!!!!
作者: 曹操001    时间: 2015-7-1 00:30
恩恩,谢谢楼主分享
作者: 虾米吃螃蟹    时间: 2015-7-1 08:31
&和&&的区别,例如在if()判断表达式中,对于&两边都要执行;而&&若左边为假则右边不再判断
作者: fanxin_meng    时间: 2015-7-1 09:05
挺好挺好!挺实用啊!
作者: Nemo    时间: 2015-7-1 09:33
不错不错哦,顶一个
作者: hoop.zeng    时间: 2015-7-1 10:12
谢谢分享
作者: umbriel    时间: 2015-7-1 10:19
谢谢分享!!
作者: Huan220_欢    时间: 2015-7-1 10:32
谢谢分享!!
作者: 几率收割    时间: 2015-7-1 12:19
学习啦,谢谢分享!
作者: javazhang    时间: 2015-7-1 12:21
这是真实的面试题吧
作者: 溦丨涼    时间: 2015-7-1 12:49
这是可能遇到的面试题吗?
作者: 那一世的苍白    时间: 2015-7-1 13:03
谢谢分享
作者: 改变    时间: 2015-7-1 13:10
总结得不错
作者: wws1214    时间: 2015-7-1 15:08
面试的时候,气氛如何??
作者: heima591046495    时间: 2015-7-1 15:33
给力,,学习一下
作者: 安卓小蜗牛    时间: 2015-7-1 18:38
面试考这些,我看的视频起码有一半没有的,官网毕老师视频有这些吗??我的天
作者: liang梁    时间: 2015-7-1 19:20
感谢楼主 受益匪浅.
作者: home7192    时间: 2015-7-1 20:13
真不错,新手收藏!
作者: YongBao_Summer    时间: 2015-7-1 20:23
断言好像没有接触过。
作者: 357955778    时间: 2015-7-1 21:06
谢谢分享!
作者: vilion    时间: 2015-7-1 21:11
感谢楼主分享啊
作者: 天涯回望    时间: 2015-7-1 21:20
谢谢分享
作者: 进军黑马    时间: 2015-7-1 21:22
恩恩,学习了
作者: 十五号的人生    时间: 2015-7-1 21:27
谢楼主分享   
作者: 逸舟213    时间: 2015-7-1 21:32
可以再多总结些,谢谢分享
作者: 孙建强Jason    时间: 2015-7-1 21:40
已阅读       不错
作者: 等你的季节-夏天    时间: 2015-7-1 21:44
谢谢你的分享
作者: 走在这里    时间: 2015-7-1 21:47
赞一个 谢谢
作者: samove    时间: 2015-7-1 21:50
好东西,学习了,谢谢楼主分享。。。
作者: samove    时间: 2015-7-1 21:52
好东西,学习了,谢谢楼主分享。。。
作者: zhand    时间: 2015-7-1 22:19
学习下
作者: jx5785749    时间: 2015-7-1 23:04
不错写的很详细 赞一个
作者: 成佳裕    时间: 2015-7-2 01:44
留名备用,谢谢分享
作者: 杨基米德    时间: 2015-7-2 06:39
哇,这个不错!mark一下~
作者: jake_liu    时间: 2015-7-2 17:45
我应该能用到
作者: jx5785749    时间: 2015-7-2 21:27
我是进来学习的!看看对我有没有帮助!
作者: vilion    时间: 2015-7-2 21:55
拿去收藏,感谢分享
作者: keto    时间: 2015-7-2 22:00
谢谢分享。学习了。。。。。。。
作者: qingger    时间: 2015-7-3 13:21
谢谢,好多回答不出来啊,都是概念性的,看来基础是最关键的
作者: a546036242    时间: 2015-7-3 14:40
我感觉好深啊 慢慢看
作者: 2899028818    时间: 2015-7-3 14:48
给力,顶一下 继续加油哦。。
作者: 为明天而奋斗    时间: 2015-7-3 15:16
面试能用的到,真是太给力了
作者: 风随心动    时间: 2015-7-3 16:18
怎么收藏帖子啊 ,楼主
作者: 阿`杰ゞ    时间: 2015-7-3 16:22
非常感谢!
作者: 小糊涂仙    时间: 2015-7-3 16:34
谢谢分享
作者: 水壶vs兔子    时间: 2015-7-3 16:52
好奇,进来看看!谢谢分享!
作者: zhangxin    时间: 2015-7-3 18:15
面试经常会被问到,谢谢分享
作者: 思考。。。    时间: 2015-7-3 19:37
多谢分享~
作者: javaking    时间: 2015-7-3 20:51
很给力!
作者: firwood    时间: 2015-7-3 21:19
总结的很细致的资料
作者: 前进的途中    时间: 2015-7-3 21:29
谢谢分享
作者: 张恩祺    时间: 2015-7-3 21:31
太帅了你
作者: 122125241    时间: 2015-7-3 21:38
学习了  不错
作者: ssclovedan    时间: 2015-7-3 22:10
挺好!!!!!!!!!!
作者: 杰可可    时间: 2015-7-3 22:46
学习了,谢谢分享




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2