7、数组知识点汇总
一、 数组基本概念
程序=算法+数据结构
- 算法:解决程序的流程步骤
- 数据结构:将数据按照某种特定的结构来存储
- 设计良好的数据结构会导致良好的算法。
- ArrayList、LinkedList
数组是最简单的数据结构。
1、数组:
数组:存放同一种类型数据的集合,在内存里面是开辟一块连续的区域。
int num = 3;
int[] array = new int[4];
- 1、存放整数类型的数组
- 2、长度是4 (数组缺点长度固定,ArrayList解决长度固定的问题)
- 3、只能存放int类型
2、数组的访问:数组名[下标]
元素类型[] 数组名 = new 元素类型[长度];
int[] array1 = new int[3];
double[] array2 = new double[3];
boolean[] array3 = new boolean[3];
char[] array4 = new char[3];
// Student[] array5 = new Student[3];
3、数组定义的方式:
- 静态初始化:在声明数组的同时,直接给出数组元素的初始值。适用于数组元素已知的情况。
int[] array = {32,5,7,87};
int[] array = new int[]{32,5,7,87};
- 动态初始化:在声明数组时,仅指定数组的长度,然后通过赋值语句逐个给数组元素赋值。适用于数组元素在声明时未知的情况。
int[] array = new int[4];
array[0] = 34;
@Test
public void test1() {int num = 3;int score1 = 84;int score2 = 54;int score3 = 64;//数组:存放同一种类型数据的集合,在内存里面是开辟一块连续的区域。int[] array = new int[4];System.out.println("length: " + array.length);//4array[0] = 33;array[1] = 2;array[2] = 45;array[3] = 19;for (int i = 0; i < array.length; i++) {System.out.println(array[i]);}System.out.println("-------------");for (int i = array.length - 1; i >= 0; i--) {System.out.println(array[i]);}}
二、数组下标越界异常
java.lang.Array Index OutOf Bounds Exception: 4
数组下标越界异常
@Test
public void test45() {int[] array = new int[4];array[0] = 33;array[1] = 2;array[2] = 45;array[3] = 19;for (int i = 0; i <= array.length; i++) {//java.lang.ArrayIndexOutOfBoundsException: 4System.out.println(array[i]);}
}
三、数组累加和、最大值、最小值、冒泡排序
数组最重要操作就是遍历。
只要能遍历所有元素就可以求最大值、最小值、对数组排序
1、数组累加和
@Test
public void test189() {int[] array = new int[4];array[0] = 33;array[1] = 2;array[2] = 45;array[3] = 19;//array.fori foriint sum = 0;for (int i = 0; i < array.length; i++) {sum = sum + array[i];}System.out.println("sum: " + sum);
}
2、最大值、最小值
//数组最重要操作就是遍历。
//只要能遍历所有元素:求最大值、最小值、排序。
@Test
public void test23(){int[] array = {23, 45, 67, 2, 12};int max = array[0];for (int i = 0; i < array.length; i++) {if (array[i] > max) {max = array[i];}}System.out.println("max: " + max);
}@Test
public void test333() {int[] array = {23, 45, 67, 2, 12};int maxValue = getMax(array);System.out.println(maxValue);
}//参数,形参
/*** 返回数组的最大值* @param array 传递过来的数组* @return 数组最大值*/
public int getMax(int[] array) {int max = array[0];for (int i = 0; i < array.length; i++) {if (array[i] > max) {max = array[i];}}return max;
}@Test
public void test24(){int[] array = {23, 45, 67, 2, 12};int min = array[0];for (int i = 0; i < array.length; i++) {if (array[i] < min) {min = array[i];}}System.out.println("min: " + min);
}
3、数组的排序:冒泡排序
int[] array = {40, 17, 21, 1}; // 1, 17,21,40
第一轮:40冒到最右边
17,40,21,1
17,21,40,1
17,21,1,40 ------- 40 冒出来
第二轮:21冒出来
17,21,1,40
17,1,21,40 ------- 21冒出来
第三轮:17冒出来
1,17,21,40 ------- 17冒出来public void sort(int[] array) {
}4个数只要比较3轮就可以,剩下那个数不要要排序就是最小的
第一轮:比较3次
第二轮:比较2次
第三轮:比较1次
i+j =4=array.length
j=array.length-i
@Test
public void test22() {//i=1 j=int[] array = {40, 17, 21, 1}; // 1, 17,21,40sort(array);for (int i = 0; i < array.length; i++) {System.out.println(array[i]);}
}private void sort(int[] array) {for (int i = 1; i <= array.length - 1; i++) {for (int j = 0; j < array.length - i; j++) {if (array[j] > array[j + 1]) {int temp = array[j];array[j] = array[j + 1];array[j + 1] = temp;}}}
}
四、数组复制
1、System.arraycopy
这是标准且高效的方法,适用于复制数组的部分或全部。
int[] source = {1, 2, 3, 4, 5};
int[] dest = new int[5];
System.arraycopy(source, 0, dest, 0, source.length);//数组.fori
/*for (int i = 0; i < dest.length; i++) {System.out.println(dest[i]);
}*/
//增强的for循环 数组.for
for (int num : dest) {System.out.print(num + " ");
}
参数说明:1.source:源数组
2.0:源数组的起始位置
3.dest:目标数组
4.0:目标数组的起始位置
5.source.length:复制的元素个数
2、使用 Arrays.copyOf 方法
适合复制整个数组或调整大小时使用。
import java.util.Arrays;int[] source = {1, 2, 3, 4, 5};
int[] copiedArray = Arrays.copyOf(source, source.length); // 复制整个数组for (int num : copiedArray) {System.out.print(num + " ");
}
可以调整目标数组的大小:
int[] array = Arrays.copyOf(source, 10); // 创建长度为 10 的数组
3、使用 Arrays.copyOfRange 方法
复制数组的指定范围。
import java.util.Arrays;int[] source = {1, 2, 3, 4, 5};
int[] array = Arrays.copyOfRange(source, 1, 4); // 复制索引 1 到 3 的元素for (int num : array) {System.out.print(num + " ");
}
4、使用 clone 方法
适用于简单复制整个一维数组。
int[] source = {1, 2, 3, 4, 5};
int[] array = source.clone();for (int num : array) {System.out.print(num + " ");
}
5、手动遍历赋值
当需要自定义复制逻辑时使用。
int[] source = {1, 2, 3, 4, 5};
int[] dest = new int[source.length];for (int i = 0; i < source.length; i++) {dest[i] = source[i];
}for (int num : dest) {System.out.print(num + " ");
}
6、对比
五、二维数组(了解)
二维数组里面又是个一位数组
Java数组支持规则数组和不规则数组:
1、二维数组的创建和初始化:
int[][] array = {{1,2},{2,3},{3,4,5}};从最高维开始,分别为每一维分配空间:
int[][] array = new int[3][];
array[0] = new int[2];
array[1] = new int[2];
array[2] = new int[3];
array[0][0] = 1;
array[1][1] = 3;
两行互换:
int[] temp = array[0];
array[0] = array[1];
array[1] = temp;
直接为每一维分配空间:
int[][] array = new int[2][3];
@Test
public void test222() {int[][] array = new int[3][];array[0] = new int[2];array[1] = new int[2];array[2] = new int[3];array[0][0] = 23;array[0][1] = 12;array[1][0] = 22;array[1][1] = 22;array[2][0] = 21;array[2][1] = 22;array[2][2] = 23;for (int i = 0; i < array.length; i++) {for (int j = 0; j < array[i].length; j++) {System.out.println(array[i][j]);}}
}
六、作业
1、int[] scores={0,0,1,2,3,5,4,5,2,8,7,6,9,5,4,8,3,1,0,2,4,8,7,9,5,2,1,2,3,9};
求出上面数组中0-9分别出现的次数
@Test
public void test2() {int[] scores={0,0,1,2,3,5,4,5,2,8,7,6,9,5,4,8,3,1,0,2,4,8,7,9,5,2,1,2,3,9};int count0 = 0;int count1 = 0;int count2 = 0;int count3 = 0;for (int i = 0; i < scores.length; i++) {switch (scores[i]) {case 0:count0++;break;case 1:count1++;break;case 2:count2++;break;case 3:count3++;break;}}System.out.println("0出现"+count0+"次");System.out.println("1出现"+count1+"次");System.out.println("2出现"+count2+"次");System.out.println("3出现"+count3+"次");
}@Test
public void test3() {int[] scores={0,0,1,2,3,5,4,5,2,8,7,6,9,5,4,8,3,1,0,2,4,8,7,9,5,2,1,2,3,9};int[] counts = new int[10];//int count0 = 0; counts[0]//int count1 = 0; counts[1]//int count2 = 0; counts[2]//int count3 = 0; counts[3]for (int i = 0; i < scores.length; i++) {counts[scores[i]]++;}//增强的for循环/*for (int count : counts) {System.out.println("1出现的3次");}*/for (int i = 0; i < counts.length; i++) {System.out.println(i + "出现的"+counts[i]+"次");}}
2、int[] scores={0,0,1,2,3,5,4,5,2,8,7,6,9,5,4,8,3,1,0,2,4,8,7,9,5,2,1,2,3,9};
要求求出其中的奇数个数和偶数个数。
3、 0.6332的数据类型是()
A float B double C Float D Double
4、 Java 中 main() 函数的返回值是什么 ?
A 、 String
B 、 int
C 、 char
D 、 void
5 、如下哪个字串在Java 中可作为自定义标识符?
A 、 $number
B 、 super
C 、 3number
D 、 #number
6 、下面的代码段中,执行之后 i 和 j 的值是什么 ?
int i = 1;
int j;
j = i++;
A 、 1, 1
B 、 1, 2
C 、 2, 1
D 、 2, 2
7 、下面哪个赋值语句不是合法的?
A 、 float a = 2.0
B 、 double b = 2.0
C 、 int c = 2
D 、 long d = 2
java中小数默认是double类型,整数的默认类型是int。
如果想把小数赋值给float类型,float f = 10.1f;
8 、下面哪个是 main() 函数的合法参数 ?
A 、 char args[]
B 、 char args[][]
C 、 String[] args
D 、 String args
argument
9 、已知表达式 int[] m = {0, 1, 2, 3, 4, 5, 6 };
下面哪个表达式的值与数组最大下标数相等?
A 、 m.length()
B 、 m.length-1
C 、 m.length()+1
D 、 m.length+1
10、 在Java中,属于整数类型变量的是( )
A.single
B.double
C.byte
D.char
11.下列语句哪一个正确()
A. Java程序经编译后会产生machine code
B. Java程序经编译后会产生byte code(字节码) .class
C. Java程序经编译后会产生DLL
D.以上都不正确
12、题目:一个任意一个字符串,判断它是不是回文。
“abcba”
char[] array = {‘a’ , ‘b’, ‘c’, ‘b’ , ‘a’};
i=0 j=array.length-1
i=1 j=array.length-2
i+j=array.length-1
j=array.length-i-1
array.length-i-1
public void test889() {Scanner scanner = new Scanner(System.in);System.out.println("请输入字符串: ");String str = scanner.next();//String str = "abcba";char[] array = str.toCharArray();//初始认为是回文,接下来遍历看能不能找到一个反例//最后遍历完了都没有找到反例,代表是回文//boolean flag = true;boolean isHuiWen = true;for (int i = 0; i < array.length / 2; i++) {if (array[i] != array[array.length - i - 1]) {isHuiWen = false;//找到一个反例,就证明一定不是回文,不需要再往后判断break;}}//初始认为是回文,遍历完了,没有找到任何一个反例,这个字符串就是回文if (isHuiWen) {System.out.println("是回文");} else {System.out.println("不是回文");}}
13、输入一行字符串,分别统计出其中英文字母、空格、数字和其它字符的个数。
@Testpublic void test78() {Scanner scanner = new Scanner(System.in);System.out.println("请输入字符串:");String str = scanner.nextLine();//"dsfhi 34**DSD [34"char[] array = str.toCharArray();int letterCount = 0;int spaceCount = 0;int digitCount = 0;int otherCount = 0;for (int i = 0; i < array.length; i++) {if ((array[i] >= 'A' && array[i] <= 'Z') || (array[i] >= 'a' && array[i] <= 'z')) {letterCount++;} else if (array[i] == ' ') {spaceCount++;} else if (array[i] >= '0' && array[i] <= '9') {digitCount++;} else {otherCount++;}}System.out.println("字母出现次数:" + letterCount);System.out.println("空格出现次数:" + spaceCount);System.out.println("数字出现次数:" + digitCount);System.out.println("其他出现次数:" + otherCount);}
相关文章:
7、数组知识点汇总
一、 数组基本概念 程序算法数据结构 算法:解决程序的流程步骤数据结构:将数据按照某种特定的结构来存储设计良好的数据结构会导致良好的算法。ArrayList、LinkedList 数组是最简单的数据结构。 1、数组: 数组:存放同一种类型…...
蓝桥杯c/c++需要掌握的基础语法总结
1、#include<bits/stdc.h> 万能头文件 2、using namespace std; 3、输出 cout<<""<<end1; (换行) printf(""); 4、int x3;整数 double d3.14;小数 char ch’A‘;字符 char s[]"Hell…...
学习第七十四行
qt调用信号与槽机制: MOC查找头文件中的signal与slots,标记出信号槽。将信号槽信息储存到类静态变量staticMetaObject中,并按照声明的顺序进行存放,建立索引。connect链接,将信号槽的索引信息放到一个双向链表中&…...
《罗宾逊-旅途VR》Build2108907官方学习版
《罗宾逊-旅途VR》官方版 https://pan.xunlei.com/s/VODiY5gn_fNxKREdVRdwVboCA1?pwdsh3f# 从第一人称的角度进行探索,玩家将遇到一系列恐龙和生物,这些恐龙和生物会对它们在泰森三世生态系统中的存在做出反应。强调与周围环境的互动,鼓励玩…...
详解共享WiFi小程序怎么弄!
在数字化时代,共享WiFi项目正逐渐成为公共场所的新标配,它不仅为用户提供了便捷的上网方式,还为商家带来了额外的收入来源。那么共享wifi怎么弄,如何搭建并运营一个成功的共享WiFi项目呢? 共享WiFi项目通过在公共场所…...
Glide加载gif遇到的几个坑
Glide本身支持gif格式的动画加载,但是大多数情况下我们用Glide都是去加载一些静态图片,加载gif动态图的需求不是很多,因此这次使用Glide加载gif就遇到了一些令人匪夷所思的问题 问题一:加载gif图片会有明显的卡顿 通常情况下我们…...
mybatis(19/134)
大致了解了一下工具类,自己手敲了一边,java的封装还是真的省去了很多麻烦,封装成一个工具类就可以不用写很多重复的步骤,一个工厂对应一个数据库一个environment就好了。 mybatis中调用sql中的delete占位符里面需要有字符…...
部分“古董机”编程读取文件时出现文件损坏的简易处理办法(简单粗暴) - 随笔
在部分老旧计算机(通常被戏称为“古董机”)上编程,读取文件时可能会遇到文件损坏的问题。这通常是由于硬件性能限制或操作系统的文件处理机制导致的。本文将介绍几种简易的处理办法,以解决或绕过这一问题。 方法1. 调整磁盘关闭时…...
StarRocks 3.4 发布--AI 场景新支点,Lakehouse 能力再升级
自 StarRocks 3.0 起,社区明确了以 Lakehouse 为核心的发展方向。Lakehouse 的价值在于融合数据湖与数据仓库的优势,能有效应对大数据量增长带来的存储成本压力,做到 single source of truth 的同时继续拥有极速的查询性能,同时也…...
强化学习入门--基本概念
强化学习基本概念 grid-world example 这个指的是一个小机器人(agent)在一个网格区域(存在边界),网格中存在需要躲避的格子和目标格子,我们的目的就是找到到达目标格子的最短路径 state 表示智能体相对…...
Oracle 创建并使用外部表
目录 一. 什么是外部表二. 创建外部表所在的文件夹对象三. 授予访问外部表文件夹的权限3.1 DBA用户授予普通用户访问外部表文件夹的权限3.2 授予Win10上的Oracle用户访问桌面文件夹的权限 四. 普通用户创建外部表五. 查询六. 删除 一. 什么是外部表 在 Oracle 数据库中&#x…...
深度学习python基础(第三节) 函数、列表
本节主要介绍函数、列表的基本语法格式。 函数 与c语言的函数差不多,就是语法基本格式不同。 name "loveyou" length len(name) print("字符串的长度为:%d" % length) # 自定义函数 def countstr(data):count 0for i in da…...
基于Python的多元医疗知识图谱构建与应用研究(上)
一、引言 1.1 研究背景与意义 在当今数智化时代,医疗数据呈爆发式增长,如何高效管理和利用这些数据,成为提升医疗服务质量的关键。传统医疗数据管理方式存在数据孤岛、信息整合困难等问题,难以满足现代医疗对精准诊断和个性化治疗的需求。知识图谱作为一种知识表示和管理…...
Spring Boot 快速创建项目
目录 一. 创建项目 编辑 二. 项目目录 三. 运行项目 (1) 启动项目 (2) 输出HelloWorld 一. 创建项目 我们以idea专业版为例创建Spring项目: 步骤: (1) File --> New --> Project (2) 配置项目基本信息 (3) 依赖: 需要什么就勾选什么. 我们这里就只勾选一个Spri…...
MySQL预编译语句过多告警排查
业务背景 在使用Spring Cloud Alibaba搭建的微服务架构中,项目采用ShardingSphere进行分库分表,MyBatis-Plus作为持久层。线上环境突发大量预编译语句过多的数据库告警,导致系统性能下降。 排查过程 1. 初步排查:联系云数据库厂…...
在centos上编译安装opensips【初级-默认安装】
环境:centos9 last opensips3.2 dnf update -y dnf install -y gcc make git automake libtool pcre-devel libxml2-devel \libcurl-devel postgresql-devel \bzip2-devel zlib-devel ncurses-devel libuuid-devel \libpcap-devel # 有报错的直接删除cd /usr/lo…...
偏序关系.
一、偏序(半序)关系 偏序关系 自反反对称传递性 二、全序(线序、链)关系 三、偏序集中的重要元素 1. 极大元与极小元 极大元找所在集合的一个或几个最高点; 极小元找所在集合的一个或几个最低点。 2. 最大元与最小…...
Node.js接收文件分片数据并进行合并处理
前言:上一篇文章讲了如何进行文件的分片:Vue3使用多线程处理文件分片任务,那么本篇文章主要看一下后端怎么接收前端上传来的分片并进行合并处理。 目录: 一、文件结构二、主要依赖1. express2. multer3. fs (文件系统模块)4. pat…...
设计模式概述 - 设计模式的重要性
引言 设计模式是软件工程中用于解决常见设计问题的经典解决方案。它们提供了一种标准化的方式来组织和设计代码,使得代码更易于理解、维护和扩展。在C编程中,设计模式尤为重要,因为它们可以帮助开发者应对复杂的系统设计,提高代码…...
OSI5GWIFI自组网协议层次对比
目录 5G网络5G与其他协议栈各层映射 5G网络 物理层 (PHY) 是 5G 基站协议架构的最底层,负责将数字数据转换为适合无线传输的信号,并将接收到的无线信号转换为数字数据。实现数据的编码、调制、多天线处理、资源映射等操作。涉及使用新的频段(…...
网络安全(渗透)
目录 名词解释 2、相互关系 3. 安全影响 名词解释 1、poc、exp、payload与shellcode POC(Proof of Concept): 是一种概念验证代码或演示程序,用于证明漏洞的存在。 主要目的是通过简单的代码或操作向安全研究人员、开发人员…...
Whisper-GPT:混合表征音频大语言模型
Whisper-GPT:混合表征音频大语言模型 当下,利用从神经压缩算法(例如#Encodec#)派生的离散音频标记的生成式音频、语音以及音乐模型数量激增。然而,这种方法的主要缺陷之一在于对上下文长度的处理。如果必须考虑所有不同频率的音频内容才能进行下一个标记预测,那么高保…...
科技重塑未来:前沿技术趋势、跨领域融合与社会影响深度洞察
目录 科技重塑未来:前沿技术趋势、跨领域融合与社会影响深度洞察引言一、前沿技术趋势洞察与分析1. 人工智能与自动化1.1 趋势分析1.2 挑战分析 2. 区块链技术2.1 趋势分析2.2 挑战分析 3. 量子计算3.1 趋势分析3.2 挑战分析 二、跨领域技术融合与创新实践1. AI与大…...
深度学习:大模型Decoding+MindSpore NLP分布式推理详解
大模型推理流程 1. 用户输入提示词(Prompt) 假设用户输入为:“从前,有一只小猫,它喜欢……” 我们的目标是让模型生成一段完整的故事。 2. 模型处理用户输入 2.1 分词:输入提示被分词为模型可以理解的…...
GESP6级语法知识(二):动态规划算法(二)
最小路径和; //最小路径和 #include<iostream> using namespace std; const int N100; int dp[N][N],value[N][N]; int n,m; int main() {cin>>n>>m;for(int i1;i<n;i) //录入初始数字矩阵 for(int j1;j<m;j)cin>>value[i][j];for(int i1;i…...
数据结构与算法之递归: LeetCode 79. 单词搜索 (Ts 版)
单词搜索 https://leetcode.cn/problems/word-search/description/ 描述 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 单词必须按照字母顺序,通过相邻的单…...
智能系统的感知和决策
智能系统在感知和决策过程中具备的关键能力表现在智能感知/自主判定上,下面可以从感知的本质、自主判断的含义及其在智能系统中的作用进行深入分析。 1、智能感知:信息获取与理解 智能感知是指智能系统通过传感器或其他数据采集手段获取环境中的信息&…...
多线程之旅:线程安全问题
之前说到了多线程的创建和一些属性等等,接下来,就来讲讲多线程安全问题。 小编引入这段代码讲解下: public class Demo13 {public static int count0;public static void main(String[] args) throws InterruptedException {Thread t1new…...
用java配合redis 在springboot上实现令牌桶算法
令牌桶算法配合 Redis 在 Java 中的应用令牌桶算法是一种常用的限流算法,适用于控制请求的频率,防止系统过载。结合 Redis 使用可以实现高效的分布式限流。 一.、引入依赖首先,需要在 pom.xml 文件中引入 spring-boot-starter-data-re…...
科学计算库NumPy
NumPy是高性能科学计算和数据分析的基础包。 认识NumPy数据对象 n维数组对象ndarray(array) 数组是编程语言中重要且复杂的数据结构,它是由相同类型元素按照一定的顺序排列的集合。ndarray具有矢量算术能力和复杂的广播能力。 - 维度又称为维数,在数学…...
【大数据】机器学习----------强化学习机器学习阶段尾声
一、强化学习的基本概念 注: 圈图与折线图引用知乎博主斜杠青年 1. 任务与奖赏 任务:强化学习的目标是让智能体(agent)在一个环境(environment)中采取一系列行动(actions)以完成一个…...
Unicode不可见字符
场景复现 在访问 https://dotnet.microsoft.com/zh-cn/apps/aspnet地址时 突然出现 https://dotnet.microsoft.com/zh-cn/apps/aspnet%E2%80%8C%E2%80%8C 但是正常来看,这个地址后面是没有%E2%80%8C%E2%80%8C的,粘贴到idea里发现了url地址后面还拼接了2…...
w172二手车交易系统的设计与实现
🙊作者简介:多年一线开发工作经验,原创团队,分享技术代码帮助学生学习,独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹赠送计算机毕业设计600个选题excel文…...
TRELLIS微软的图生3D
TRELLIS 教程目录: Youtube:https://www.youtube.com/watch?vJqFHZ-dRMhI 官网地址:https://trellis3d.github.io/ GitHub:https://github.com/Microsoft/TRELLIS 部署目录: 克隆项目 git clone --recurse-submodul…...
【力扣:新动计划,编程入门 —— 题解 ①】
向前看,总会有新的故事值得期盼 —— 25.1.21 2235. 两整数相加 给你两个整数 num1 和 num2,返回这两个整数的和。 示例 1: 输入:num1 12, num2 5 输出:17 解释:num1 是 12,num2 是 5 &#x…...
如何使用 Pytest -k 选项轻松筛选测试用例
关注开源优测不迷路 大数据测试过程、策略及挑战 测试框架原理,构建成功的基石 在自动化测试工作之前,你应该知道的10条建议 在自动化测试中,重要的不是工具 你是否曾不得不从成百上千个测试中费力筛选,只为运行几个特定的测试&am…...
C语言之小型成绩管理系统
🌟 嗨,我是LucianaiB! 🌍 总有人间一两风,填我十万八千梦。 🚀 路漫漫其修远兮,吾将上下而求索。 C语言之小型成绩管理系统 目录 设计题目设计目的设计任务描述设计要求输入和输出要求验收要…...
C++ ——— 模拟实现 vector 类
目录 vector 类的框架 无参数的构造函数 析构函数 获取有效数据个数 获取容量 重载 [] 运算符 可读可写版本 只可读版本 扩容 尾插 实现迭代器 可读可写版本 只可读版本 自定义设置size长度和内容 在任意位置插入 删除任意位置的数据 赋值重载 vector 类的框…...
SpringBoot实现轻量级动态定时任务管控及组件化
1关于动态定时任务 关于在SpringBoot中使用定时任务,大部分都是直接使用SpringBoot的Scheduled注解,如下: Component public class TestTask {Scheduled(cron"0/5 * * * * ? ") //每5秒执行一次public void execute(){SimpleDa…...
STM32 FreeRTOS 任务挂起和恢复---实验
实验目标 学会vTaskSuspend( )、vTaskResume( ) 任务挂起与恢复相关API函数使用: start_task:用来创建其他的三个任务。 task1:实现LED1每500ms闪烁一次。 task2:实现LED2每500ms闪烁一次。 task3:判断按键按下逻辑,KE…...
#漏洞挖掘# 一文了解什么是Jenkins未授权访问!!!
免责声明 本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停…...
1.21学习记录
misc 2023isctf 你说爱我尊嘟假嘟 这题有点脑洞,需要把你说爱我换成Ook.将尊嘟换为Ook!假嘟换成Ook?(根据语气进行猜测吧)用在线工具解密最后用base64解密即可 2023isctf 杰伦可是流量明星 解压后是一个MP3文件&am…...
【Pandas】pandas Series groupby
Pandas2.2 Series Function application, GroupBy & window 方法描述Series.apply()用于将一个函数应用到 Series 的每个元素或整个 SeriesSeries.agg()用于对 Series 数据进行聚合操作Series.aggregate()用于对 Series 数据进行聚合操作Series.transform()用于对 Series…...
Text2SQL 智能报表方案介绍
0 背景 Text2SQL智能报表方案旨在通过自然语言处理(NLP)技术,使用户能够以自然语言的形式提出问题,并自动生成相应的SQL查询,从而获取所需的数据报表,用户可根据得到结果展示分析从而为结论提供支撑&#…...
51c~SLAM~合集1
我自己的原文哦~ https://blog.51cto.com/whaosoft/12327374 #GSLAM 自动驾驶相关~~~ 一个通用的SLAM架构和基准 GSLAM:A General SLAM Framework and Benchmark 开源代码:https://github.com/zdzhaoyong/GSLAM SLAM技术最近取得了许多成功&am…...
服务器安装ESXI7.0系统及通过离线包方式升级到ESXI8.0
新到了一台物理服务器需要安装系统,项目不急用,先拿来做些实验。 本次实验目标: 1、在物理服务器上安装ESXI7.0系统; 2、通过离线包升级方式将ESXI7.0升级为ESXI8.0。 实验环境准备: 物理服务器1台,型号…...
计算机网络 (52)秘钥分配
一、重要性 在计算机网络中,密钥分配是密钥管理中的一个核心问题。由于密码算法通常是公开的,因此网络的安全性主要依赖于密钥的安全保护。密钥分配的目的是确保密钥在传输过程中不被窃取或篡改,同时确保只有合法的用户才能获得密钥。 二、方…...
xctf-comment(Intruder,git恢复,SQL注入,Hex解码)
这题是2018年网鼎杯真题,考察 Burp Suite 的 Intruder 模块去找用户密码,使用 githacker 恢复代码(githack不行),代码审计发现SQL二次注入,尝试SQL注入读取文件内容,读取的是/home/www/.bash_hi…...
Docker Compose创建镜像服务
什么是Docker Compose 使用Docker Compose,可以使用YAML配置文件(称为Compose文件)来配置应用程序的服务,然后使用Compose CLI从配置中创建并启动所有服务 。 Compose文件的默认路径是compose.yaml(首选)…...
kafka学习笔记5 PLAIN认证——筑梦之路
在Kafka中,SASL(Simple Authentication and Security Layer)机制包括三种常见的身份验证方式: SASL/PLAIN认证:含义是简单身份验证和授权层应用程序接口,PLAIN认证是其中一种最简单的用户名、密码认证方式&…...