JavaSE复盘2

Collection接口的接口对象集合(单列集合)

  • List接口:元素按照先后有序保存,可重复
    • LinkList接口实现类,链表,随机访问,没有同步,线程不安全
    • ArrayList接口实现类,数组,随机访问,没有同步,线程不安全
    • Vector接口实现类,数组,同步,线程安全
  • Set接口:仅接收一次,不可重复,并做内部排序
    • HashSet使用hash表(数组)存储元素
      • LinkedHashSet链表维护元素的插入次序
    •  TreeSet,底层为二叉树,元素排好序

Map接口键值对的集合(双列集合)

  • Hashtabel接口实现类,同步,线程安全
  • Hashmap接口实现类,没有同步,线程不安全
    • LikedHashMap双向链表和哈希表实现
    • WeakHashMap
  • TreeMap红黑树对所有的key进行排序
  •  IdentifyHashMap

HashMap允许空键值对

HashTable不允许空键值对

当重载构造方法时,可以使用关键字(this)来指代本类中的其他构造方法,而使用关键字(super)来指代父类构造方法。

this:

调用构造器,必须放在构造器的首行

访问本类中的属性或方法,如果本类没有此属性或方法则从父类中继续查找

super:

调用父类构造器,必须放在子类构造器的首行

直接访问父类中的属性或方法

关于sleep()和wait(),以下描述错误的一项是()
A.sleep暂停线程、但监控状态仍然保持,结束后会自动恢复
B.wait后进入等待锁定池,只有针对此对象发出notify方法后获得对象锁进入运行状态
C.sleep不释放对象锁,wait释放对象锁
D.sleep是线程类 (Thread) 的方法,wait是Object类的方法

sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁。
wait是Obiect类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法 (或notifyAll) 后本线程才进入对象锁定池准备获得对象锁进入运行状态。

外部类不能直接使用内部类的成员和方法

要调用的话:先创建其外部类对象,然后创建内部类的对象,然后通过内部类的对象来访问其成员变量和方法。

内部类对象始终可以访问其外部类对象,同时这也是为什么在外部类作用范围之外向要创建内部类对象必须先创建其外部类对象的原因。

关于静态成员变量的说法,正确的是()

A.如果拥有访问权限,可以用类直接访问静态成员变量

B.静态成员变量不能用对象访问

C.静态成员变量必须利用构造方法进行初始化。

D.静态成员变量的访问权限控制符只能是public

下面关于SDK,JVM,JRE和JDK之间的关系,表示正确的是:

1.JVM – java virtual machineJVM就是我们常说的java虚拟机

2.JRE – java runtime environmentJRE是指java运行环境

3.JDK – java development kitJDK是java开发工具包

4.SDK是Software Development Kit 一般指软件开发包

                        内存空间

btye                8位(1字节)

short               16位(2字节)

int                    32位(3字节)

long                 64位(4字节)

浮点型数据中:小数默认为double类型

float f1 = 13.23f;

double d1 = 4562.12;

重载出现在同一个类中:

方法名 : 必须相同

方法的修饰符可以不相同

main 方法也可以被重载

形参列表: 必须不同(形参类型或个数或顺序 ,至少有一样不同 ,参数名无要求)

返回类型: 无要求 

下面有关线程的哪些叙述是正确的?

A.使用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行.

B.当一个线程因为抢先机制而停止运行,它被放在可运行队列的前面

C.一个线程可能因为不同的原因停止并进入就绪状态

D.一旦一个线程被创建,它就立即开始运行。 

线程进入就绪状态的情况:

  1. 创建线程后,调用线程的start()方法。
  2. 当前线程sleep()方法结束。
  3. 其他线程join()结束。
  4. 等待用户输入完毕。
  5. 当前线程时间片用完。
  6. 线程在执行中,调用当前线程的yield方法。
  7. 某个线程拿到对象锁。
  8. 锁池里的线程拿到对象锁后,进入就绪状态。

线程创建后,进入NEW(初始)状态,调用start方法后,进入READY(就绪)状态,系统分配给该线程时间片后,线程才开始运行

关于Java中的数组,下面哪些描述是正确的?
A两个数组用equals方法比较时,会逐个便利其中的元素,对每个元素进行比较
B数组是一个连续的存储结构
C可以二维数组,且可以有多维数组,都是在Java中合法的
D数组长度是可以动态调整的

