专栏首页AlbertYang的编程之路每日一问第3期 | 面试官:谈谈JVM的内存结构?

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

第2期答案

上期问题每日一问第2期 | final, finally, finalize 的区别?

问题答案:

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的内存结构是什么样的?

本文分享自微信公众号 - AlbertYang(AlbertYang666),作者:AlbertYang

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-10-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • VM虚拟机中linux centOS 联网单网卡配置教程

    真实环境和虚拟环境是隔离开的;在这种模式下,所有虚拟系统可惜相互通信,但是虚拟系统和真实网络是被隔开的,但主机可以上网。

    AlbertYang
  • Linux常用基本命令总结

    Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工...

    AlbertYang
  • 数据结构基础(一)数组,矩阵

    有一个等式,数据结构+算法=程序,说明了数据结构对于计算机程序设计的重要性。数据结构是指数据元素的集合(或数据对象)及元素间的相互关系和构造方法。数据对象中元素...

    AlbertYang
  • final、finally、finalize的区别

    final:修饰符,可以用于修饰成员、方法和类。 如果一个类被声明为final,意味着该类不能再派生出新的子类,不能作为父类被继承。因此一个类不能即被声明为ab...

    mukekeheart
  • final 、finally、finalize有什么区别

    finall 是Java中保证代码一定要被执行的一种机制,我们可以使用 try-finally 或者 try-catch-finally 来进行类似关闭JDBC...

    王小明_HIT
  • 深入理解Java中的final关键字

    Java中的final关键字非常重要,它可以应用于类、方法以及变量。这篇文章中我将带你看看什么是final关键字?将变量,方法和类声明为final代表了什么?使...

    Java团长
  • java学习之路:27.final变量,final方法,final类

    final关键字可用于变量声明,一旦改变了被设定,就不可以再改变该变量的值。通常,由final定义的变量为常量。 final关键字定义的变量必须在声明时对其进...

    花狗Fdog
  • 我去,你竟然还不会用 final 关键字

    写一篇文章容易吗?太不容易了,首先,需要一个安静的环境,这一点就非常不容易。很多小伙伴的办公室都是开放式的,非常吵,况且上班时间写的话,领导就不高兴了;只能抽时...

    沉默王二
  • 深入理解final

    java的关键字final的含义根据上下文会有一些细微的区别,通常是指“无法改变”。不想改变的原因一般有两种:设计、效率。一般用final来修饰数据、方法、类。

    三哥
  • 深入理解Java-final关键字1 修饰属性或者变量2 修饰方法3 修饰类4 final关键字的好处5 不可变类6其他重要知识点

    JavaEdge

扫码关注云+社区

领取腾讯云代金券