收藏 分销(赏)

Java开发工程师面试题总结.doc

上传人:xrp****65 文档编号:5731510 上传时间:2024-11-16 格式:DOC 页数:6 大小:78.50KB
下载 相关 举报
Java开发工程师面试题总结.doc_第1页
第1页 / 共6页
Java开发工程师面试题总结.doc_第2页
第2页 / 共6页
Java开发工程师面试题总结.doc_第3页
第3页 / 共6页
Java开发工程师面试题总结.doc_第4页
第4页 / 共6页
Java开发工程师面试题总结.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、JAVA开发工程师面试题总结-JAVASE部分1谈谈final,finally,finalize的区别?l final是Java的一个关键字,用于定义不能被继承的类,不能被覆写的方法,常量。l finally是Java的一个关键字,是异常处理操作的统一出口。l finalize是Object类中所提供的一个方法,用于在对象回收之前进行收尾操作。2请解释Java实现可移植性的原理l Java程序最终通过字节码文件运行,运行的时候字节码需要JVM的支持,但是在不同的操作系统上有不同JVM,程序不用关系操作系统,只关心JVM,只要JVM不改变,程序可以在操作系统间任意移植。3请解释path和clas

2、spath的区别?l path是windows的环境属性,用于指定可执行命令的路径l classpath是指在java程序执行的时候,用于指定类的加载路径4请说明下JAVA中的几个特殊关键字(了解,一般面试面这个问题的都是一些煞笔公司)l 未使用到的关键字:goto、constl 有特殊含义的关键字:null、true、falsel JDK1.4之后增加了一个assert关键字l JDK1.5之后增加了一个enum关键字5请解释JAVA中的数据类型的划分,并说出其默认值l 基本数据类型:n 数值型:u 整型:byte、short、int、long; 0u 浮点型:float、double; 0

3、n 字符型:char空字符:u0000n 布尔型:booleanfalsel 引用数据类型:数组、类、接口null6请解释&和&、|和|的区别l &(普通与)和|(普通或)指的是所有条件都进行判断;l &(短路与)如果前面的条件不满足,则后面不再进行判断,|(短路或)如果前面的条件满足则后面不再判断;l 在开发之中为了性能的提高,主要使用短路与和短路或操作;l &和|除了用于逻辑运算之外,也可以进行位运算的操作;7请解释String类的两种比较方式l 在String类中可以使用“=”和equals()两种操作来进行字符串的比较l “=”比较的是两个字符串的内存地址数值,属于数值比较l equa

4、ls()是String类中提供的一个方法,用于字符串内容的比较,最简单的做法就是比较字符串永远使用equals()方法就行了8请解释String对象的两种实例化方式的区别l 首先String对象的实例化方式有两种:一种是直接赋值,另外一种是通过构造方法完成l 直接赋值:只开辟一个堆内存空间,而且采用了共享设计模式,可以自动入池,以备下次对象继续使用l 构造方法:会开辟两快内存空间,其中有一块空间将成为垃圾,而且不会自动入池,可以使用intern()方法进行手工入池l 从开发角度来说,很明显使用直接赋值的方式会更好一些9请谈谈方法的重载和覆写的区别l 首先重载和覆写都是面向对象多态性的一个体现l

5、 重载n 单词:OverLoadingn 概念:方法名称相同,参数的类型或个数不同n 范围:发生在一个类之中n 权限:重载的时候没有权限的限制l 覆写n 单词:Overriden 概念:方法名称、返回值、参数的个数及类型全部相同n 范围:发生在继承关系中n 权限:子类覆写的方法不能拥有比父类更严格的访问控制权限l 重载的时候可以返回值类型不相同,但是没有任何意义10请谈谈this和super的区别l thisn 属性:this.属性表示的是找到本类的属性,如果本类没有找到则继续查找父类n 方法:this方法()表示找到本类的方法,如果本类没有找到则继续查找父类n 构造:必须放在构造方法的首行,

6、不能与super关键字同时出现n 特殊:表示当前对象l supern 属性:super.属性直接在子类之中查找父类中的指定属性,不在查找子类本身n 方法:super.方法()直接在子类之中查找父类中的指定方法,不在查找子类本身n 构造:必须放在构造方法首行,不能与this关键字同时出现l 在开发之中使用this和super可以明确的划分出子类和父类之间的操作11请解释Collection和Collections的关系l 两者之间在定义上没有直接的关系l Collection是单值集合的操作最大父接口l Collections只是一个集合的工具操作类12为什么构造方法的定义上不写返回值类型,如果

