首页 > 编程语言 >#yyds干货盘点#Java面试题

#yyds干货盘点#Java面试题

时间:2023-12-08 19:05:51浏览次数:27  
标签:yyds 面试题 Java HashMap 多态性 事务 面向对象 线程 HashTable

1.如何理解面向对象和面向过程

【面向过程】:完成某件事的过程,性能高于【面向对象】

优点:但是因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素。

缺点:没有面向对象易维护、易复用、易扩展

【面向对象】:把要完成的某件事,分成对象然后再完成

优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护

缺点:性能比面向过程低


2.Java特性

【封装】【继承】【多态(使用方法重载和重写可以实现多态)】当然一般还添加【抽象】


3.访问修饰符public,private,protected,以及不写(默认)时的区别?

修饰符

当前类

当前包

子类

其他包

public

protected

×

default

×

×

private

×

×

×


4.构造器

构造器不能被继承,所以不能被重写【实现运行时多态性,发生在一个类中】,但可以被重载【实现编译时多态性,发生在子类和分类之间】


5.HashMap和HashTable区别

1、HashMap是非线程安全的,HashTable是线程安全的。

2、HashMap的键和值都允许有null值存在,而HashTable则不行。

3、因为线程安全的问题,HashMap效率比HashTable的要高。


6.事务的隔离性

隔离性级别越低,并发性越好,但数据库的一致性就越差。

隔离级别越高,并发性越差,但数据库的一致性高。

注意:由低到高 读未提交<读提交<可重复读(默认)<序列化读

错误的级别由低到高:

脏读、不可重复读、幻读

脏读:两个事物,一个事务先修改,另一个事务读,结果是修改前的结果。

不可重复读:两个事物,一个先读是一个结果,一个后修改,再读,又是一个结果。

幻读:第一个事务表中有10、20、30、40几个部门,第二个事务插入表中50的部门,然后提交,第一个事务插入50部门,主键冲突。复制代码


标签:yyds,面试题,Java,HashMap,多态性,事务,面向对象,线程,HashTable
From: https://blog.51cto.com/u_15426660/8741156

相关文章

  • Java ClassLoader、ContextClassLoader与SPI实现详解
    (目录)JavaClassLoaderClassLoader做什么的?​ 众所周知,Java或者其他运行在JVM(java虚拟机)上面的程序都需要最终便以为字节码,然后被JVM加载运行,那么这个加载到虚拟机的过程就是classloader类加载器所干的事情.直白一点,就是通过一个类的全限定类名称来获取描述此类......
  • java流程控制-分支控制
    免责声明:java基础资料均来自于韩顺平老师的《循序渐进学Java零基础》教案,具体视频内容可以去B站观看,这些资料仅用于学习交流,不得转载用于商业活动1.分支控制让程序有选择的去执行,分支控制有三种单分支if双分支if-else多分支if-elseif-...else1.1单分支if基本语法if(......
  • Java_02
    7-1邻接表存储实现图的深度优先遍历#include<bits/stdc++.h>usingnamespacestd;#defineMAXSIZE100inta[MAXSIZE]={0};//边表typedefstructAt{intt;//保存邻接点下标charwei;//储存权值structAt*next;//链域,指向下一个邻接点......
  • java 方法
    一、方法概述 二、方法定义和调用1、方法定义 2、方法调用3、带参方法定义 4、带参方法调用 5、形参和实参 6、带返回值方法的定义 7、带返回值方法的调用8、方法的注意事项 9、方法的通用格式 三、方法重载1、概述2、特点 四、方法......
  • 秦疆的Java课程笔记:64 面向对象 构造器详解
    类中的构造器也称为构造方法,世在进行创建对象的时候必须要调用的。并且构造器有以下两个特点必须和类的名字相同必须没有返回类型,也不能写void构造器必须掌握!一个类即使什么也没写,也会存在一个方法//写一个空的Person类=========================publicclassPer......
  • java.util.concurrent.RejectedExecutionException异常分析
    感谢:https://blog.csdn.net/wzy_1988/article/details/38922449核心池和最大池的大小graphTBA("提交新任务")-->G{"maximumPoolSize设置为<br/>无界值<br/>(例如:Integer.MAX_VALUE)"}G---|"无界值"|H["允许线程池适应任意数量的并发任务"]G---|"......
  • java使用Ffmpeg合成音频和视频
    1、Maven依赖<!--需要注意,javacv主要是一组API为主,还需要加入对应的实现--><dependency><groupId>org.bytedeco</groupId><artifactId>javacv</artifactId><version>1.5.6</version>&......
  • java-导出pdf
    前言:  纯代码画pdf格式<!--iTextPDF--><dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.13.2</version></......
  • Java中<where>和<if>标签的组合使用
    在Java中,并没有<where>和<if>标签的组合使用。这两个标签不是Java编程语言或Java标准库的一部分,它们可能是你所使用的特定框架或库提供的自定义标签。如果你正在使用某个特定的Java框架或模板引擎(如MyBatis、Thymeleaf等),这些框架或引擎可能提供了自定义标签,使得在代码中使用类似于<......
  • JetBrains WebStorm 2023.3 (macOS, Linux, Windows) - 最智能的 JavaScript IDE
    JetBrainsWebStorm2023.3(macOS,Linux,Windows)-最智能的JavaScriptIDE请访问原文链接:https://sysin.org/blog/jb-webstorm-2023/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgJetBrainsWebStorm-最智能的JavaScriptIDEWebStorm是一个适用于JavaSc......