java面试题(2022最新)
1.String是基本数据类型么?
不是基本数据类型,byte int char long flout duable boolem short
2.int 和integer区别
int是基本数据类型,integer 是一个包装类
3..JAVA中几种集合(List、Set和Map)的区别?
list 和set 都继承了colletion 接口
lis里包含arraylist 和linklist ,
区别:arrarylist 采用数组形式保存对象的,对象在连续的位置中,缺点就是插入删除非常麻烦,
linklist 双链表,对象存在独立的空间中,保存下一个连接的索引,但查询非常麻烦,从第一个索引开始擦寻。
4.HashMap和Hashtable的区别?
HashMap线程不安全,效率高。可以存储null键值对,链表中的元素超过了8个后, 会将链表转换为红黑树
Hashtable线程安全(每个方法中都加入了synchronized),效率低,不可以存储null键值
5.list中常用的方法
remove (移除) add ,adds 添加数组
6.public,friendly,protected,private的区别?
public权限最大
protect不同包的其他类不可用
friendly子类不能调用
(什么都不写的时候) private只能本类调用
7.方法重载和重写的区别?
重载在一个类里面方法名相同,参数不同的两个方法
重写是在不同类里面的而且必须是集成关系,返回值类型和参数必须相同
8.equals方法跟==有什么区别
equals ():用来检测两个对象是否相等,即两个对象的内容是否相等。.
==:用于比较引用和比较基本数据类型时具有不同的功能
9.静态变量和实例变量的区别
类的静态变量在内存中只有一个,而实例变量取决于类的实例。
每创建一个实例,就会生成一个实例变量,而且生命周期也不同
10.final,finally,finalize,friend的区别?
friend表示在碧昂辆中没有任何修饰符
final是一个关键字,定义完变量就不能改变了,
finally是处理 异常用到的,
finalize是一个垃圾回收器准备释放内存方法
11.String能否被继承?
不能被继承,因为它是final,常量
12.Final类有什么特点?
属性常量 方法不可以overridding类 不可以继承
13.异常和错误的区别
Error表示系统级的错误和程序不必处理的异常,
Exception表示需要捕捉或者需要程序进行处理的异常
14..super()与this()的区别?
this调用本类的对象,super()调用父类的对象。
15.java的核心优势是什么?
电脑和电脑之间通过互联网连在了一起,但是没个电脑的系统都不一样,
这个时候我们需要一个语言可以在任何的系统上面跑,就出了java语言跨平台么,
而且java发展悠久所以java遇到的问题比较完善。
16.解释一下线程和进程?
一个程序员需要最少需要一个进程,而一个进程最少需要一个线程,所以线程是程序执行的最小单位。
17.普通类和抽象类有哪些区别?
普通类不能包含抽象⽅法,抽象类可以包含抽象⽅法。
抽象类不能直接实例化,普通类可以直接实例化。
18.String,Stringbuffer,StringBuilder的区别
String:
String类是一个不可变的类,一旦创建就不可以修改。
String是final类,不能被继承
String实现了equals()方法和hashCode()方法
StringBuffer:
继承自AbstractStringBuilder,是可变类。
StringBuffer是线程安全的
可以通过append方法动态构造数据。
StringBuilder:
继承自AbstractStringBuilder,是可变类。
StringBuilder是非线性安全的。
执行效率比StringBuffer高。
19.Java获取反射的三种方法:
第一种,使用 Class.forName 静态方法。
第二种,使用类的.class 方法
第三种,使用实例对象的 getClass() 方法。
20.Java 中 hash 值的含义
hash 值主要是用来在散列存储结构中确定对象的存储地址的,提高对象的查询效率,如HashMap、
HashTable等;
如果两个对象相同,那么这两个对象的 hash 值一定相等;
如果要重写对象的 equals 方法,那么尽量重写对象的 hashCode 方法;
两个对象的 hash 值相等,并不一定表示两个对象相同。
21.hashmap 原理
数据结构是数组和链表的结合,key和value值都允许为空,key为null的键值对永远放在以table【0】
为结点的链表中。
22.java多线程中sleep和wait的4个区别
sleep是线程中的方法,但是wait是Object中的方法,sleep方法不会释放lock,但是wait会释放,
而且会加入到等待队列中。
sleep不需要被唤醒,但是wait需要
23.MVC
MVC是一种设计模式,将软件分为三层,分别是模型层,视图层,控制器层。其中模型层代表的是数据,
视图层代表的是界面,
控制器层代表的是逻辑处理,是连接视图与模型之前的桥梁。降低耦合,便于代码的维护
24什么是多线程?
多线程是指程序中包含多个流,即在一个程序中可以同时进行多个不同的线程来执行不同的任务
25.多线程的优劣?
优点:可以提高CPU利用率, 提高了程序的效率, 单个程序可以创建多个不同的线程来完成各自的任务
缺点:线程也是程序,需要占据内存.多线程需要协调和管理,所以需要CPU跟踪线程
26.并发和并行的区别
并发:多个任务在同一个CPU上,按照细分的时间片段轮流交替执行.
并行:单位时间内,多个处理器或者多核处理器同时处理多个任务,真正意义上的同时进行
27.创建线程的四种方式
继承Thread类
实现Runnable接口
实现Callable接口
Executors工具类创建线程池
28.run()方法和start()方法有什么区别
start()方法用于启动线程, run()方法用于执行线程的运行代码, run()可以反复调用, 而start() 方法只能被调用一次
调用start()方法启动线程可以使线程进入就绪状态, 等待运行; run()方法只是thread的一个普通方法调用, 还是在主线程里执行.
29.sleep()和wait()有什么区别
相同:两者都可以使线程进入等待状态
不同:sleep()是Thread类下的静态方法, wait()是Object类下的方法
sleep()不释放锁, wait()释放锁
wait()常用语线程之间的通信, sleep()常用语暂停执行
30.IO流是用来处理设备之间传输数据,下载文件,上传文件
输入流:程序从输入流中读取数据,
输出流:程序向输出流写入数据。程序将数据输出到外界
31.SpringMVC运行原理
客户端请求提交到DispatcherServlet
由DispatcherServlet控制器查询HandlerMapping,找到并分发到指定的Controller中。
Controller调用业务逻辑处理后,返回ModelAndView
DispatcherServlet查询一个或多个ViewResoler视图解析器,找到ModelAndView指定的视图
视图负责将结果显示到客户端
java面试题(2022最新)的更多相关文章
- 秋招如何抱佛脚?2022最新大厂Java面试真题合集(附答案
2022秋招眼看着就要来了,但是离谱的是,很多同学最近才想起来还有秋招这回事,所以纷纷临时抱佛脚,问我有没有什么快速磨枪的方法, 我的回答是:有! 说起来,临阵磨枪没有比背八股文更靠谱的了,很多人对这 ...
- 2016最新Java笔试题集锦
更新时间:2015-08-13 来源:网络 投诉删除 [看准网(Kanzhun.com)]笔试题目频道小编搜集的范文“2016最新Java笔试题集锦”,供大家阅读参考, ...
- 509道Java面试题解析:2020年最新Java面试题
<Java面试全解析>是我在 GitChat 发布的一门电子书,全书总共有 15 万字和 505 道 Java 面试题解析,目前来说应该是最实用和最全的 Java 面试题解析了. 我本人是 ...
- 最全最新java面试题系列全家桶(带答案)
最全最新java面试题系列全家桶(带答案) 置顶 2019年04月06日 22:40:28 青春季风暴 阅读数 14082 文章标签: java面试题技术栈 更多 分类专栏: 面试 版权声明:本文 ...
- 2018年最新Java面试题及答案整理(持续完善中…)
2018年最新Java面试题及答案整理(持续完善中…) 基础篇 基本功 面向对象特征 封装,继承,多态和抽象 封装封装给对象提供了隐藏内部特性和行为的能力.对象提供一些能被其他对象访问的方法来改变它内 ...
- 2021最新Java面试题全集-20210326版
在手撕了数千道网络流传的面试题,外加十多个不眠之夜, 终于从里面精心挑选出约500道题目, 做为大家求职.跳槽前复习准备面试使用. 一:挑选题目的原则: 常考的.常被面试问到的 题目有一定的深度和难度 ...
- 8月份21道最新Java面试题剖析(数据库+JVM+微服务+高并发)
前言 纵观几年来的Java面试题,你会发现每家都差不多.你仔细观察就会发现,HashMap的出现几率未免也太高了吧!连考察的知识点都一样,什么hash碰撞啊,并发问题啊!再比如JVM,无外乎考内存结构 ...
- 史上最全最新java面试题合集二(附答案)
下面小编整理了本套java面试题全集,分享给大家,希望对大家的java学习和就业面试有所帮助. 51.类ExampleA继承Exception,类ExampleB继承ExampleA. 有如下代码片断 ...
- 史上最全最新Java面试题合集一(附答案)
下面小编整理了本套java面试题全集,分享给大家,希望对大家的java学习和就业面试有所帮助. 1.面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: 抽象:抽象是将一类对象的共同特征 ...
- 春节跳槽最新Java面试题及答案整理
今天大部分码农同学已经上班了吧,最近也是跳槽人才流动的高峰期,拿了年终奖,找找更好的机会. 小编也面了几家公司了,回来整理下面经分享给大家做个参考.有很多,暂时先分享20道,后续更多会陆续整理分享出来 ...
随机推荐
- Docker Compose 的介绍、安装与使用
什么是 Docker Compose? Compose 是 Docker 官方的开源项目,负责实现Docker容器集群的快速编排,开源代码在 https://github.com/docker/com ...
- OA办公软件篇(三)—审批流
背景 作用 迭代历程 具体实现 写在最后 背景 在前面两篇文章中,我们分别讲了组织架构和权限管理,今天我们来讲一个跟组织架构关系比较密切的功能-审批流. 审批流,通俗来说就是一个完整的审批流程,是 ...
- 243张图片为你解析轻量级自动运维化工具Ansible
Ansible 是什么 ? ansible架构图 ansible特性 模块化:调用特定的模块,完成特定的任务: 基于Python语言研发,由Paramiko, PyYAML和Jinja2三个核心库实 ...
- AliIAC 智能音频编解码器:在有限带宽条件下带来更高质量的音频通话体验
随着信息技术的发展,人们对实时通信的需求不断增加,并逐渐成为工作生活中不可或缺的一部分.每年海量的音视频通话分钟数对互联网基础设施提出了巨大的挑战.尽管目前全球的互联网用户绝大多数均处于良好的网络状况 ...
- [源码解析] TensorFlow 分布式之 ParameterServerStrategy V1
[源码解析] TensorFlow 分布式之 ParameterServerStrategy V1 目录 [源码解析] TensorFlow 分布式之 ParameterServerStrategy ...
- 好客租房21-react组件的两种创建方式(函数组件)
1使用函数创建组件 函数组件:使用js的函数或者箭头函数创建的组件 约定1:函数组件名称必须以 开头 约定2:函数组件必须有返回值 表示该组件的结构 如果返回值为null 表示不渲染任何内容 2.1使 ...
- SQL表的创建
一,创建表 1.使用鼠标创建表 1,进入SQL进行连接 编辑 2,在左边会有一个对象资源管理器,右键数据库,在弹出的窗口中选择新建数据库 编辑 3,给这个包取个名字,在这个界面可以给这个表选 ...
- fpn(feature-Pyramid-network)学习笔记
FPN(特征金字塔网络)学习笔记 论文 在物体检测里面,有限计算量情况下,网络的深度(对应到感受野)与 stride 通常是一对矛盾的东西,常用的网络结构对应的 stride 一般会比较大(如 32) ...
- SSE图像算法优化系列三十二:Zhang\Guo图像细化算法的C语言以及SIMD指令优化
二值图像的细化算法也有很多种,比较有名的比如Hilditch细化.Rosenfeld细化.基于索引表的细化.还有Opencv自带的THINNING_ZHANGSUEN.THINNING_GUOHALL ...
- 「ARC138E」Decreasing Subsequence(n logn 做法)
考虑一张 \(n\) 个点的图(\(V=\{0,1,\cdots,n\}\)):点 \(i\) 连向 \(a_i-1\),即 \(\text{index}\) 连向 \(\text{value}\). ...