JAVA常见基础面试问题汇集
来源:http://www.tudoupe.com时间:2022-06-24
本文总结了常见的基本的JAVA面试问题,希望能帮助每一个面试人员。
关于知识点扩展的链接已经在文章的一个月内为自己组织,这是有关知识点的详细解释。
Welcome reading and learning to progress together.
- 请参阅: CV Creation - Knowledge Sharing
- JAVA Framework Interview Knowledge Point 参考:JAVA Framework Interview Collection

- 1.Java的多功能性能在哪里?
- 多模式具有动态绑定,否则不是多模式,方法重载不是多模式(因为方法重载对于编译周期是好的,在后一个周期,即运行周期中没有动态绑定)
- 多个状态满足三个条件
1.继承2.重写3.必须有一个向子类对象指向的父引用
- 2.抽象类与接口之间的区别
- (1)
一个类只能继承一个抽象类,一个类可以实现多个接口 - 抽象类中可以有非抽象的方法,而接口中的方法都是抽象的方法
- 抽象类可以有私人成员变量和成员方法,而接口中的方法都是默认修改到公共抽象类型的方法
- (4)在实现抽象类方法时,如果该方法是抽象的,子类必须重写抽象方法;如果该方法不是抽象的,子类可以选择继承;在实现接口时,在接口中的所有方法必须重写
- 3.解释方法重写和方法重载
- 方法重写:
当子类继承母项时,它与母项中的方法有相同的方法名称,返回类型和参数的列表,子类方法覆盖母项的原始方法。方法重写特性:方法重写的返回值、方法名称和参数列表必须完全一致。 - 方法重载:
多个函数在类中都有相同的名称,参数列表则不同。.不同的参数列表包含不同的参数数目和类型。
4.==和等于()之间的差
①关于==解读:
基本数据类型:比较是值是否相同参考数据类型:比较参考(地址)是否相同2 关于 平等 的 解释 :
重写等式方法的参考数据类型:比较是值是否相同对于未写的参考数据类型,源继承对象的等式方法等于==,即参考(地址)是否相同补充源码:

- 5.&与&&的区别
- ①
&与&&都可以用做逻辑与运算符当运算子的两边表达式的结果是正确的时,整个运算的结果是正确的或错误的 - ②
&&具有短路功能也就是说,如果第一个表达式是错误的,第二个表达式不再计算 - ③
&还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作
- (英译汉)最后和最后的区别是什么?
- ①
最后修改的类不能继承,最后修改的方法不能重写,最后修改的变量不能继承。 - 最后: 句子的结构的异常处理部分,总是执行.
- 3完成:对象类中的一种方法,在执行垃圾收集器时调用检索对象,并且可以覆盖在提供垃圾收集时检索的其他资源,如关闭文件等。
- 7.StringBuffer与StringBuilder之间的区别
常考 - 最主要的:
StringBuffer,字符串建构器 - 请参阅我的文章:StringBuffer和StringBuilder的采访细节
- 同步参考:结构介绍和常见面试问题
- 8.ArrayList与LinkedList之间的区别
关系: ArrayList和LinkedList是列表接口的实现类,每个类都代表一个单值的重复元素集合
- 1ArrayList是一个基于群的实现,其中元素在查询和修改方面更有效,但元素在插入和删除方面更不有效。
- 2LinkedList是基于链接表的实现,它在插入和删除元素方面更有效,但在查询和修改元素方面更不有效。
- 详情请参阅我的文章:列表和设置设置基本细节
9.HashMap和ConcurrentHashMap有什么区别?
- 1 联系: HashMap 和 ConcurrentHashMap 是基于 Hashmap ( 集合 、 链 、 红树和黑树 ) 存储的。
- ②区别:
HashMap不是线性安全,而ConcurrentHashMap是线性安全,它增加了基于HashMap的分段锁定的概念,也就是说,创建的地图的初始集合中的每个元素是段,当操作由字符串A执行到关键值时,只锁定当前段,不影响其他块的运行,提高地图在多线性合作的效率。 - 要了解HashMap,请参阅:HashMap原理分析和性能优化
十个常见异常的列表
NullPointerException空指针异常, ClassNotFoundException类不能找到异常
算术例外, IndexOutOfBoundsException。
IllegalArgumentException, FileNotFoundException文件未找到。
NumberFormatException字符串转换为数值异常,EOFException文件终止异常
SQLException操作数据库异常,IOException输入和输出异常
- 过程与线之间的区别
- 进程是资源分配的最小单位,线程是程序执行(资源调度)的最小单位。

