当前位置: 首页 > news >正文

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.子类能继承父类的私有成员变量和成员方法 

相关文章:

JavaSE复盘2

Collection接口的接口对象集合(单列集合) List接口:元素按照先后有序保存,可重复 LinkList接口实现类,链表,随机访问,没有同步,线程不安全ArrayList接口实现类,数组&…...

如何在3ds max中创建可用于真人场景的巨型机器人:第 3 部分

推荐: NSDT场景编辑器助你快速搭建可二次开发的3D应用场景 1. 创建腿部装备 步骤 1 打开 3ds Max。 打开在本教程最后一部分中保存的文件。 打开 3ds Max 步骤 2 转到创建> 系统并单击骨骼。 创建>系统 步骤 3 为的 侧视口中的腿,如下图所示…...

Android性能优化之游戏引擎初始化ANR

近期,着手对bugly上的anr 处理,记录下优化的方向。 借用网上的一张图: 这里的anr 问题是属于主线程的call 耗时操作。需要使用trace 来获取发生anr前一些列的耗时方法调用时间,再次梳理业务,才可能解决。 问题1 ja…...

Jmap-JVM(十六)

上篇文章说了ZGC是jdk11加入的,他是未来jvm垃圾收集器的奠定者,满足TB级别内存处理,STW时间保持在10ms以下。 Jmap 我们可以先通过jmap -histo 进程ip 来查看,但是这样看不太清晰,我们可以用这行命令生成一个文件&…...

【分布式能源的选址与定容】基于多目标粒子群算法分布式电源选址定容规划研究(Matlab代码实现)

目录 💥1 概述 1.1 功率损耗 ​编辑1.2 电压质量 1.3 DG总容量 📚2 运行结果 🌈3 Matlab代码实现 🎉4 参考文献 💥1 概述 参考文献: 本文采用的是换一个算法解决, 基于基于多目标粒子群算法分布…...

flink源码分析-获取JVM最大堆内存

flink版本: flink-1.11.2 代码位置: org.apache.flink.runtime.util.EnvironmentInformation#getMaxJvmHeapMemory 如果设置了-Xmx参数,就返回这个参数,如果没设置就返回机器物理内存的1/4. 这里主要看各个机器内存的获取方法。 /*** The maximum JVM…...

第17节 R语言分析:生物统计数据集 R 编码分析和绘图

生物统计数据集 R 编码分析和绘图 生物统计学,用于对给定文件 data.csv 中的医疗数据应用 R 编码,该文件是患者人口统计数据集,包含有关来自各种祖先谱系的个体的标准信息。 数据集特征解释 脚本 output= file("Output.txt") # File name of output log sink(o…...

一文了解什么是Selenium自动化测试?

目录 一、Selenium是什么? 二、Selenium History 三、Selenium原理 四、Selenium工作过程总结: 五、remote server端的这些功能是如何实现的呢? 六、附: 一、Selenium是什么? 用官网的一句话来讲:Sel…...

java接口实现

文章目录 java接口实现接口中成员组成默认方法静态方法私有接口(保证自己的JDK版本大于等于9版本)类和接口的关系抽象类与接口之间的区别 java接口实现 1.接口关键字 interface2.接口不能实例化3.类与接口之间的关系是实现关系,通过 impleme…...

数据结构入门指南:链表(新手避坑指南)

目录 前言 1.链表 1.1链表的概念 1.2链表的分类 1.2.1单向或双向 1.2.2.带头或者不带头 1.2.33. 循环或者非循环 1.3链表的实现 定义链表 总结 前言 前边我们学习了顺序表,顺序表是数据结构中最简单的一种线性数据结构,今天我们来学习链表&#x…...

SpringBoot第24讲:SpringBoot集成MySQL - MyBatis XML方式

SpringBoot第24讲:SpringBoot集成MySQL - MyBatis XML方式 上文介绍了用JPA方式的集成MySQL数据库,JPA方式在中国以外地区开发而言基本是标配,在国内MyBatis及其延伸框架较为主流。本文是SpringBoot第24讲,主要介绍MyBatis技栈的演…...

