`

JAVA认证经典面试题目整理

阅读更多
 1. Java中的异常处理机制的简单和应用。

  当Java程序违反了Java的语义规则时,Java虚拟机就会将发生的错误表示为一个异常。违反语义规则包括2种情况。一种是Java类库内置的语义。例如数组下标越界,会引发IndexOutOfBoundsException;访问null的对象时会引发NullPointerException。另一种情况就是Java允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用throw关键字引发异常。所有的异常都是java.lang.Thowable的子类。

<!--advertisement code begin--><!--advertisement code end-->

  2. Java的接口和C++的虚类的相同和不同处。

  由于Java不支持多继承,而有可能某个类或对象要使用分别在几个类或对象里面的方法或属性,现有的单继承机制就不能满足要求。与继承相比,接口有更高的灵活性,因为接口中没有任何实现代码。当一个类实现了接口以后,该类要实现接口里面所有的方法和属性,接口里面的属性在默认状态下面都是public static,所有方法默认情况下是public.一个类可以实现多个接口。

  3. 垃圾回收的优点和原理。并考虑2种回收机制。

  Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清除和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收。

  4.线程同步的方法。

  wait():使一个线程处于等待状态,并且释放所持有的对象的lock。

  sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕捉InterruptedException异常。

  notify():唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切地唤醒某一个等待状态的线程,而是由JVM确定唤醒哪个线程,而且不是按优先级。

  Allnotity():唤醒所有处入等待状态的线程,注意并不是给所有唤醒线程一个对象的锁,而是让它们竞争。

  5. Error与Exception有什么区别?

  Error表示系统级的错误和程序不必处理的异常,

  Exception表示需要捕捉或者需要程序进行处理的异常。

  6. 在java中一个类被声明为final类型,表示了什么意思?

  表示该类不能被继承,是顶级类。

  7. heap和stack有什么区别。

  栈是一种线形集合,其添加和删除元素的操作应在同一段完成。栈按照后进先出的方式进行处理。堆是栈的一个组成元素。

  8. 谈谈final, finally, finalize的区别。

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

  finally—异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。
 
  finalize—方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。

  9. Anonymous Inner Class (匿名内部类)

  是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?

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

  10. Static Nested Class 和 Inner Class的不同

  Nested Class (一般是C++的说法),Inner Class (一般是JAVA的说法)。Java内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。

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

<!--function: content() parse end 0ms cost! -->转载:http://edu.hsw.cn/system/2009/07/13/050238819.shtml
分享到:
评论

相关推荐

    最新各大公司企业真实面试题-Java面试题

    "java面试题目.doc"和"java面试题目(53页).doc"进一步补充了面试题库,可能包含了一些特定场景的应用问题,如Web开发、大数据处理、微服务架构等,这些都是现代Java开发者必备的知识。 最后,"Core Javaceshiti.doc...

    软件公司面试题目

    以上就是从“软件公司面试题目”中提取的关键Java知识点,涵盖了Java基础、面向对象特性、集合类、Servlet、J2EE架构等多个方面。对于每一个Java学习者来说,这些都是非常重要的知识点,有助于深入理解Java编程语言...

    java面试题_框架—Spring(14题)

    本资料针对Spring框架的面试题目进行了整理,涵盖了14个关键知识点,旨在帮助求职者更好地理解和掌握Spring的核心概念。 1. **依赖注入(DI)** - 依赖注入是Spring的核心特性,允许对象在运行时通过容器来获取其...

    JAVA基础面试题全

    根据提供的文件信息,我们可以整理出一系列与Java基础知识相关的面试题及关键知识点,下面将对这些题目进行详细解析。 ### 1. Java基础知识 #### 1.1 String对象的理解 - **概念**: `String` 类是不可变的,即...

    Java工作实用篇.pdf

    ### Java工作实用篇知识点概述 ... - 常见面试题目。 - 解答思路。 以上知识点涵盖了Java开发中的各个方面,不仅包括基础知识,还有具体的实践案例和技术细节,非常适合希望深入学习Java的开发者参考。

    WEB面试题汇总

    以上内容只是部分可能涵盖的面试知识点,实际的“WEB面试题汇总”PDF文件可能会更详尽,包括具体的面试题目、解答策略以及面试技巧。对于Java Web开发者来说,熟练掌握这些知识并能灵活运用,将极大地提高面试成功率...

    最近面试一些厂的面经整理(阿里,腾讯,字节等)

    以下是对这些面试题目的详细解析: 1. **算法题**: - **卖酒瓶问题**:这是一个经典的数学问题,涉及递归或动态规划,计算可饮用的酒瓶总数。 - **回文串判断**:检查字符串是否正读和反读相同,可以使用双指针...

    PHP的一些面试题,希望对在找工作的朋友有用

    根据提供的文件信息,我们可以整理出一系列与PHP相关的面试题及其简要解析,下面将逐一进行说明。 ### 1. PHP日期格式 问题:如何显示当前时间为`2006-5-10 22:21:21`? 解答:在PHP中,可以使用`date()`函数来获取...

Global site tag (gtag.js) - Google Analytics