当前位置: 首页 > 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 生效了。...

Windows 11本地Ollama大模型部署实战指南

1. Windows 11本地部署Ollama大模型的前期准备 最近在折腾本地大模型部署,发现Ollama这个工具确实挺适合新手入门的。相比其他复杂的部署方案,Ollama在Windows平台上的安装过程简单明了,而且支持多种主流开源大模型。不过在实际操作中&#x…...

多智能体AI交易系统技术落地实践:从架构设计到生产部署

多智能体AI交易系统技术落地实践:从架构设计到生产部署 【免费下载链接】TradingAgents-CN 基于多智能体LLM的中文金融交易框架 - TradingAgents中文增强版 项目地址: https://gitcode.com/GitHub_Trending/tr/TradingAgents-CN 在金融科技快速发展的今天&am…...

【Visual Leak Detector】跨平台 QT 项目集成 VLD 的便携式部署方案

1. Visual Leak Detector 与 QT 开发的那些事儿 做 C 开发的朋友应该都遇到过内存泄漏这个头疼的问题。特别是用 QT 开发跨平台应用时,随着项目规模扩大,内存管理就变得格外棘手。Visual Leak Detector(简称 VLD)这个轻量级工具简…...

Gon部署与运维:生产环境配置、监控和故障排除完整手册

Gon部署与运维:生产环境配置、监控和故障排除完整手册 【免费下载链接】gon Your Rails variables in your JS 项目地址: https://gitcode.com/gh_mirrors/go/gon Gon是一款专为Rails应用设计的实用工具,能够轻松实现Rails变量在JavaScript中的共…...

GEE快速入门:哨兵2号影像批量下载与去云处理指南

1. 为什么选择GEE处理哨兵2号影像? 如果你正在寻找一个免费、高效且无需本地高性能计算机的遥感数据处理方案,Google Earth Engine(GEE)绝对是你的首选。作为一个云端地理空间分析平台,GEE存储了海量的卫星影像数据&am…...

Wan2.2-I2V-A14B实战案例:为本地餐饮店生成15秒抖音爆款菜品视频

Wan2.2-I2V-A14B实战案例:为本地餐饮店生成15秒抖音爆款菜品视频 1. 项目背景与价值 对于本地餐饮商家来说,短视频营销已经成为吸引顾客的重要手段。然而,专业视频制作成本高、周期长,很多小店难以承担。Wan2.2-I2V-A14B文生视频…...

PKSM终极指南:从第一世代到第八世代的宝可梦存档管理神器

PKSM终极指南:从第一世代到第八世代的宝可梦存档管理神器 【免费下载链接】PKSM Gen I to GenVIII save manager. 项目地址: https://gitcode.com/gh_mirrors/pk/PKSM PKSM是一款功能强大的免费开源宝可梦存档管理工具,支持从第一世代到第八世代的…...

【Python MCP服务器安全开发黄金模板】:20年专家亲授7大零信任实践与3层防御体系

第一章:Python MCP服务器安全开发黄金模板概览Python MCP(Model-Controller-Protocol)服务器是一种面向协议驱动、可扩展性强的后端服务架构,广泛应用于物联网控制平台与微服务网关场景。本章所介绍的“黄金模板”并非通用框架&am…...

Dynamic Deep Learning for Li-ion Battery Fault Detection: A Practical Approach with Real-world EV Da

1. 动态深度学习在锂电池故障检测中的核心价值 锂电池作为电动汽车的核心部件,其健康状况直接关系到整车的安全性和可靠性。传统基于阈值的检测方法在面对复杂多变的实际工况时,往往表现不佳。我们团队在实际测试中发现,某品牌车辆在低温环境…...

Qt, C++数据类型扩展问题

Qt项目中ObjectDic类的类型扩展与代码优化 前言 在Qt项目开发中,我们经常会遇到需要处理不同类型数据的情况,尤其是当涉及到负数时,类型的选择就显得尤为重要。本文将详细介绍如何在Qt项目中扩展ObjectDic类的类型支持,从无符号整…...