JavaSE复盘2
Collection接口的接口对象集合(单列集合)
- List接口:元素按照先后有序保存,可重复
- LinkList接口实现类,链表,随机访问,没有同步,线程不安全
- ArrayList接口实现类,数组,随机访问,没有同步,线程不安全
- Vector接口实现类,数组,同步,线程安全
- Set接口:仅接收一次,不可重复,并做内部排序
- HashSet使用hash表(数组)存储元素
- LinkedHashSet链表维护元素的插入次序
- TreeSet,底层为二叉树,元素排好序
- HashSet使用hash表(数组)存储元素
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.一旦一个线程被创建,它就立即开始运行。
线程进入就绪状态的情况:
- 创建线程后,调用线程的start()方法。
- 当前线程sleep()方法结束。
- 其他线程join()结束。
- 等待用户输入完毕。
- 当前线程时间片用完。
- 线程在执行中,调用当前线程的yield方法。
- 某个线程拿到对象锁。
- 锁池里的线程拿到对象锁后,进入就绪状态。
线程创建后,进入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 生效了。...
Linux应用开发之网络套接字编程(实例篇)
服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...
springboot 百货中心供应链管理系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...
树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频
使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...
循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...
【位运算】消失的两个数字(hard)
消失的两个数字(hard) 题⽬描述:解法(位运算):Java 算法代码:更简便代码 题⽬链接:⾯试题 17.19. 消失的两个数字 题⽬描述: 给定⼀个数组,包含从 1 到 N 所有…...
在四层代理中还原真实客户端ngx_stream_realip_module
一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...
Java入门学习详细版(一)
大家好,Java 学习是一个系统学习的过程,核心原则就是“理论 实践 坚持”,并且需循序渐进,不可过于着急,本篇文章推出的这份详细入门学习资料将带大家从零基础开始,逐步掌握 Java 的核心概念和编程技能。 …...
音视频——I2S 协议详解
I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议,专门用于在数字音频设备之间传输数字音频数据。它由飞利浦(Philips)公司开发,以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...
云原生安全实战:API网关Kong的鉴权与限流详解
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关(API Gateway) API网关是微服务架构中的核心组件,负责统一管理所有API的流量入口。它像一座…...