E数组是一个对象,不同类型的数组具有不同的类
F个固定长度的数组可类似这样定义: int array[100]

在equals中比较的是两个对象的地址是否相同。因为是两个不同的数组所以会运行结果为false

Arrays.equals()会比较两个数组中的每个元素的值。当两个数组的为对象数组时候,会逐个遍历

下面能让线程停止执行的有()
A. notifyAll();
B. yield();//当前正在被服务的对象觉得cpu的服务质量不好,提前退出
C.synchronized()//对象锁
D. wait();//当前正在被服务的线程需要睡一会,醒来继续被服务
E. sleep();//导致此线程暂停执行指定时间
F. stop();//这个方法将终止所有未结束的方法,包括run方法

G. notify();

关于Java的类方法(静态方法),下列叙述错误的有()
A.在类方法中可用this来调用本类的类方法
B.在类方法中只能调用本类中的类方法
C.在类方法中可直接调用本类的实例方法
D.在类方法中绝对不能调用实例方法

E.在类方法中可直接调用本类中的类方法

静态方法中是可以通过类的实例来调用非静态方法的。

下列关于抽象类和接口的描述,正确的是?
A.接口中可以定义public变量
B.抽象类中可以定义构造方法
C.一个类继承一个抽象类,必须重写该抽象类中的所有方法
D.抽象类中可以存在非抽象的方法
E.抽象类中只能存在public方法
F.一个类可以继承多个类
G.接口中可以出现protected方法

一个类只能继承一个父类

Java版本小于1.8的前提下,Java特性中,abstract class和interface有什么区别()
A.抽象类中不可以包含静态方法,接口中可以包含静态方法
B.抽象类可以有构造方法,接口中不能有构造方法
C.抽象类中可以有普通成员变量,接口中没有普通成员变量
D.一个类可以实现多个接口,但只能继承一个抽象类

关于继承的说法,错误的是0
A.子类只能继承父类的成员方法,而不继承成员变量

B.子类只能继承父类public成员变量和成员方法

C.子类能继承父类的非私有成员变量和成员方法

D.子类能继承父类的私有成员变量和成员方法 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/13590.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

element时间选择器的默认值

概览:vue使用element组件,需要给时间选择器设置默认值,场景一:默认时间选择器,场景二:时间范围选择器,开始时间和结束时间。 一、默认时间选择器 实现思路: element组件的v-model绑…

忘记安卓图案/密码锁如何解锁?

如何解锁Android手机图案锁?如何删除忘记的密码?Android 手机锁定后如何重置?这是许多智能手机用户在网上提出的几个问题。为了回答这些问题,我们想出了一些简单有效的方法来解锁任何设备而不丢失数据。 忘记手机密码可能会令人恐…

web服务器(Tomcat)

