JAVA面试题(1)
1511
2019.07.31
2019.08.06
发布于 未知归属地

    近段时间在准备实习的面试,在网上看到很多面试题,就慢慢试着做,争取每天积累一点点。
暂时完成答案编写的面试题有200多题,我会慢慢迁移过来的。
而这200多题里面可能有重复的,但是越靠后发布的答案会越准确。分类我也数不过来,包括JAVA基础,JVM,数据库,NoSQL,设计模式,计算机网络等等,看完文章的你们也可以提出不一样的问题,我们一起学习~

  • JDK 和 JRE 区别
    • JDK全名为Java development kit
    • JRE全名为Java Runtime environment
    • JDK包括JRE,编译器javac,以及很多调试和分析工具,例如jconsole等等
    • Java程序运行环境必须有JRE
  • ==和equals的区别
    • 在基本数据类型对比中,==用于对比两者是否相等,没有equals的适用
    • equals是Object类的实例方法,若子类没有重写equals方法,则跟==作用一致
    • 在引用数据类型对比中,==用于对比实例内存地址是否相同,若引用都指向同一对象,则返回true
    • 在引用数据类型对比中,euqals的返回值取决于重写逻辑
  • 两个对象的 hashCode()相同,则 equals()也一定为 true,对吗
    • equals用于对比对象间是否相等
    • hasCode则是给对象返回一个hash code值
    • 在使用Object默认的hasCode以及equals时,equals返回为true
    • 若hasCode或equals任一方法被重写,返回的结果取决于重写逻辑的实现
  • final 在 Java 中作用
    • final可以修饰类,方法,变量
    • final修饰类,则该类不能被继承,且类内所有方法自动指定为final方法
    • final修饰方法,则该方法不能被继承,类内private隐式指定为final方法
    • final修饰基本数据类型变量,则该变量需在定义时指定初始值,且后续该值不能被改变
    • final修改引用类型的变量,则该变量不能再指向其他对象。
    • final修饰变量,在编译时JVM已经将他作为常量,存放于常量池中

    本文首发于cartoon的博客
转载请注明出处:https://cartoonyu.github.io/cartoon-blog/post/interview-question/java-interview-question1/

评论 (0)