10个高级Java面试题,你都会吗?

Posted 千硕教育

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了10个高级Java面试题,你都会吗?相关的知识,希望对你有一定的参考价值。

中秋节


又到了“金九银十”这一求职应聘的旺季,千硕教育北大青鸟专业老师整理了10个高级Java面试题,这一部分的题目论述了可变参数、断言、垃圾回收、初始化器、令牌化、日期、日历等等Java核心问题,希望能够对Java方向的求职者有所帮助。



1
什么是可变参数?


可变参数允许调用参数数量不同的方法。请看下面例子中的求和方法。此方法可以调用1个int参数,或2个int参数,或多个int参数。


10个高级Java面试题,你都会吗?



2
断言的用途是什么?



 断言是在Java 1.4中引入的。它能让你验证假设。如果断言失败(即返回false),就会抛出AssertionError(如果启用断言)。基本断言如下所示。





3
什么时候使用断言?



断言不应该用于验证输入数据到一个public方法或命令行参数。IllegalArgumentException会是一个更好的选择。在public方法中,只用断言来检查它们根本不应该发生的情况。


4
什么是垃圾回收?



垃圾回收是Java中自动内存管理的另一种叫法。垃圾回收的目的是为程序保持尽可能多的可用堆(heap)。 JVM会删除堆上不再需要从堆引用的对象。



5
什么时候运行垃圾回收?



运行垃圾收集的可能情况是:堆可用内存不足或CPU空闲。



6
垃圾回收的最佳做法是什么?



用编程的方式,我们可以要求(记住这只是一个请求——不是一个命令)JVM通过调用System.gc()方法来运行垃圾回收。当内存已满,且堆上没有对象可用于垃圾回收时,JVM可能会抛出OutOfMemoryException。对象在被垃圾回收从堆上删除之前,会运行finalize()方法。建议不要用finalize()方法写任何代码。



7
什么是初始化数据块?



初始化数据块是指当创建对象或加载类时运行的代码,分为两种类型:静态初始化器----加载类时运行的的代码,实例初始化器----创建新对象时运行的代码。



8
什么是正则表达式?



 正则表达式能让解析、扫描和分割字符串变得非常容易。Java中常用的正则表达式——Patter,Matcher和Scanner类。



9
什么是令牌化?



令牌化是指在分隔符的基础上将一个字符串分割为若干个子字符串。例如,分隔符;分割字符串ac;bd;def;e为四个子字符串ac,bd,def和 e。



10
Java中日历类(Calendar Class)的用途是什么?



Calendar类在Java中用于处理日期,Calendar类提供了增加和减少天数、月数和年数的简便方法,它还提供了很多与日期有关的细节,例如这一年的哪一天、哪一周等等。


———————————————

课程咨询:15392954850

互动QQ:2605241525


以上是关于10个高级Java面试题,你都会吗?的主要内容,如果未能解决你的问题,请参考以下文章

前端面试题关于JavaScript 这些你都会吗?

面试题 | 数据库面试题集合·之·MySQL集群 你都会吗?

2021最新中高级Java面试题目,Java面试题汇总

程序员这十个java题你都会吗?

Java程序员从阿里京东美团面试回来,这些面试题你会吗?

java面试题