十一、谈谈final,finally,finalize的区别?

1.final:是修饰符,是一个关键字。修饰变量,如果是基本类型表示该变量的值不能修改;如果是引用类型表示该变量不能指向别的对象;修饰类,表示该类不能被继承;修饰方法,表示该方法不能被重写。

2. finally:是在try-catch-finally块中配套使用。一般用于资源清理工作:流的关闭,以及数据库的关闭等。

3. finalize:是Object的方法,是GC运行机制的一部分。没有特别要求的话,一般不需要我们调用该方法,交给GC自己管理就好。Java中允许使用 finalize()方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作,但其具体执行时间点是无法确定的。子类可以覆盖finalize()方法以整理系统资源或者执行其他清理工作。

十二、error和exception有什么区别?

相同点:Error类和Exception类都继承Throwable类。

不同点

1.Error表示系统级错误和或低层资源的错误。是java运行环境中的内部错误或者硬件问题,比如,内存资源不足等。这种问题不可能指望通过程序能处理。

2.Exception表示需要捕捉或者需要程序进行处理的异常,它是由于程序设计有问题而产生的,可以通过程序来解决。包括编译时异常(必须捕获)和运行时异常(可以不捕获)。

十三、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?

是值传递。Java编程语言中只有值传递没有引用传递的说法。当一个对象实例作为一个参数被传递到方法中时,这个参数的值就是该对象的引用(该对象的地址)。对象的内容可以在被调用的方法中改变,但对象的引用即地址是永远不会改变的。

十四、作用域public,private,protected,以及不写时的区别

对于这个题,只要看懂这个图就没问题了。

作用域 当前类 同包 不同包子孙类 其他包
public       √           √              √              √
protected  √           √              √               ×
friendly    √            √              ×              ×
private     √            ×              ×              ×
不写时默认为friendly

十五、33.String 和StringBuffer有什么差别?在什么情况下使用它们?

区别

1.String是字符串常量,一旦创建就不能修改,每次对String操作都是产生一个新的字符串对象;

2.StringBuffer和StringBuilder是字符串可变量,可以修改,操作的始终是原对象。但是StringBuffer是线程安全的(效率低),StringBuilder是线程不安全的(效率高)。

选择:如果很少修改,使用String,毕竟它最简单;
           如果经常修改,且是单线程,使用StringBuilder(最常用);
           如果经常修改,且是多线程,使用StringBuffer。

Java面试题之三的更多相关文章

  1. java面试题及答案(转载)

    JAVA相关基础知识1.面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时 ...

  2. 115个Java面试题和答案——终极列表(下)

    第一篇讨论了面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类,垃圾收集器,本章主要讨论异常处理,Java小应用程序,Swing,JDBC,远程方法调用(RMI),Servle ...

  3. Java面试题(全)

    JAVA部分 什么是反射机制?反射机制应用(Struts中反射机制的应用) 答:运行状态中,对于任意一个类,都可以知道它的所有属性和方法,对于任意一个对象都可以调用它的任意一个方法,这种动态获取信息以 ...

  4. Java面试题大全(四)

    JAVA代码查错 1. abstract class Name { private String name; public abstract boolean isStupidName(String n ...

  5. 大公司的Java面试题集

    找工作要面试,有面试就有对付面试的办法.以下一些题目来自我和我朋友痛苦的面试经历,提这些问题的公司包括IBM, E*Trade, Siebel, Motorola, SUN, 以及其它大小公司. 面试 ...

  6. 收集了50道基础的java面试题

    下面的内容是对网上原有的Java面试题集及答案进行了全面修订之后给出的负责任的题目和答案,原来的题目中有很多重复题目和无价值的题目,还有不少的参考答案也是错误的,修改后的Java面试题集参照了JDK最 ...

  7. Java学习-029-JSON 之三 -- 模仿 cssSelector 封装读取 JSON 数据方法

    前文简单介绍了如何通过 json-20141113.jar 提供的功能获取 JSON 的数据,敬请参阅:Java学习-028-JSON 之二 -- 数据读取. 了解学习过 JQuery 的朋友都知道, ...

  8. Java笔试题解答和部分面试题

    面试类  银行类的问题 问题一:在多线程环境中使用HashMap会有什么问题?在什么情况下使用get()方法会产生无限循环? HashMap本身没有什么问题,有没有问题取决于你是如何使用它的.比如,你 ...

  9. 转:Java面试题集(51-70) http://blog.csdn.net/jackfrued/article/details/17403101

    Java面试题集(51-70) Java程序员面试题集(51-70) http://blog.csdn.net/jackfrued/article/details/17403101 摘要:这一部分主要 ...

随机推荐

  1. CSS小tip整理

    CSS小tip整理 1.利用css在列表靠头和末尾添加箭头: /* 左箭头*/ ol a[rel="prev"]:before { content: "\00AB&quo ...

  2. Windows Server 2012 R2 服务器管理器介绍和配置使用

    1. 服务管理器是用于管理系统服务的管理工具.一般常用于windows系统,使用这个工具你可以启动.停止服务:设置服务是自动.手动启动或禁用:查看某个服务的相关信息:设置服务以什么用户启动等等(一般包 ...

  3. objective-C学习笔记(七) 字符串处理

    字符串NSString NSString 是一个Unicode编码,16位字符的字符序列. NSString 是一个类,拷贝时需要注意. 初始化方法:字面量初始化.初始化器.工厂方法. NSStrin ...

  4. If the server requires more time, try increasing the timeout in the server editor

    双击服务器,在overview下的Timeouts中的Start选项,改成10000或者较大就可以了.防止服务器自启动频繁.

  5. java线程的使用(Runnable)

    在实际项目开发过程中,线程是经常要用到的,特别是为了不影响项目的运行效果. 以下就以实际项目中的简单例子来介绍: public class SystemRedisInfoController exte ...

  6. vs2010更改默认环境设置

    今天刚刚装vs2010手欠点击了新建团队项目,在百度上各种查找说让我去 visual studio tools的命令提示中进行 devenv命令行修改 ResetString但是没找到我设置文件的路径 ...

  7. Laravel5 学习与使用(一)

    2015-07-04 (1)  安装Laravel框架 ① 安装前的准备工作 使用Apache24 + PHP 5.6 + MySQL 开发环境完成PHP网站开发,所以Laravel的安装是建立在以上 ...

  8. nginx 重写 rewrite 基础及实例(转)

    nginx rewrite 正则表达式匹配 大小写匹配 ~ 为区分大小写匹配 ~* 为不区分大小写匹配 !~和!~*分别为区分大小写不匹配及不区分大小写不匹配 文件及目录匹配 -f和!-f用来判断是否 ...

  9. MFC自绘控件学习总结

    前言:从这学期开始就一直在学习自绘控件(mfc),目标是做出一款播放器界面,主要是为了打好基础,因为我基础实在是很烂....说说我自己心得体会以及自绘控件的方法吧,算是吐槽吧,说的不对和不全的地方,或 ...

  10. AlertDialog弹出时背景明暗程度调整

    今天有个需求是把弹出AlertDialog时的变暗的背景调整得不要那么暗. 一开始懒惰就直接百度中文搜索,结果找到的代码试了几次都不行. 后来老老实实开google.stackoverflow搜索,搜 ...