7、不返回写一个void不也可以吗l 如果构造方法上写了void的话,则表示的就是一个普通方法了,普通方法是在对象实例化之后调用的,而构造方法是在对象实例化的时候同时调用的13请解释Error和Exception的区别l Error:表示的是JVM出错,即,程序还没有运行时所发生的错误,用户无法处理;l Exception:表示程序运行时发生的错误,用户可以处理;14请解释String与StringBuffer的区别,分别在什么时候用l String的内容不能改变(改变的是地址的指向),而StringBuffer的内容是可以改变的l String类和StringBuffer类中定义的方法可以很好的

8、实现互补l 从开发角度来说,大部分情况使用的都是String类,很少使用StringBuffer,使用StringBuffer只有一个前提,当字符串的内容需要不断的修改对象的时候15请解释throw和throws的区别l throw表示人为的进行异常抛出,手工抛出异常l throws表示:用于方法声明上,表示一个方法不处理异常,而是交给被调用处处理16使用char型数据能否表示一个汉字l 首先一个汉字占2个字节,而UNICODE编码也是16位的,java又是采用UNICODE编码,但是保存汉字,语言必须是中文才可以保存17是否可以继承String类l 不可以,因为String类是final类,

9、不可以被继承18抽象类可以有构造方法吗l 可以有构造方法,而且抽象类中的子类实例化对象的时候也依然符合子类对象实例化的过程,先调用父类的构造方法,为父类的属性初始化,而后调用子类自己的构造方法,所以抽象类中的属性,static属性,常量等都是可以定义的19抽象类中可以没有抽象方法吗l 可以没有抽象方法,尽管没有抽象方法,也不能直接使用关键字new实例化对象20一个抽象类中能否包含内部类或内部抽象类l 可以21一个抽象类能否使用static 关键字声明l 在外部的抽象类肯定不能使用static关键字l 在内部抽象类中使用static,则表示外部类,则可以使用22一个抽象类能否使用final声明l

10、 不能,final定义的类不能有子类,而抽象类必须有子类23请解释多线程的两种实例化方式l 多线程的两种实现方式是继承Thread类和实现Runnable接口,不管使用何种方式都要覆写run()方法l 继承Thread类与实现Runnable接口相比会有当继承的局限l Thread类也是Runnablee接口的子类,不管通过何种方式实现多线程,最终多需要依靠Thread类的start()方法启动l 使用Runnablee接口可以更加清楚的表示出数据库共享的概念24多个线程操作同一资源的时候需要注意什么?会带来那些问题l 多个线程操作同一资源的时候必须考虑到同步,但是过多的同步会造成死锁25抽象

11、类和接口的区别l 抽象类n 关键字:abstract classn 组成:属性,(全局)常量,构造方法,普通方法,(抽象方法),static方法n 权限:可以使用各种权限,private,public等n 使用:抽象类必须有子类,子类必须继承抽象类n 子类关键字:class 子类 extends 父类n 与接口的关系:一个抽象类可以实现多个接口n 设计模式:模板设计n 局限:子类只能继承一个父类,有单继承限制l 接口:n 关键字:interfacen 组成:全局常量,抽象方法n 权限:所有权限必须都是publicn 使用:接口必须有子类,子类必须实现接口n 子类关键字:class 子类 imp

12、lements 接口A,接口Bn 与抽象类的关系:接口不能继承抽象类,但是可以继承多个接口n 设计模式:工厂设计模式,代理设计模式n 局限:子类可以实现多个接口,避免了单继承l 当接口和抽象类都能满足的情况下,优先使用接口,因为接口避免了单继承的局限性,便于扩展l 接口与抽象类合作适配器设计模式26请解释下JAVA中的垃圾回收机制l 垃圾收集机制指的是可以对无用的内存空间进行释放,而对垃圾的收集采用两种方式l 第一种:不定期的进行自动的垃圾回收,不可控制的l 第二种:Runtime中的gc()方法回收,可控的27作用域public,private,protected以及不写时的区别范围当前类同

13、一package子孙类其他packagepublicprotecteddefaultprivate28如果现在父类中的方法是private,子类中覆写此方法为default权限可以吗?l 从概念上来说是可以的,因为父类是private,子类覆写之后是default,而default权限private,但是从实际角度来说,这种操作是不可能实现的,因为private比较特殊29请解释Exception和RuntimeException区别,并列举几个常见的RuntimeException?l Exception的异常是必须要进行处理的,而RuntimeException异常可以选择处理,常见的RuntimeException异常有:l AirthmeticException、NumberFormatException、NullpointerException、ClassCastException、SystemExceptin、DOMException、MissResourceException、ArrayIndexOutofBoundsException、StringIndexOutofBoundsException、IndexOutofBoundsException(就记住这几个就差不多了,哥哥就是看不惯网上的很多不知道的异常也给老子贴上去,有个吊用)306

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 考试专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服