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


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

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

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

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

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

    封装

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

    继承

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

    多态

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

    什么是双亲委派模型?

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

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

    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必读技术书籍

    最后,感谢你的点赞关注,帅气又美丽。

  • 相关阅读:
    php数组的创建及操作
    继承的几种方式
    js对象的创建与原型总结
    对象的创建
    变量与内存
    js函数的几个特殊点
    正则表达式的几个简单验证
    数组排序sort()
    对象与数组
    js函数动态传参
  • 原文地址:https://www.cnblogs.com/heihaozi/p/15899177.html
Copyright © 2020-2023  润新知