目录 一、web服务器 1. 常见web服务器 2. web服务器简介 二、 Apache Tomcat服务器 1. Tomcat服务器简介 2. Tomcat服务器基本使用 3. 启动tomcat常见问题 (1)启动tomcat控制台乱码 (2)启动tomcat闪退问题 (…

爬虫003_pycharm的安装以及使用_以及python脚本模版设置---python工作笔记021

这里我们用ide,pycharm来编码,看一看如何下载 这里我们下载这个社区办,这个是免费的,个人版是收费的 然后勾选以后 安装以后我们来创建一个项目 这里可以选择python的解释器,选择右边的... 这里我们找到我们自己安装的python解释器

【雕爷学编程】MicroPython动手做(02)——尝试搭建K210开发板的IDE环境4

7、使用串口工具 (1)连接硬件 连接 Type C 线, 一端电脑一端开发板 查看设备是否已经正确识别: 在 Windows 下可以打开设备管理器来查看 如果没有发现设备, 需要确认有没有装驱动以及接触是否良好 (2&a…

【JVM】详解JVM的五大内存模型、可能出现的异常以及堆栈引用易错点

文章目录 1、堆(线程共享)2、方法区(线程共享)3、虚拟机栈(线程私有)4、本地方法栈(线程私有)5、程序计数器(线程私有)6、易错点 源自:深入理解Java虚拟机:JVM高级特性与最佳实践(第3版) 周志明 1、堆(线程…

C语言第十一课--------操作符的使用与分类-------基本操作

作者前言 作者介绍: 作者id:老秦包你会, 简单介绍: 喜欢学习C语言和python等编程语言,是一位爱分享的博主,有兴趣的小可爱可以来互讨 个人主页::小小页面 gitee页面:秦大大 一个爱分享的小博主 欢迎小可爱们…

css 书写规范!其他人总结!

CSS书写顺序 1.位置属性(position, top, right, z-index, display, float等) 2.大小(width, height, padding, margin) 3.文字系列(font, line-height, letter-spacing, color- text-align等) 4.背景(background, border等) 5.其他(animation, transition等) CSS书写规范 使用…

MyBatis-Plus自定义sql注入器

文章目录 一、前言二、MyBatis-Plus自定义sql注入器功能实现2.1、编写自定义sql类2.2、将自定义sql添加到BaseMapper中2.3、编写自己的sql注入器 一、前言 在日常开发过程中,我们可能会发现 MyBatis-Plus 提供的那些自带的 sql 语句无法满足我们的开发需求&#xf…

web自动化测试进阶篇05 ——— 界面交互场景测试

😏作者简介:博主是一位测试管理者,同时也是一名对外企业兼职讲师。 📡主页地址:【Austin_zhai】 🙆目的与景愿:旨在于能帮助更多的测试行业人员提升软硬技能,分享行业相关最新信息。…

【Ajax】笔记-同源策略

同源策略(Same-Origin Policy),是浏览器的一种安全策略 同源(即url相同):协议、域名、端口号 必须完全相同。(请求是来自同一个服务) 跨域:违背了同源策略,即跨域。 ajax请求是遵循…

texshop mac中文版-TeXShop for Mac(Latex编辑预览工具)

texshop for mac是一款可以在苹果电脑MAC OS平台上使用的非常不错的Mac应用软件,texshop for mac是一个非常有用的工具,广泛使用在数学,计算机科学,物理学,经济学等领域的合作,这些程序的标准tetex分布特产…

flask中的session介绍

flask中的session介绍 在Flask中,session是一个用于存储特定用户会话数据的字典对象。它在不同请求之间保存数据。它通过在客户端设置一个签名的cookie,将所有的会话数据存储在客户端。以下是如何在Flask应用中使用session的基本步骤: 首先…

github Recv failure: Connection reset by peer

Recv failure: Connection reset by peer 背景处理ping一下github网页访问一下github项目git配置git ssh配置再次尝试拉取 疑惑点待研究参考 背景 晚上敲着代码准备提交,执行git pull,报错Recv failure: Connection reset by peer。看着这报错我陷入了沉…

【fly-iot飞凡物联】(12):EMQX 5.1使用docker 本地部署,接入到Actorcloud的数据库中,成功连接创建的设备,可以控制设备访问状态

目录 前言1,关于2,使用docker 进行部署3,配置API key 可以使用接口访问的4,设置客户端认证,连接PostgreSQL 数据连接5,使用客户端进行连接6,EMQX的API 接口地址7,总结 前言 本文的原…

应用层协议——http

文章目录 1. HTTP协议1.1 认识URL1.2 urlencode和urldecode1.3 HTTP协议格式1.3.1 HTTP请求1.3.2 HTTP响应1.3.3 外网测试1.3.4 添加html文件1.3.5 HTTP常见Header1.3.6 GET和POST 1.4 HTTP的状态码1.4.1 301和3021.4.2 代码实现 1.5 Cookie1.5.1 代码验证1.5.2 Cookiesession …

JetBrains 为测试自动化打造的强大 IDE-Aqua

QA 和测试工程对现代软件开发必不可少。 在 JetBrains,我们相信使用正确的工具对每项工作都很重要。 对我们来说,为自动化测试开发创建单独的工具是自然而然的事,因为这使我们能够满足多角色软件开发团队的需求。 我们很高兴能够推出 JetBra…

Transformer背景介绍

目录 Transformer的诞生Transformer的优势Transformer的市场 Transformer的诞生 论文地址 Transformer的优势 Transformer的市场

MHA高可用配置及故障切换

文章目录 MHA高可用配置及故障切换一. MySQL MHA1.什么是MHA2.MHA的组成2.1MHA Node (数据节点)2.2MHA Manager (管理节点) 3.MHA的特…

【观察】以超融合创新架构,加速企业应用现代化

我们知道,数字化转型的不断加速,核心就是应用的加速。在整个数字化体系中,软件应用是让一切发挥价值的落地路径。在应用发挥能力之前,企业需要进行大量软硬件准备以及应用开发工作;在应用开始发挥能力之,企…