首页 > 编程知识 正文

java中级开发面试题,中高级java面试题及答案

时间:2023-05-05 05:12:12 阅读:125704 作者:142

在我们对java进行了一定程度的基础学习后,中级水平的能力会进一步提高。 对于初级和中级来说,后者除了对基础java的内容掌握能力强外,对一些知识点的比较分析和原理解剖都有理解能力。 本篇整理了一下java中级考试问题,选出了几个典型的高频考试问题,让我们来看看具体的内容。

1 .比较接口和抽象类的语法差异

)抽象类有构建方法,接口不能有构建方法。

)2)抽象类可以有普通成员变量,接口中没有普通成员变量! (一般,即侧重于非静态和变量)

)3)抽象类可以包含非抽象的一般方法,接口中的所有方法都必须是抽象的,不能有非抽象的一般方法。

)4)对抽象类中抽象方法的访问类型可以是public,protected,(缺省类型为eclipse未报告错误,但应该不是) )接口中的抽象方法

2 .混合映射、链接混合映射、三重映射的区别

(1) HashMap、LinkedHashMap和TreeMap均属于Map。

(2)映射的主要作用是存储一对密钥(密钥-值) -值,从而从密钥获得值,使得不允许密钥重复,但是允许值重复。

)3) HashMap是最常用的Map,可以基于密钥的HashCode值存储数据,并基于密钥直接获取其值,具有最快的访问速度。 在HashMap中,最多只有一个记录的键为Null。 多个记录允许的值为Null。 HashMap不支持线程同步。 这意味着多个线程可以随时同时写入HashMap。 有可能导致数据不一致。 如果需要同步,可以使用Collections的同步映射方法使HashMap具有同步功能。

)4)链接的HashMap也是HashMap,但内部维护双向链表,可以保持顺序。

)5) TreeMap不仅可以维持顺序,还可以用于排序;

3.Java堆和堆栈的区别

堆:(对象)

引用类型的变量必须为堆或常量池(字符串常量、基本数据类型常量)分配内存,并由new等创建。

堆内存的主要作用是存储运行时创建的(new )对象。

(主要用于存储对象,访问速度慢,可以在运行时动态分配内存,不需要预先确定生存期。)

堆栈:(基本数据类型变量,对象的引用变量)

基本数据类型的变量(int、short、long、byte、float、double、boolean、char等)和对象的引用变量将分配给堆栈,并在变量超出范围时自动生成

4 .内存溢出是什么意思?

虽然有对对象的引用,但无法使用的是内存溢出。

GC机制:复制回收、标记清除、引用计数(由于存在循环引用会影响垃圾回收,因此JVM虚拟机没有采用此方法。

5 .有哪些垃圾回收算法?

垃圾回收在理论上非常简单易懂,具体方法有以下4种。 (1)标志-清除; )2)标志-复印件;3 )标志-整理;4 )分代回收

6 .谈谈对存储过程的理解

存储过程:存储过程是编译的sql语句的一部分。

存储过程的执行速度更快,因为SQL语句是预编译的。

保证数据的安全性和完整性。 存储过程允许未经授权的用户在控制下间接访问数据库,从而确保数据安全。 存储过程允许您一起执行相关操作,以维护数据库的完整性。

可以减少网络流量。 存储过程主要在服务器上运行,以减少对客户端的压力。

存储过程可以接受参数、输出参数、单个或多个结果集和返回值。 可以将错误的原因返回给程序。

存储过程可以包含对程序流、逻辑和数据库的查询。 也可以物理封装和隐藏数据逻辑。

7 .数据库连接池是什么意思

与数据库进行交互(例如关闭数据库连接)可能需要很长时间。 客户端数量增加,尤其是占用大量资源,成本非常高。 启动APP应用程式伺服器时,可以建立许多资料库连线,并将其维持在一个集区中。 连接请求由池中的连接提供。 连接使用后,将连接返回池以满足未来的请求。

8 .实现8.HashMap的基础

首先,每个元素都是链表,可能表示不准确。 添加元素" key-value "时,首先计算元素key的散列值,以确定其插入数组的位置。 但是,可能存在相同散列值的元素已经位于数组中的同一位置,因此将添加到具有相同散列值的元素之后。 但是,它可能位于数组的同一位置。如果链表长度太长,链表将转换为红黑树,大大提高了搜索效率。

以上是java中级考试试题的共享,掌握基础java内容后,在内容上结合java知识点的同时,试着理解一下使用原理吧。 面对答案,看看本篇的主题能否回答。 更多Java问题的路线: Java问题

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。