Java面试题个人总结-+-答案.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
本人最近参加了大大小小很多公司的面试,在这里我把自己面试遇到的问题给大家说一下 JAVA基础篇 1、在java类加载器中,系统类加载器和用户自定义加载器那个先加载?(遇到这个问题时感觉很意外,没有想到会问这样的问题) 先加载系统类加载器 Java类加载器加载类顺序依次为: JVM类加载器:这个模式会加载JAVA_HOME/lib下的jar包 扩展类加载器:会加载JAVA_HOME/lib/ext下的jar包 系统类加载器:这个会去加载指定了classpath参数指定的jar文件 用户自定义类加载器:sun提供的ClassLoader是可以被继承的,允许用户自己实现类加载器 2、堆和栈分别存放什么? 栈:基本数据类型和对象的引用 堆:对象和数组 3、String、StringBuffer、StringBuilder的区别 String是不可变对象,也就是说每次修改String都是新建了一个对象并赋值 StringBuffer是字符缓冲区,修改它不会新建对象,可以使用append()方法和delete()方法修改StringBuffer的值 StringBuilder可以替代StringBuffer,它是一个单线程使用的类,和StringBuffer比速度快、效率高,但是是非安全的 三者都是被final修饰的(这一点面试官的问我的时候一直在说,你确定吗?搞得我有点虚) 4、Java的异常和错误有什么区别? Error Error是JVM的错误,这种错误会严重影响程序的运行,设计者不会设计程序代码去捕捉这种错误,因为即使捕捉到也无法给予适当的处理,比如内存溢出。 Exception Exception包含了一般性的异常,这些异常同在在捕捉到之后便可做妥善的处理,以确保程序继续运行。Exception有很多种分类,从Exception产生的时机上我们可以把Exception分为 ① 运行时异常 运行时异常是指程序运行过程中可能出现的非正常状态 ② 非运行时异常 非运行时异常是指方法声明时throws的异常 5、和的区别 是位运算符,表示按位与运算。是逻辑运算符,表示逻辑与。在条件判断的时候必须逐一检查各个条件,具有短路功能,只要一个条件为false则不会进行后续的判断。 6、abstract class和interface的区别 abstract class是抽象类,声明方法的存在而不去实现它的类叫做抽象类,它用于创建一个体现某些基本行为的类。抽象类中不能有构造方法、不能有静态方法,抽象类不能被实例化。抽象类中可以有变量、可以有普通方法、可以有抽象方法,在继承抽象方法后,必须实现它的所有抽象方法。 interface是接口,接口中的变量必须是静态常量(static final),接口中的方法必须都是抽象方法(abstract),不过由于接口中所有变量、方法修饰符都一致,因可以不写。接口的实现必须实现接口中所有的方法。 7、final、finally、finalize的区别 final是用来描述变量、方法、类的关键字,表示变量值不可变、方法不可被重写、类不可被继承 finally是异常处理的关键字,表示finally块里面的代码一定会被运行到 finalize是Object类中的protected方法,垃圾回收器执行的时候会调用被回收的类的此方法。 8、接口是否可以继承接口?抽象类是否可以实现接口?抽象类是否可以实现实体类? 接口可以继承接口 抽象类里可以有普通方法,因此抽象类可以实现接口,只需要实现接口内所有方法就可以了 抽象类里可以有普通方法,变量也不需要是常量,因此抽象类可以实现实体类 9、一个”.java”源文件中是否可以包含多个类(非内部类)?有什么限制? 可以。必须只有一个类名与文件名相同且该类以public修饰 10、java是怎么通过包名.类名来获得该类的实例的? 通过Class.forName()方法 11、介绍一下集合? ①Collection:是最基本的集合接口,一个collection代表一组Object,即collection的元素。 ②List:是collection的扩展,作用是收集对象,并以索引方式保留收集对象的顺序。其元素有放入顺序,元素可重复。 1)ArrayList:利用类似于数组的形式来存储数据,它的随机访问速度极快。 2)LinkedList:内部实现是链表,它适合于在链表中间需要频繁的插入和删除操作。 3)Vector:与ArrayList相似,但是两者不同,Vector主要用在事先不知道数组的大小,或者只是需要一个可以改变大小的数组的情况。 4)ArrayList与Vector的区别: ArrayList是非线程安全的,效率高 Vecto

文档评论(0)

hhuiws1482 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档