加入收藏 | 设为首页 | 会员中心 | 我要投稿 辽源站长网 (https://www.0437zz.com/)- 云专线、云连接、智能数据、边缘计算、数据安全!
当前位置: 首页 > 运营中心 > 交互 > 正文

40道Java基础常见面试题及详细答案

发布时间:2021-01-01 03:06:03 所属栏目:交互 来源:网络整理
导读:最近看到网上流传着各种面试经验及面试题,往往都是一大堆技术题目贴上去,但是没有答案。 为此我业余时间整理了40道Java基础常见的面试题及详细答案,望各路大牛发现不对的地方不吝赐教,留言即可。 八种基本数据类型的大小,以及他们的封装类 引用数据类型
副标题[/!--empirenews.page--]

最近看到网上流传着各种面试经验及面试题,往往都是一大堆技术题目贴上去,但是没有答案。

为此我业余时间整理了40道Java基础常见的面试题及详细答案,望各路大牛发现不对的地方不吝赐教,留言即可。

  1. 八种基本数据类型的大小,以及他们的封装类
  2. 引用数据类型
  3. Switch能否用string做参数
  4. equals与==的区别
  5. 自动装箱,常量池
  6. Object有哪些公用方法
  7. Java的四种引用,强弱软虚,用到的场景
  8. Hashcode的作用
  9. HashMap的hashcode的作用
  10. 为什么重载hashCode方法?
  11. ArrayList、LinkedList、Vector的区别
  12. String、StringBuffer与StringBuilder的区别
  13. Map、Set、List、Queue、Stack的特点与用法
  14. HashMap和HashTable的区别
  15. JDK7与JDK8中HashMap的实现
  16. HashMap和ConcurrentHashMap的区别,HashMap的底层源码
  17. ConcurrentHashMap能完全替代HashTable吗
  18. 为什么HashMap是线程不安全的
  19. 如何线程安全的使用HashMap
  20. 多并发情况下HashMap是否还会产生死循环
  21. TreeMap、HashMap、LindedHashMap的区别
  22. Collection包结构,与Collections的区别
  23. try?catch?finally,try里有return,finally还执行么
  24. Excption与Error包结构,OOM你遇到过哪些情况,SOF你遇到过哪些情况
  25. Java(OOP)面向对象的三个特征与含义
  26. Override和Overload的含义去区别
  27. Interface与abstract类的区别
  28. Static?class?与non?static?class的区别
  29. java多态的实现原理
  30. foreach与正常for循环效率对比
  31. Java?IO与NIO
  32. java反射的作用于原理
  33. 泛型常用特点
  34. 解析XML的几种方式的原理与特点:DOM、SAX
  35. Java1.7与1.8,1.9,10 新特性
  36. 设计模式:单例、工厂、适配器、责任链、观察者等等
  37. JNI的使用
  38. AOP是什么
  39. OOP是什么
  40. AOP与OOP的区别

八种基本数据类型:int、short、float、double、long、boolean、byte、char。

封装类分别是:Integer、Short、Float、Double、Long、Boolean、Byte、Character。

引用数据类型是由类的编辑器定义的,他们是用于访问对象的。这些变量被定义为不可更改的特定类型。

例如:Employee, Puppy 等等

  • 类对象和数组变量就是这种引用数据类型。
  • 任何引用数据类型的默认值都为空。
  • 一个引用数据类型可以被用于任何声明类型和兼容类型的对象。

jdk7之前?switch 只能支持 byte、short、char、int 这几个基本数据类型和其对应的封装类型。

switch后面的括号里面只能放int类型的值,但由于byte,short,char类型,它们会?自动?转换为int类型(精精度小的向大的转化),所以它们也支持。

jdk1.7后?整形,枚举类型,字符串都可以。

原理

? ? ? jdk1.7后,整形,枚举类,字符串都可以。

? ? ??? ? ? ? 为什么jdk1.7后又可以用string类型作为switch参数呢?

其实,jdk1.7并没有新的指令来处理switch string,而是通过调用switch中string.hashCode,将string转换为int从而进行判断。

使用==比较原生类型如:boolean、int、char等等,使用equals()比较对象。

1、==是判断两个变量或实例是不是指向同一个内存空间。 equals是判断两个变量或实例所指向的内存空间的值是不是相同。

2、==是指对内存地址进行比较。 equals()是对字符串的内容进行比较。

(编辑:辽源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读