百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

硬核!Java 基础知识常见面试题总结!(100题附答案)

mhr18 2025-01-20 14:56 14 浏览 0 评论

知识点:

  • Java基础知识 Java数据类型 Java字符串 Java运算 Java面向对象 Java关键字 Java反射 Java异常 Java泛型 Java注解
  • Java集合框架 List Set Map ArrayList LinkedList HashMap HashSet ConcurrentHashMap LinkedHashMap WeakHashMap Vector Collection Queue
  • Java虚拟机-JVM Java内存区域 JVM垃圾回收 JVM垃圾回收算法 JVM垃圾回收器 JDK 监控和故障处理工具 Java类文件结构 Java类加载过程 Java类加载器 Java双亲委派模型 自定义类加载器 程序计数器 虚拟机栈 本地方法栈 jvm-堆
  • Java IO BIO NIO AIO



面试题

  1. Java 的8种基本数据类型 及其大小?
  2. Java 基本类型与引用类型的区别?
  3. 自动装箱和拆箱?
  4. Int 与 Integer的区别?
  5. String 转成 int 型,判断能不能转?如何转?
  6. Java 语言有哪些特点?
  7. short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 +=1;有什么错?
  8. 字节与字符的区别?
  9. 面向对象和面向过程的区别
  10. JDK 和 JRE 的区别?
  11. Oracle JDK 和 OpenJDK 的区别?
  12. 重载和重写的区别?
  13. String 和 StringBu?er、StringBuilder 的区别是什么?
  14. String 为什 么是不可变的?
  15. 字符型常量和字符串常量的区别
  16. Java 面向对象编程三大特性?
  17. 抽象类和接口的区别是什么?
  18. 成员变量与局部变量的区别有哪些?
  19. == 与 equals 的区别?
  20. hashCode 与 equals ?为什么重写equals时必须重写hashCode方法?
  21. ?nal 关键字的理解
  22. Object类的常见方法总结
  23. 说一说自己对于 synchronized 关键字的理解 ?
  24. 讲一下 synchronized 关键字的底层原理 ?
  25. AQS 组件总结
  26. 介绍下 Java 内存区域(运行时数据区) ?
  27. Java 对象的创建过程?
  28. 对象的访问定位的两种方式
  29. 如何判断对象是否死亡(两种方法)?
  30. 简单的介绍一下强引用、软引用、弱引用、虚引用(虚引用与软引用和弱引用的区别、使用软引用能带来的好处)?
  31. 如何判断一个常量是废弃常量 ?
  32. 如何判断一个类是无用的类?
  33. Java垃圾收集有哪些算法,各自的特点?
  34. HotSpot为什么要分为新生代和老年代?
  35. 常见的垃圾回收器有那些?
  36. 介绍一下CMS,G1收集器?
  37. Minor Gc和Full GC 有什么不同呢?
  38. 请谈谈你对JVM的理解?
  39. Java和C++的区别?
  40. 什么是 Java 程序的主类 应用程序和小程序的主类有何不同?
  41. Java 应用程序与小程序之间有哪些差别?
  42. 构造器 Constructor 是否可被 override?
  43. 在一个静态方法内调用一个非静态成员为什么是非法的?
  44. 在 Java 中定义一个不做事且没有参数的构造方法的作用?
  45. import java和javax有什么区别?
  46. 创建一个对象用什么运算符?对象实体与对象引用有何不同?
  47. 什么是方法的返回值?返回值在类的方法里的作用是什么?
  48. 一个类的构造方法的作用是什么? 若一个类没有声明构造方法,该程序能正确执行吗? 为什么?
  49. 构造方法有哪些特性?
  50. 静态方法和实例方法有何不同
  51. 对象的相等与指向他们的引用相等,两者有什么不同?
  52. 在调用子类构造方法之前会先调用父类没有参数的构造方法,其目的是?
  53. 为什么Java中只有值传递?
  54. 简述线程、程序、进程的基本概念。以及他们之间关系是什么?
  55. 线程有哪些基本状态?
  56. Java 中的异常处理?
  57. Java序列化中如果有些字段不想进行序列化,怎么办?
  58. 获取用键盘输入常用的两种方法?
  59. Java 中 IO 流分为几种?
  60. 既然有了字节流,为什么还要有字符流?
  61. BIO,NIO,AIO 有什么区别?
  62. static 关键字的理解?
  63. this 关键字的理解?
  64. super 关键字的理解
  65. 深拷贝与 浅拷贝的区别?
  66. BIO (Blocking I/O)?
  67. NIO (New I/O)
  68. AIO (Asynchronous I/O)
  69. 说说List,Set,Map三者的区别?
  70. Arraylist 与 LinkedList 区别?
  71. RandomAccess接口?
  72. 双向链表和双向循环链表?
  73. ArrayList 与 Vector 区别呢?为什么要用Arraylist取代Vector呢?
  74. 说一说 ArrayList 的扩容机制吧?
  75. HashMap 和 Hashtable 的区别
  76. HashMap 和 HashSet区别?
  77. HashSet如何检查重复
  78. HashMap的底层实现?
  79. HashMap 的长度为什么是2的幂次方?
  80. HashMap 多线程操作导致死循环问题?
  81. ConcurrentHashMap 和 Hashtable 的区别?
  82. ConcurrentHashMap线程安全的具体实现方式? 底层具体实现原理?
  83. comparable 和 Comparator的区别?
  84. 集合框架底层数据结构总结一下?
  85. 从 JVM 角度说进程和线程之间的关系
  86. 程序计数器为什么是私有的?
  87. 虚拟机栈和本地方法栈为什么是私有的?
  88. 一句话简单了解堆和方法区
  89. 说说并发与并行的区别?
  90. 为什么要使用多线程?
  91. 使用多线程可能带来的问题?
  92. 说说线程的生命周期和状态?
  93. 说说线程优先级?
  94. 守护线程和用户线程的区别?
  95. 什么是上下文切换?
  96. 什么是线程死锁?如何避免死锁?
  97. 请概述一下Java 类文件结构?
  98. 请总结一下Class 文件结构?
  99. JVM 配置常用参数有哪些?
  100. 常用 GC 调优策略有哪些?