linux 查看网卡,网络情况

1,使用nload命令查看 #yum -y install nload 2, 查看eth0网卡网络情况 #nload eth0 Incoming也就是进入网卡的流量,Outgoing,也就是从这块网卡出去的流量,每一部分都有下面几个。 – Curr:当前流量 – Avg…...

在Mac上搭建Gradle环境

在Mac上搭建Gradle环境: 步骤1:下载并安装Java开发工具包(JDK) Gradle运行需要Java开发工具包(JDK)。您可以从Oracle官网下载适合您的操作系统版本的JDK。请按照以下步骤进行操作: 打开浏览器…...

Docker网络与Docker Compose服务编排

docker网络 docker是以镜像一层一层构建的,而基础镜像是linux内核,因此docker之间也需要通讯,那么就需要有自己的网络。就像windows都有自己的内网地址一样,每个docker容器也是有自己的私有地址的。 docker inspect [docker_ID]…...

opencv+ffmpeg环境(ubuntu)搭建全面详解

一.先讲讲opencv和ffmpeg之间的关系 1.1它们之间的联系 我们知道opencv主要是用来做图像处理的,但也包含视频解码的功能,而在视频解码部分的功能opencv是使用了ffmpeg。所以它们都是可以处理图像和视频的编解码,我个人感觉两个的侧重点不一…...

开发基于 LoRaWAN 的设备须知--最大兼容性

最大兼容性配置简介 LoRaWAN开放协议的建立前提是每个制造的设备都可以被唯一且安全地识别。配置是创建唯一标识和相应秘密的过程。虽然配置过程是常规的,但存在一些可能并不明显的陷阱。本章尝试描述配置基于 LoRa 的设备的一些最佳实践。 配置概念 基于 LoRa 的设备配置与银…...

一、SpringBoot基础[日志]

一、日志 解释:SpringBoot使用logback作为默认的日志框架,其中还可以导入log4j2等优秀的日志框架 1.修改日志内容 修改整个日志格式:logging.pattern.console%d{yyyy-MM-dd HH:mm:ss} %-5level [%thread] %logger{15} 你好 %msg%n %d{yyy…...

libuv库学习笔记-networking

Networking 在 libuv 中,网络编程与直接使用 BSD socket 区别不大,有些地方还更简单,概念保持不变的同时,libuv 上所有接口都是非阻塞的。它还提供了很多工具函数,抽象了恼人、啰嗦的底层任务,如使用 BSD …...

C++多线程编程(第三章 案例1,使用互斥锁+ list模拟线程通信)

主线程和子线程进行list通信,要用到互斥锁,避免同时操作 1、封装线程基类XThread控制线程启动和停止; 2、模拟消息服务器线程,接收字符串消息,并模拟处理; 3、通过Unique_lock和mutex互斥方位list 消息队列…...

IOS UICollectionView 设置cell大小不生效问题

代码设置flowLayout.itemSize 单元格并没有改变布局大小, 解决办法如下图:把View flow layout 的estimate size 设置为None,上面设置的itemSize 生效了。...

Python|GIF 解析与构建(5):手搓截屏和帧率控制

目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...

龙虎榜——20250610

上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...

基于ASP.NET+ SQL Server实现(Web)医院信息管理系统

医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...

通过Wrangler CLI在worker中创建数据库和表

官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...

IGP(Interior Gateway Protocol,内部网关协议)

IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止

<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet&#xff1a; https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

React19源码系列之 事件插件系统

事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...

【python异步多线程】异步多线程爬虫代码示例

claude生成的python多线程、异步代码示例&#xff0c;模拟20个网页的爬取&#xff0c;每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程&#xff1a;允许程序同时执行多个任务&#xff0c;提高IO密集型任务&#xff08;如网络请求&#xff09;的效率…...