学妹一反常态主动联系我,我要不要答应帮她?

学妹一反常态主动联系我,我要不要答应帮她?

之前在学校举办的活动上,认识了一个学妹。我死磨硬泡终于加了她的微信,经常给她发微信。
可是她总是对我爱答不理的,我心里总有一天让你高攀不起,后来就很少联系了。今天突然主动联系我:

这么久没联系了,一上来就让我帮忙?这照片拍的,手抖的像是得了帕金森似的,字都有重影。

放大照片仔细看,这应该是某大厂的笔试题吧。

这些题都不是很难,答案脱口而出。

面向对象的三个特性分别是哪些?

封装

封装是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。

继承

继承是让某个类获得另一个类的属性和方法。它可以使用现有类的除了私有以外的所有功能,不需要重新编写原来的类的情况下对这些功能进行扩展。

多态

多态是一个类实例的相同方法在不同情形有不同表现形式,多态机制使具有不同内部结构的对象可以共享相同的外部接口。

什么是双亲委派模型?

类加载器收到类加载的请求后,它不会首先自己去尝试加载这个类,而是把这个请求委派给父类加载器去尝试加载。

只有当父类加载器反馈自己无法完成这个加载请求(它的搜索范围中没有找到所需的类)时,子加载器才会尝试自己去加载。

JVM的内存分几个区域?

程序计数器

当前线程所执行的字节码的行号指示器。

虚拟机栈

Java方法执行的内存模型,用于存储局部变量表、操作数栈、动态链接、方法出口等信息。

本地方法栈

本地方法执行的内存模型,和虚拟机栈非常相似,其区别是本地方法栈为JVM使用到的Native方法服务。

用于存储对象实例,是垃圾收集器管理的主要区域。

方法区

用于存储已被JVM加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。

JVM是如何判断对象是否可以被回收的?

一个对象到GC Roots没有任何引用链相连,JVM就可以对这些对象进行回收了。

要是再答上哪些是 GC Roots就更加分了:

  • Java虚拟机栈中引用的对象
  • 本地方法栈中引用的对象
  • 静态属性引用的对象
  • 常量引用的对象

分代垃圾回收器是如何工作的?

堆被划分为年轻代Young Generation)和老年代(Old Generation)。

年轻代又被划分为一个Eden区和两个Survivor区,大部分对象在Eden区中生成。当Eden空间不足时,触发Minor GC,Eden空间和一个Survivor区中存活的对象将被转移到另外一个Survivor区。

移动时存活的对象年龄加1,当年龄到达指定值后移动到老年代。当老年代空间不足时,触发Full GC,回收整个堆的垃圾。

由此我不禁想起了《倚天屠龙记》的一句台词:

如果是你,你会怎么做?在评论区告诉我!

微信公众号:万猫学社

微信扫描二维码

关注后回复「电子书」

获取12本Java必读技术书籍

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 学妹一反常态主动联系我,我要不要答应帮她?