近段时间在准备实习的面试,在网上看到很多面试题,就慢慢试着做,争取每天积累一点点。
暂时完成答案编写的面试题有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/