参考答案:http://www.mianshigee.com/topic/1000xkh/

相关推荐

甲骨文签署多项大型云协议,其一未来可贡献超300亿美元年收入

IT之家7月1日消息,根据甲骨文Oracle当地时间6月30日向美国证券交易委员会(SEC)递交的FORM8-K文件,该企业在始于2025年6月1日的202...

甲骨文获TEMU巨额合同,后者大部分基础设施将迁移至Oracle云

IT之家6月23日消息,Oracle甲骨文创始人、董事长兼首席技术官LarryEllison(拉里埃里森)在本月早些时候的2025财年第四财季和全财年财报电话会议上表示,Oracle...

Spring Boot 自定义数据源设置,这些坑你踩过吗?

你在使用SpringBoot进行后端开发的过程中,是不是也遇到过这样的问题:项目上线后,数据库连接总是不稳定,偶尔还会出现数据读取缓慢的情况,严重影响了用户体验。经过排查,发现很大一部分原因竟然...

一个开箱即用的代码生成器(一个开箱即用的代码生成器是什么)

今天给大家推荐一个好用的代码生成器,名为renren-generator,该项目附带前端页面,可以很方便的选择我们所需要生成代码的表。首先我们通过git工具克隆下来代码(地址见文末),导入idea。...

低代码建模平台-数据挖掘平台(低代码平台的实现方式)

现在来看一下数据连接。·这里是管理数据连接的空间,点击这里可以新增一个数据连接。·输入连接名称,然后输入url,是通过gdbc的方式去连接的数据库,目前是支持mysql、oracle以及国产数据库达梦...

navicat 17.2.7连接oracle数据库提示加载oracle库失败

系统:macOS15.5navicat版本:navicatpremiumlite17.2.7连接oracle测试报错:加载oracle库失败【解决办法】:放达里面找到程序,显示简介里面勾选“使...

开源“Windows”ReactOS更新:支持全屏应用

IT之家6月17日消息,ReactOS团队昨日(6月16日)在X平台发布系列推文,公布了该系统的最新进展,包括升级Explorer组件,支持全屏应用,从Wine项目引入了...

SSL 推出采用全模拟内置混音技术的模拟调音台Oracle

英国调音台传奇品牌SolidStateLogic宣布推出Oracle——一款采用全模拟内置混音技术的调音台,在紧凑的AWS尺寸机箱内集成了大型调音台的功能。该调音台提供24输入和...

47道网络工程师常见面试题,看看有没有你不会的!

你们好,我的网工朋友。网络工程师面试的时候,都会被问到什么?这个问题其实很泛,一般来说,你肯定要先看明白岗位需求写的是什么。基本上都是围绕公司需要的业务去问的。但不可否认的是,那些最基础的概念,多少也...

汉得信息:发布EBS系统安装启用JWS的高效解决方案

e公司讯,从汉得信息获悉,近日,微软官方宣布InternetExplorer桌面应用程序将于2022年6月15日正式停用。目前大部分客户都是使用IE浏览器打开EBS的Form界面,IE停用后,只能使...

36.9K star ! 推荐一个酷炫低代码开发平台!功能太强!

前言最近在逛github,看看能不能搜罗到一些对自己有帮助的开源软件。不经意间看到一个高star的java开源项目:jeecg-boot。进入在线演示版一看,感叹实在是太牛了!此开源项目不管是给来学习...

Linux新手入门系列:Linux下jdk安装配置

本系列文章是把作者刚接触和学习Linux时候的实操记录分享出来,内容主要包括Linux入门的一些理论概念知识、Web程序、mysql数据库的简单安装部署,希望能够帮到一些初学者,少走一些弯路。注意:L...

手把手教你在嵌入式设备中使用SQLite3

摘要:数据库是用来存储和管理数据的专用软件,使得管理数据更加安全,方便和高效。数据库对数据的管理的基本单位是表(table),在嵌入式linux中有时候它也需要用到数据库,听起来好难,其实就是几个函数...

JAVA语言基础(java语言基础知识)

一、计算机的基本概念什么是计算机?计算机(Computer)全称:电子计算机,俗称电脑。是一种能够按照程序运行、自动高速处理海量数据的现代化智能电子设备。由硬件和软件组成、没有安装过任何软件的计算机称...

再见 Navicat!一款开源的 Web 数据库管理工具!

大家好,我是Java陈序员。在日常的开发工作中,常常需要与各种数据库打交道。而为了提高工作效率,常常会使用一些可视化工具进行操作数据库。今天,给大家介绍一款开源的数据库管理工具,无需下载安装软件,基...

取消回复欢迎 发表评论: