20个高级Java面试题汇总

这篇博客涵盖了高级Java面试的多个核心话题,包括可变参数、断言、垃圾回收机制、初始化块、正则表达式、日期和日历类的使用等。详细解释了垃圾回收的工作原理和最佳实践,以及如何在Java中操作日期和时间。此外,还讨论了数字格式化类在处理不同区域和格式的数字时的应用。
摘要由CSDN通过智能技术生成

这是一个高级Java面试系列题中的第一部分。这一部分论述了可变参数,断言,垃圾回收,初始化器,令牌化,日期,日历等等Java核心问题。

  1. 什么是可变参数?
  2. 断言的用途?
  3. 什么时候使用断言?
  4. 什么是垃圾回收?
  5. 用一个例子解释垃圾回收?
  6. 什么时候运行垃圾回收?
  7. 垃圾回收的最佳做法?
  8. 什么是初始化数据块?
  9. 什么是静态初始化器?
  10. 什么是实例初始化块?
  11. 什么是正则表达式?
  12. 什么是令牌化?
  13. 给出令牌化的例子?
  14. 如何使用扫描器类(Scanner Class)令牌化?
  15. 如何添加小时(hour)到一个日期对象(Date Objects)?
  16. 如何格式化日期对象?
  17. Java中日历类(Calendar Class)的用途?
  18. 如何在Java中获取日历类的实例?
  19. 解释一些日历类中的重要方法?
  20. 数字格式化类(Number Format Class)的用途?

什么是可变参数?

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

 //int(type) followed ... (three dot's) is syntax of a variable argument.     public int sum(int... numbers) {        //inside the method a variable argument is similar to an array.        //number can be treated as if it is declared as int[] numbers;        int sum = 0;        for (int number: numbers) {            sum += number;        }        return sum;    }    public static void main(String[] args) {        VariableArgumentExamples example = new VariableArgumentExamples();        //3 Arguments        System.out.println(example.sum(1, 4, 5));//10        //4 Arguments        System.out.println(example.sum(1, 4, 5, 20));//30        //0 Arguments        System.out.println(example.sum());//0    }

断言的用途?

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

private int computerSimpleInterest(int principal,float interest,int years){    assert(principal>0);    return 100;}

什么时候使用断言?

断言不应该用于验证输入数据到一个public方法或命令行参数。IllegalArg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值