网站大量收购独家精品文档,联系QQ:2885784924

Java面试经典试题与答案.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一 基础篇 谈谈final, finally, finalize的区别 final是一个修饰符,修饰类的时候表示类不可继承, 所以一个类不可能既是 abstract 又是 final 的; 修饰变量的时候表示这个变量不可被更改并且必须赋初始值; 修饰方法的时候表示方式不可被重写。 finally 通常和 try-catch 一起, 在finally 里代码无论是否发生异常都会执行到 finalize 是一个方法名。方式是定义在Object 类中,在对象从内存中释放之前会调用此方法进行一些必要的清理工作。 Annoy Inner Class (匿名类) 是否可以extends (继承)其他类,是否可以implements (实现) interface接口? Annoy Inner Class 由于没有类名所以不可以extends其他类;可以实现interface Static Nested Class 和 Inner Class的不同 Static Nested Class 不需要外部类的实例来创建内部类的实例;内部类不能访问外部类的非静态方法;它能具有静态的数据,属性,和匿名内部类。 和 的不同 表示位运算符;表示逻辑运算符; HashMap 和 Hashtable 的区别 HashMap 允许一个null或者多个null 作为key, 而 Hashtable 不行 Hashtable 是线程同步的, 而HashMap不是的 HashTable的原理:通过节点的关键码确定对象的存储位置。给定节点的关键码k,通过一定的散列函数H(k),得到散列值,这个值就是节点的存储地址 Colleciton 和 Collections 的区别 Collection 在java.util下面,是所有集合类的父接口 Collections 也在java.util下面,他封装了集合类的一些操作 什么时候用 assert? assert 是一条包含布尔表达式的语句,程序运行到当前语句的时候假定布尔返回值是true,如果是false则会抛出异常。断言在默认情况下是禁用的,在编译时启用断言用 -source 1.4 标记,在运行时启用可以用 -ea 来标记,在运行时禁用用 -dsa 来标记。 GC是什么?为什么要用GC? GC是垃圾回收机制,使用GC程序员就不用关心程序的内存管理。使用System.gc()和Runtime.getRuntime().gc();能增加GC启动的优先级,但是不保证一定执行。 String s = new String(xyz); 创建了几个String Object. 2个 Math.round(11.5)等于多少?Math.round(-11.5)等于多少? 12;-11; round 表示4舍5入 short s1 = 1; s1 = s1 + 1; 有什么错? short s1 = 1; s1 += 1;有什么错? s1 = s1 + 1; 有错,因为 1 是int 型,所以s1 + 1 后的类型是int,int 隐形转化为short类型 s1 += 1;没有问题 sleep() 和 wait() 有什么区别? sleep() 表示让当前运行的线程暂停一段时间,在时间满了后,这个线程被并不一定会被立即执行,除非这个线程的优先级比当前线程的优先级高,或者当前线程执行完毕,或者当前线程阻塞住了 wait()如果线程对一个同步对象发出wait请求后,该线程会暂停执行,进入等待状态直到被唤醒或者等待时间到。 Java 有没有 goto ? 有但是没有用 数组有没有length()方法?String 有没有 length()方法? 数组没有length()方法,但是数组有length属性 String 有 length() 方法 overload和override 的区别。 overload 和 override 都是 Java 多态的一种表现, overload是同一个类中的多态性的表现,override 是子类和父类多态的一种表现 overload 表示重载,一个类中同样一个方法名可以有不同的参数 override 表示重写,子类中可以重新实现父类的方法 overload 的返回值不可变 Set 里的元素是不能重复的,用什么方法来区分重复与否呢?用 = = 还是 equals()? 他们有和区别? 用 equals 方法,= = 方法是比较对象的引用地址,equal默认是比较引用,但是可以被重写是逻辑相等,一般重写equal也要修改相应的hashCode方法 给我你最常见的一个 runtime exception NullpointException, IllegalArgumentException, ArrayIn

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档