作家
登录

20个高级Java面试题汇总

作者: 来源: 2017-08-29 16:38:20 阅读 我要评论

  1. private int computerSimpleInterest(int principal,float interest,int years){ 
  2.     assert(principal>0); 
  3.     return 100; 
  4.  

什么时刻应用断言?

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

什么是垃圾收受接收?

垃圾收受接收是Java中主动内存治理的另一种叫法。垃圾收受接收的目标是为法度榜样保持尽可能多的可用堆(heap)。 JVM会删除堆上不再须要大年夜堆引用的对象。

用一个例子解释垃圾收受接收?

比方说,下面这个办法就会大年夜函数调用。

  1. void method(){ 
  2.     Calendar calendar = new GregorianCalendar(2000,10,30); 
  3.     System.out.println(calendar); 
  4.  

经由过程函数第一行代码中参考变量calendar,在堆上创建了GregorianCalendar类的一个对象。

函数停止履行后,引用变量calendar不再有效。是以,在办法中没有创建引用到对象。

JVM熟悉到这一点,会大年夜堆中删除对象。这就是所谓的垃圾收受接收。

什么时刻运行垃圾收受接收?

垃圾收受接收的最佳做法?

用编程的方法,我们可以请求(记住这只是一个请求——不是一个敕令)JVM经由过程调用System.gc()办法来运行垃圾收受接收。

当内存已满,且堆膳绫腔有对象可用于垃圾收受接收时,JVM可能会抛出OutOfMemoryException。

对象在被垃圾收受接收大年夜堆上删除之前,会运行finalize()办法。我们建议不要用finalize()办法写任何代码。

什么是初始化数据块?

初始化数据块——当创建对象或加载类时运行的代码。

有两种类型的初始化数据块:

  1. 静态初始化器:加载类时运行的的代码
  2. 实例初始化器:创建新对象时运行的代码

什么是静态初始化器?

请看下面的例子:static{ 和 }之间的代码被称为静态初始化器。它只有在第一次加载类时运行。只有静态变量才可以在静态初始化器中进行拜访。固然创建了三个实例,但静态初始化器只运行一次。

  1. public class InitializerExamples { 
  2.     static int count
  3.     int i; 
  4.  
  5.     static
  6.         //This is a static initializers. Run only when Class is first loaded. 
  7.         //Only static variables can be accessed 
  8.         System.out.println("Static Initializer"); 
  9.         //i = 6;//COMPILER ERROR 
  10.         System.out.println("Count when Static Initializer is run is " + count); 
  11.     } 
  12.  
  13.     public static void main(String[] args) { 
  14.         InitializerExamples example = new InitializerExamples(); 

      推荐阅读

      腾讯云邱跃鹏:打造信息高速路,连接智能未来

    【51CTO.com原创稿件】在数字经济高速成长,人工智能进步神速的时代,云计算已经为家当、经济甚至社会带来了深刻的变革。当传统企业加快向云端迁徙,政务机关“上云”迫在眉睫之>>>详细阅读


    本文标题:20个高级Java面试题汇总

    地址:http://www.17bianji.com/lsqh/37008.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)