- 请参阅: 有关过程和主题的常见面试问题
- 12.线程的状态
常考 - ①
新建状态(New)创建线程对象时输入新状态 - ②
可运行当调用线程对象的start()方法时,线程进入非主动状态并等待CPU调用 - ③
运行当CPU开始调用处于主动状态的线程时,线程进入运行状态 - ④
封锁由于某种原因,一个线程处于运行状态暂时放弃CPU使用和暂停执行,即进入阻塞状态,直到它输入准备状态时,就可以访问CPU的日程表并输入运行状态,根据阻塞的原因,单元状态分为等待单元、同步单元和其它单元(睡眠、连接)。 - ⑤
死亡run() 方法在执行线程后或由于例外而退出,线程的生命周期结束 - 补充:
建议了解创建一个线程的三个方法!

- 详细的参考资料: 有关过程和线程的常见面试问题
13.线程库和工作原理的简要说明
线程池是一个管理线程的容器,它首先启动数个线程,然后让它们全部睡觉。当客户端有一个新请求时,它会唤醒一个线程池的睡眠线程,允许它处理客户端的请求,并且当请求完成时,线程再次处于睡眠状态
小结:
线程库是面向后端的,以提高内存和CPU效率。
- 14.MySQL数据库索引原则的总结
- 定义:索引是一个帮助MySQL取得数据的数据结构。
- 原理:传统的查询方法是按表顺序搜索,添加索引可以根据BTREE算法生成索引文件,在查询数据库中搜索索引文件,搜索相应的键,获取数据。
- MYSQL进度请参阅:MYSQL性能优化
- 15.数据库交易的四个特征,并解释
- 原性:交易中的若干步骤要么是完成的,要么不是完成的
- 一致性:数据库中的数据的完整性和一致性不能在交易开始前和交易完成后受到损害
- 3分离:数据库允许多个交易合并,但多个交易不能相互兼容,导致数据不一致,同时多个交易不能相互影响
- 4 持久性:一旦交易完成,数据的运行是永久的
- (英译汉)事物的分离程度
- 未承诺的读取: 读取另一个未承诺的事务的数据的事务.
- 阅读承诺: 在阅读数据之前等待提交另一项交易的事务。
- 重复读取: 在开始读取数据时,不能修改操作。
- 序列化: highest transaction isolation level, where transactions are serialized in order to avoid dirty reading, non-repeatability, and phantom reading, but this transaction isolation level is less efficient, consumes more database performance, and is generally not used.
17.总结数据库连接池
数据库连接池是一个管理数据库连接的容器数据库连接是一个关键的、有限的、昂贵的资源。数据库连接对象与物理数据库连接相符。每个操作都会打开物理连接,并在使用后关闭连接。作用:
连接池技术尽可能重用基于存储资源的消耗,大大节省存储量,提高基于服务器的服务效率,支持更多的客户服务.使用连接池将大大提高程序的性能,同时我们可以通过自己的管理机制监测数据库连接数目、使用情况等。小结:
连接池为数据库连接优化数据库连接资源
- 18.机车寿命周期
常考
Servlet是一个单个实例多线性,从开始到结束只创建一个对象来响应用户请求。
①如果 web.No load-on-startup 配置在xml中,当用户第一次请求到达时,创建servlet类对象,然后使用对象调用服务(ServletRequest, ServletResponse)—service(HttpServletRequest, HttpServletResponse)—doGet/doPost方法来响应用户请求;当用户请求再次到达时,不会重新创建对象,直接使用创建对象来调用service-service-doGet/doPost来响应。②
如果 web.The load-on-startup 配置 Servlet 在xml中当服务器启动时,它在启动时装载配置顺序中创建Servlet对象,并且当请求到达时,它直接使用对象调用 service-service-doGet/doPost方法。
③当服务器关闭时摧毁服务器对象实例
- 参考文献:机车寿命周期和机车类描述
- 19.九个主要内部目标的概要
尽管JSP很少使用,但应该了解一些内部对象 - 请求对象代表客户端的请求信息,主要用于接受通过HTTP协议向服务器发送的数据。
- 对象代表服务器对客户端的响应,主要将由JSP容器处理的数据转移到客户端的域:在JSP页面
- 当客户端打开浏览器并连接到服务器时,会议开始,当客户端关闭浏览器并离开服务器时结束。
- 当服务器打开时创建应用程序全球对象,当服务器关闭时摧毁。所有用户共享全球对象
- out表示输出流,指向当前JSP页,可以由对象写到指定的JSP文件的位置
- 该网页代表JSP本身,仅在JSP网页内合法
- 配置这个对象的功能是获取服务器上当前页面的配置信息
- 仅当该页是 isErrorPage,即编译的指令页
如果属性是正确的,则该对象可以被使用。 - pageContext函数获取任何范围内的参数,通过这些参数可以获取JSP页的其他对象
- (英译汉)说你了解反思的机理
- JAVA反射机制处于运行状态,任何实体类都可以知道该类的所有属性和方法;任何对象可以调用该类的任何方法和属性;
动态信息获取和动态对象调用方法的功能称为Java语言反射机制。 - 应用: 动态代理反向代码基框架广泛用于通过反射机制获取注释信息.
- 21. 收藏品 和 收藏品 之间 有什么 区别?
集合:集合类的上层接口继承及其接口主要是设置和列表.集合:集合类的帮助类它提供了一系列的静态方法来实现各种集合的搜索、序列和线程安全操作。
- 22.TCP和UDP之间的区别:
TCP(传输控制协议)基于连接的协议意味着,在数据发送之前,必须与另一方建立可靠的连接。UDP(用户数据协议)UDP是一个不连接的协议,在数据传输之前不能建立源与端口之间的连接。(不安全)
- 1.基于连接,没有连接;
- 2. 系统 资源 的 要求 ( 多 的 TCP 、 少 的 UDP ) ;
- 3.UDP程序结构更简单;
- 4.流动模式和数据报告模式;
- 5.TCP保证数据准确性,UDP可能会丢失数据包,TCP保证数据订单,UDP不会。
- 23. cookie 和 សម័យ 之间 的 区别, 分布式 环境 如何 存储 用户 状态 ;
- ①
在服务器上存储的会议客户不了解其中所载的资料;在客户端存储的Cookie服务器能够知道里面的信息。 - 对象存储在第2阶段,字符串存储在cookie中。
- 3session不能区分路径,在同一用户访问网站时,所有សម័យ都可以访问任何地方。
如果路径参数设置,则在同一网站的不同路径下的cookie无法相互访问。 - 4session要求cookie正常运行。 如果客户端完全禁止cookie,会被禁用。
- 了解Cookie与សម័យ的区别(简介)
- 等待与睡眠之间的区别;
我面试的时候考的 - ①
sleep()是线程类中的方法, wait()是对象类中的方法。 - ②
睡眠方法使程序停顿,但他的监控状态依然存在当指定的时间达到时,运行状态将自动恢复。 在调用 sleep()方法的过程中,线程不会释放对象锁。 - ③
等待()方法使得线程放弃对象锁并输入等待锁定池等待这个对象,该线程仅在调用该对象的通知()方法后才进入对象锁定池,并且已经准备好将对象锁定到运行状态。
25. HashMap存储过程的总结
HashMap中的键对基于Hash表(数字+链表+二进制树)存储。1.当我们创建HashMap集合时,默认创建一个具有16个初始长度的集合(负载因子为0)。75;
2.当我们将一个键对添加到HashMap时,我们首先从键对的Hash代码中提取一个长度,以确定在地图中的键对的位置
3.当这个位置有多个关键值匹配时,存储链表的结构;
4.在JDK8中,当链表长于8时,链表结构被转换为存储的二进制树
扩容原理:当map的数组中元素超过数组长度的75%时,表示需要扩容(扩容算法<<1),每次扩容都会导致对所有键值对进行重新排列,会影响map的性能,所以在实际开发中要尽量避免无谓的扩容。
- 有关HashMap性能的详细资料,请参阅:HashMap原理分析和性能优化
- 我已经解决了有关雷迪斯的问题:雷迪斯的基本面试知识
Thank you very much for your reading. I hope we can all be good programmers.
2020.3.12 那天的第26个博客谢谢~
相关新闻
- 2023-04-16 2台电脑怎么共享(2台电脑怎么共享
- 2023-04-16 主板检测卡代码(电脑主板检测卡代
- 2023-04-16 dnf未响应(dnf未响应老是上不去)
- 2023-04-16 ppoe(pppoe拨号上网)
- 2023-04-16 网速不稳定(网速不稳定是路由器的
- 2023-04-16 wds状态(Wds状态成功)
- 2023-04-16 光标键(光标键不动了怎么办)
- 2023-04-16 电脑提速(电脑提速100倍的方法)
- 2023-04-16 切换用户(切换用户怎么切换回来
- 2023-04-16 数据包是什么(产品数据包是什么
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
