每日一问第3期 | 面试官:谈谈JVM的内存结构?

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_23853743/article/details/102774197

点击上方蓝色链接,关注并“设为星标

精彩内容,每天及时推送

640?

第2期答案

上期问题

问题答案:

final修饰符(关键字)当一个类被修饰为final时,它的含义很明确,就是不允许该类被继承,也就是说,该类“绝后”了,任何继承它的操作都会以编译错误告终。因此一个类不能既被声明为abstract的,又被声明为final 的;将变量或方法声明为final,可以保证它们在使用中不被改变;被声明为final 的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改;被声明为final 的方法也同样只能使用,不能重载此外当一个方法被修饰为final方法时,意味着编译器可能将该方法用内联(inline)方式载入,所谓内联方式,是指编译器不用像平常调用函数那样的方式来调用方法,而是直接将方法内的代码通过一定的修改后copy到原代码中。这样可以让代码执行的更快(因为省略了调用函数的开销),比如在int[] arr = new int[3]调用arr.length()等。另一方面,私有方法也被编译器隐式修饰为final,这也就意味着private final void f()和private void f()并无区别

finally在异常处理的时候提供finally 块来执行任何清除操作,例如IO流的关闭;如果抛出一个异常,那么相匹配的catch 子句就会执行,最后控制就会进入finally 块(如果有的话)。

finalize方法名;Java 技术允许使用finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在Object 类中定义的,因此所有的类都继承了它。子类覆盖finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。

每日一问|今日问题

在Java中,JVM的内存结构是什么样的? 

问题答案将会在下期系列文章中给出,希望大家都能养成独立思考的好习惯,先自己思考一下问题的答案。大家可以加我微信:hntkyxy,把自己的答案发给我,在下期文章中可能会附上你的答案。

640?wx_fmt=jpeg

长按二维码识别关注

640?wx_fmt=gif

猜你喜欢

转载自blog.csdn.net/qq_23853743/article/details/102774197