java中级考试 考点_java中级面试题的考点「建议收藏」

java中级考试 考点_java中级面试题的考点「建议收藏」在我们对java有一定的基础学习后,能力再往上升一些就是中级。对于初级和中级来说,后者除了对于基础java内容把握能力强外,在一些知识点的比较分析和原理解剖上有所理解能力。本篇就java中级面试题进行了整理,挑出了一些典型的高频试题,都来看看具体内容吧。1.比较接口和抽象类的语法区别(1)抽象类可以有构造方法,接口中不能有构造方法。(2)抽象类中可以有普通成员变量,接口中没有普通成员变量!!!(注…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

9a2r+kE0pNqMhS4yXhfBmNaILLbFLtkQNZDhn4OGErBAr8ehubNGdiwvOCjAn+K7ZadmL8yWLA0HFLjZ1PGasFOzJgJL8trhYSd1S5CELB8lICmXpTAscQUibJjFgOkKnLBDwILNesmHNXXOIv4NTr1B9T0qizsAAAAASUVORK5CYII=

在我们对java有一定的基础学习后,能力再往上升一些就是中级。对于初级和中级来说,后者除了对于基础java内容把握能力强外,在一些知识点的比较分析和原理解剖上有所理解能力。本篇就java中级面试题进行了整理,挑出了一些典型的高频试题,都来看看具体内容吧。

1.比较接口和抽象类的语法区别

(1)抽象类可以有构造方法,接口中不能有构造方法。

(2)抽象类中可以有普通成员变量,接口中没有普通成员变量!!!(注意重点在普通,即非静态和变量)

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

(4)抽象类中的抽象方法的访问类型可以是public,protected和(默认类型,虽然eclipse下不报错,但应该也不行),但接口中的抽象方法只能是public类型的,并且默认即为public abstract类型。

2.HashMap,LinkedHashMap,TreeMap的区别

(1)HashMap,LinkedHashMap,TreeMap都属于Map。

(2)Map的主要作用是用于存储键(key)值(value)对,根据键得到值,因此不允许键重复,但允许值重复。

(3)HashMap是一个最常用的Map,它根据键的HashCode值存储数据,根据键可以直接获取它的值,具有最快的访问速度。HashMap最多只允许一条记录的键为Null;允许多条记录的值为Null;HashMap不支持线程的同步,即任一时刻可以有多个线程同时写HashMap;可能会导致数据的不一致。如果需要同步,可以用Collections的synchronizedMap方法使HashMap具有同步的能力。

(4)LinkedHashMap也是一个HashMap,但是内部维持了一个双向链表,可以保持顺序;

(5)TreeMap不仅可以保持顺序,而且可以用于排序;

3.Java中堆和栈有什么不同

堆:(对象)

引用类型的变量,其内存分配在堆上或者常量池(字符串常量、基本数据类型常量),需要通过new等方式来创建。

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

(主要用于存放对象,存取速度慢,可以运行时动态分配内存,生存期不需要提前确定)

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

基本数据类型的变量(int、short、long、byte、float、double、boolean、char等)以及对象的引用变量,其内存分配在栈上,变量出了作用域就会自动释放。

4. 内存溢出是怎么回事?

对象有被指向的引用,但是再也用不到它就是内存溢出了。

GC机制:复制回收,标记清除,引用计数(如果有循环引用后,会影响垃圾回收,所以JVM虚拟机没有采用此方法进行垃圾回收)。

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

垃圾回收从理论上非常容易理解,具体的方法有以下四种:(1)标记-清除;(2)标记-复制;(3)标记-整理;(4)分代回收

6.说一下对存储过程的理解

存储过程:存储过程就是编译好了的一些sql语句。

存储过程因为SQL语句已经预编绎过了,因此运行的速度比较快。

可保证数据的安全性和完整性。通过存储过程可以使没有权限的用户在控制之下间接地存取数据库,从而保证数据的安全。通过存储过程可以使相关的动作在一起发生,从而可以维护数据库的完整性。

可以降低网络的通信量。存储过程主要是在服务器上运行,减少对客户机的压力。

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

存储过程可以包含程序流、逻辑以及对数据库的查询。同时可以实体封装和隐藏了数据逻辑。

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

像打开关闭数据库连接这种和数据库的交互可能是很费时的,尤其是当客户端数量增加的时候,会消耗大量的资源,成本是非常高的。可以在应用服务器启动的时候建立很多个数据库连接并维护在一个池中。连接请求由池中的连接提供。在连接使用完毕以后,把连接归还到池中,以用于满足将来更多的请求。

8.HashMap的底层实现

首先有一个每个元素都是链表(可能表述不准确)的数组,当添加一个元素(key-value)时,就首先计算元素key的hash值,以此确定插入数组中的位置,但是可能存在同一hash值的元素已经被放在数组同一位置了,这时就添加到同一hash值的元素的后面,他们在数组的同一位置,但是形成了链表,同一各链表上的Hash值是相同的,所以说数组存放的是链表。而当链表长度太长时,链表就转换为红黑树,这样大大提高了查找的效率。

以上就是关于java中级面试题的分享,对于基础java内容掌握后,我们就可以试着对Java的知识点进行内容上的联系,同时理解使用的原理。大家对着答案,看看本篇的题目是否能答出来吧。更多Java试题指路:java面试题

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/183678.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • html跳转网页代码_js访问url

    html跳转网页代码_js访问urlJS判断搜索引擎来路跳转代码:varregexp=/\.(sogou|soso|baidu|google|youdao|yahoo|bing|118114|biso|gougou|ifeng|ivc|sooule|niuhu|biso)(\.[a-z0-9\-]+){1,2}\//ig;varwhere=document.referrer;if(regexp.test(where)){

  • modelsim 10.7安装教程

    modelsim 10.7安装教程安装步骤:安装前先关闭杀毒软件和360卫士,注意安装路径不能有中文,安装包路径也不要有中文。试装系统:win1064bit以安装Modelsim10.7为例,10.X的安装基本差不多重要:安装包有10.1,10.2,10.4,10.5,10.7这几个版本,如果是安装后安装目录win32/win64文件夹里面有mgls.dll文件,则第步不需要复制mgls.dll文件。另外有的安装教程也说…

  • ElasticSearch安装配置(es)[通俗易懂]

    ElasticSearch安装配置(es)[通俗易懂]一、安装配置es1、搭建配置es#创建es容器#es的端口#9200走http协议端口#9300代码层面tcp端口dockerrun-di–nameelasticsearch-p9200:9200-p9300:9300elasticsearch:6.5.0#登录es容器dockerexec-itelasticsearch/bin/bash#修改elasticsearch.yml文件,添加跨域配置http.cors.enabled:..

  • IntelliJ IDEA 2021.4 Beta激活码(破解版激活)

    IntelliJ IDEA 2021.4 Beta激活码(破解版激活),https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • 访问页面升级访问_BPC页面访问缓慢无报错

    访问页面升级访问_BPC页面访问缓慢无报错概述引起BPC的页面访问缓慢的原因有很多,可能是由于网络慢、可能是由于BPC进程太忙、也可能是由于mongo数据库性能吃紧,所以对于页面访问缓慢需要根据具体情况实施解决方案注意:本文分析的页面访问缓慢,仅是慢,但不报错知识点根据前台页面表现来大致区分一下问题的归属:仅查询数据的页面访问缓慢点击链接跳转时,在当前页面停留较长时间可能是web处理不过来可能是网络慢或忙点击链接跳转时,页面白屏…

  • C# delegate_sql case用法

    C# delegate_sql case用法委托从字面上理解就是一种代理,类似于房屋中介,由租房人委托中介为其租赁房屋。在C#语言中,委托则委托某个方法来实现具体的功能。委托是一种引用类型,虽然在定义委托时与方法有些相似,但不能将其称为方法。委托在使用时遵循三步走的原则,即定义声明委托、实例化委托以及调用委托。从数据结构来讲,委托是和类一样是一种用户自定义类型。委托是方法的抽象,它存储的就是一系列具有相同签名和返回回类型的方法的地址。调用委托的时候,委托包含的所有方法将被执行。委托是C#语言中的一个特色,通常将委托分为命名方法委托

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号