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

Kotlin复习

一、Kotlin类型

1.整数

2.浮点

显示转换:

所有数字类型都支持转换为其他类型,但是转换前会检测长度。

toByte(): Byte

toShort(): Short

toInt(): Int

toLong(): Long

toFloat(): Float

toDouble(): Double

不同进制的数字表示方法(为了提高代码的可读性可维护性,Kotlin不支持八进制):

十进制: 123

十六进制: 0x0F 0x8C

二进制: 0b 0000 1011

Kotlin支持数字运算的标准集:+、 -、 *、 /、 %等。它们已定义为相应的函数:

fun main() {
println(1 + 2)
println(2_500_000_000L - 1L)
println(3.14 * 2.71)
println(10.0 / 3)
}

整数间的除法永远返回整数,除非其中一个整数显式地转换为浮点数

3.布尔

4.字符

5.字符串

6.字符串模板与格式化输出 

(1)使用美元符号

val name = "Alice"

val age = 30

val message = "Hello, my name is ${name} and I am ${age} years old.“

print(message)

(2)使用百分号格式化字符串输出

val number = 123.456

println("Formatted number:%.2f".format(number))

(3)使用String.format()函数

val name = "Bob"

val age = 25

val formattedString = String.format("Name: %s, Age: %d", name, age)

7.数组Array

Kotlin 中的数组是一种用于存储相同类型元素的集合。它允许按顺序存储元素,并通过索引来访问这些元素。Kotlin 提供了两种类型的数组:原生数组和 Kotlin 数组。

(1)Kotlin数组,使用arrayOf创建

val array = arrayOf(1,2,3,4,5) // 创建一个包含整数的Kotlin数组

(2)原生数组,不同类型使用不同的创建方法

val intArray = IntArray(5) // 创建一个包含5个整数的原生数组,默认初始值为0

8.集合

由于数组存在上述限制,因此一般仅在需要自定义数据结构时,或对访问性能有要求时才会使用数组。其余情况下,Kotlin中推荐使用“集合”:List Set Map

List(列表):List 是一种有序集合,允许包含重复元素。Kotlin 中的 List 接口有多个实现类,如 ArrayList、LinkedList 等。

Set(集):Set 是一种不包含重复元素的集合,元素之间没有明确的顺序。Kotlin 中的 Set 接口有多个实现类,如 HashSet、LinkedHashSet、SortedSet 等。

Map(映射):Map 是一种键值对的集合,每个键都唯一对应一个值。Kotlin 中的 Map 接口有多个实现类,如 HashMap、LinkedHashMap、TreeMap 等。

集合的创建方式:

(1)有初始值

val list = listOf(1,2,3,4,5) // 创建一个不可变的List

val mutableList = mutableListOf(1,2,3,4,5)  // 创建一个可变的List

val set = setOf(1,1,1,2,3) // 创建一个不可变的Set

val mutableSet = mutableSetOf(1,2,3,4,5) // 创建一个可变的Set

val map = mapOf(1 to "one",2 to "two",3 to "three") // 创建一个不可变的Map

val mutableMap = mutableMapOf(1 to "one",2 to "two",3 to "three") // 创建一个可变的Map

(2)使用构造函数

val list  = ArrayList<Int>() // 创建一个空的ArrayList

val set = HashSet<String>() // 创建一个空的HashSet

val map = HashMap<Int,String>() // 创建一个空的HashMap

添加元素:

list.add(1)

set.add("hello")

map[1] = "one"

9.检测与转换

(1)is操作符

(2)as操作符

二、Kotlin控制流程

1. if 表达式

2.When表达式

3.For循环

4.While循环

5.异常

三、Kotlin类与对象

1.类

2.构造函数

Kotlin中的构造函数用法与Java类似,但是在结构上有较大的不同。

(1)主构造函数与初始化块

(2)次构造函数

3.继承

在 Kotlin 中所有类都有一个共同的超类 Any,对于没有超类型声明的类它是默认超类:

class Example // 从 Any 隐式继承

Any 有三个方法:equals()、 hashCode() 与 toString()

因此,为所有 Kotlin 类都定义了这些方法。默认情况下,Kotlin 类是最终(final)的——它们不能被继承。 要使一个类可继承,需用 open 关键字标记它:

open class Base // 该类开放继承

如需声明一个显式的超类型,需把超类型放到冒号之后:

open class Base(p: Int)

class Derived(p: Int) : Base(p)

继承与构造函数

方法与属性的覆盖

四、Kotlin协程

1.Kotlin 中的协程(Coroutines)是一种轻量级的线程模型,用于简化异步编程。它们提供了一种在代码中以顺序、可读的方式表达并发性的方法,而无需使用传统的回调函数或显式的线程管理。 

主线程安全:在安卓开发中,需要确保 UI 操作只在主线程(UI 线程)中执行。协程提供了与主线程进行交互的便捷方式,使得可以异步执行耗时操作(文件处理、网络通信),并在必要时切换到主线程更新 UI。

简化异步编程: 使用协程可以使异步编程变得更简洁、易读和易维护。相比于传统的回调函数或者使用异步任务(AsyncTask)等方式,协程提供了更加顺序、自然的编码方式,避免了回调地狱(callback hell)的问题。同时协程相较于线程更加轻量和灵活。

进程、线程和协程三者之间的关系如图所示

2.基本概念

(1)协程作用域(Coroutine Scope):协程的生命周期。

协程作用域定义了协程的生命周期和执行范围。常见的协程作用域如下:

a.全局作用域(Global Scope):该协程的生命周期与整个应用程序的生命周期相同。对应类:GlobalScope。例如,我们在全局作用域的协程内编写了一个无限循环代码,则该代码只有在应用程序退出后才会结束。或者手动调用了该协程的取消函数。

b.局部作用域(Local Scope):该协程的应用周期和应用程序中的某个模块或对象的生命周期相同。对应类:lifecycleScope,viewModelScope。例如,如果在某个activity中开辟了一个协程,则该协程的生命周期与该activity相同,那么当我们在这个协程中进行网络请求,如果activity被销毁,则该网络请求会被立即终止。

(2)协程上下文(Coroutine Context):协程的执行环境,例如调度器。

协程上下文确定了协程的运行环境。几个关键元素如下:

a.调度器(Dispatcher):决定了协程运行在哪个线程上。例如 Dispatchers.Main 会将协程调度到主线程用于UI更新;Dispatchers.IO 会将协程调度到 IO 线程池,用于磁盘和网络IO操作。

b.作业(Job):用于管理协程的生命周期,可以取消或等待协程执行完毕。

c.异常处理器(Exception Handler):用于捕获协程中抛出的未捕获的异常,并进行处理。

d.协程名称(Coroutine Name):用于标识协程的名称,便于调试和日志记录。

(3)协程构建器(Coroutine Builder):用于启动协程。

协程构建器确定了协程的启动方式。最常见的两种启动方式如下:

a. launch :在 CoroutineScope 中启动一个新的协程,但不会阻塞当前线程。launch 返回一个 Job 实例,可以用于管理协程的生命周期(如取消协程)。适用于不需要从协程中返回结果的并发任务。

b. async:async 旨在执行需要返回结果的并发操作。它返回一个 Deferred 对象,该对象是 Job 的子类,可以用来获取协程的结果。适用于需要从协程中返回结果的并发任务。

相关文章:

Kotlin复习

一、Kotlin类型 1.整数 2.浮点 显示转换&#xff1a; 所有数字类型都支持转换为其他类型&#xff0c;但是转换前会检测长度。 toByte(): Byte toShort(): Short toInt(): Int toLong(): Long toFloat(): Float toDouble(): Double 不同进制的数字表示方法&#xff08;为了提高…...

批处理文件的创建与编辑方法

批处理命令保存在以BAT为扩展名地文本文件中&#xff0c;因此可以使用任何字处理软件创建、编辑批处理文件&#xff0c;如Word、WinHex、Editpuls等。 案例一 使用copy con命令创建批处理文件 ”copy con“是一个功能简单、易于使用的创建文本文件命令&#xff0c;命令中”con…...

Spring Boot集成Kafka:最佳实践与详细指南

文章目录 一、生产者1.引入库2.配置文件3.配置类PublicConfig.javaMessageProducer.java 4.业务处理类 三、消费者1.引入库2.配置类PublicConfig.javaMessageConsumer.java 3.业务类 一、生产者 1.引入库 引入需要依赖的jar包&#xff0c;引入POM文件&#xff1a; <depend…...

maven 中 有历史模块缓存 怎么清

Maven 在运行时会将一些数据保存在本地仓库中&#xff0c;以加快构建过程。其中一部分是项目的依赖项&#xff0c;还有就是“历史模块缓存”。这些缓存信息保存在本地仓库的 _remote.repositories 文件中。 解决方案&#xff1a; 手动删除缓存文件&#xff1a; 进入你的Maven本…...

云计算HCIP-OpenStack04

书接上回&#xff1a; 云计算HCIP-OpenStack03-CSDN博客 12.Nova计算管理 Nova作为OpenStack的核心服务&#xff0c;最重要的功能就是提供对于计算资源的管理。 计算资源的管理就包含了已封装的资源和未封装的资源。已封装的资源就包含了虚拟机、容器。未封装的资源就是物理机提…...

【信息系统项目管理师-论文真题】2015下半年论文详解

更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 论题一:大项目或多项目的成本管理解题思路写作要点论题二:项目的采购管理解题思路写作要点论题一:大项目或多项目的成本管理 随着移动互联网、物联网、云计算、大数据等新一代信息技术的广泛应用,我国目前…...

C# 面试中常见递归算法

前言 今天我们主要总结一下C#面试中常见递归算法。 C#经典十大排序算法&#xff08;完结&#xff09; C#递归算法计算阶乘的方法 一个正整数的阶乘&#xff08;factorial&#xff09;是所有小于及等于该数的正整数的积&#xff0c;并且0的阶乘为1。自然数n的阶乘写作n!。180…...

qemu源码解析【02】qom基本概念

目录 qemu源码解析【02】qom基本概念参考资料基本数据结构TypeImplObjectClassObjectTypeInfo qemu源码解析【02】qom基本概念 参考资料 https://blog.csdn.net/u011364612/article/details/53485856qemu中为了模拟各种虚拟设备和总线&#xff0c;采用了面向对象的思想&#…...

C++算法第八天

本篇文章我们继续学习c算法 目录 第一题 题目链接 题目展示 代码原理 代码编写 第二题 题目链接 题目展示 代码原理 代码编写 第三题 题目链接 题目展示 代码原理 代码编写 第一题 题目链接 69. x 的平方根 - 力扣&#xff08;LeetCode&#xff09; 题目展示…...

大语言模型的常用微调方法

文章目录 数据构造与清洗数据构造方法1.基于 Self-Instruct 方法的数据构造2.面向结构化知识的数据构造 数据清洗方法1.IFD 指标法2. MoDS 方法 2.2 分词器构造2.2.1 分词器概述BPE 分词器WordPiece 分词器Unigram 分词器 2.3 大型语言模型的微调方法前缀调优提示调优P-Tuning …...

安卓获取所有可用摄像头并指定预览

在Android设备中&#xff0c;做预览拍照的需求的时候&#xff0c;我们会指定 CameraSelector DEFAULT_FRONT_CAMERA前置 或者后置CameraSelector DEFAULT_BACK_CAMERA 如果你使用的是平板或者工业平板&#xff0c;那么就会遇到多摄像头以及外置摄像头问题&#xff0c;简单的指…...

Jwt和Session的区别和优缺点

目录 一、Authentication和Authorization的区别 二、用户认证的两种主流方法 ① 、基于session认证流程如下&#xff1a; ②、基于token&#xff08;令牌&#xff09;用户认证如下&#xff1a; 三、区别和优缺点 JWT的优点&#xff1a; JWT的缺点&#xff1a; 安全性 …...

如何使用 Python 读取和写入 CSV 文件?

在Python中&#xff0c;处理CSV文件是一项常见的任务&#xff0c;通常用于数据交换和数据存储。 Python的标准库csv模块提供了一种方便的方式来读取和写入CSV文件。 下面我将详细介绍如何使用Python的csv模块来读取和写入CSV文件&#xff0c;并提供一些实际开发中的建议和注意…...

FR2012富芮坤PMU:设置PMU GPIO为输入读取状态;在睡眠功能中读取IO;PMU GPIO设置唤醒源中断

从事嵌入式单片机的工作算是符合我个人兴趣爱好的,当面对一个新的芯片我即想把芯片尽快搞懂完成项目赚钱,也想着能够把自己遇到的坑和注意事项记录下来,即方便自己后面查阅也可以分享给大家,这是一种冲动,但是这个或许并不是原厂希望的,尽管这样有可能会牺牲一些时间也有哪天原…...

私有云dbPaaS为何被Gartner技术成熟度曲线标记为“废弃”?

当云计算席卷而来&#xff0c;基于云基础设施的数据库部署也改变了数据库。在传统的私有化部署&#xff08;On-premises&#xff09;和公有云部署&#xff08;Public Cloud&#xff09;之间&#xff0c;不断融合的混合IT&#xff08;Mixed IT&#xff09;形式成为最常见的企业级…...

RabbitMQ 高级特性——延迟队列

文章目录 前言延迟队列延迟队列的概念TTL 死信队列模拟延迟队列设置队列的 TTL设置消息的 TTL 延迟队列插件安装并且启动插件服务使用插件实现延迟功能 前言 前面我们学习了 TTL 和死信队列&#xff0c;当队列中的消息达到了过期时间之后&#xff0c;那么这个消息就会被死信交…...

Perl 引用

Perl 引用 Perl&#xff0c;作为一种灵活而强大的编程语言&#xff0c;广泛用于系统管理、网络编程、GUI开发等领域。在Perl编程中&#xff0c;引用&#xff08;References&#xff09;是一个核心概念&#xff0c;它允许变量引用其他数据&#xff0c;从而创建复杂的数据结构&a…...

llama2——微调lora,第一次参考教程实践完成包括训练和模型

前言&#xff1a;磕磕绊绊&#xff0c;不过收获很多&#xff0c;最大的收获就是解决报错error的分析方法和解决思路 1、首先&#xff0c;我参考的是这篇博客&#xff1a;怎样训练一个自己的大语言模型&#xff1f;全网最简单易懂的教程&#xff01;_开源模型训练出一个语言模型…...

【人工智能数学基础篇】——深入详解矩阵分解:奇异值分解(SVD)与主成分分析(PCA)在数据降维与特征提取中的应用

目录 1. 引言 2. 矩阵分解概述 2.1 矩阵分解的意义 3. 奇异值分解&#xff08;SVD&#xff09; 3.1 定义与数学基础 3.2 SVD 的性质 3.3 SVD 在数据降维中的应用 3.4 示例代码&#xff1a;使用 SVD 进行图像压缩 3.5 结果分析 4. 主成分分析&#xff08;PCA&#xff0…...

C++常见面试题-初级2

1. C和C有什么区别&#xff1f; C是面向对象的语言&#xff0c;而C是面向过程的语言&#xff1b;C引入new/delete运算符&#xff0c;取代了C中的malloc/free库函数&#xff1b;C引入引用的概念&#xff0c;而C中没有&#xff1b;C引入类的概念&#xff0c;而C中没有&#xff1…...

R square 的计算方法和一点思考

模型的性能评价指标有几种方案&#xff1a;RMSE&#xff08;平方根误差&#xff09;、MAE&#xff08;平均绝对误差&#xff09;、MSE(平均平方误差)、R2_score 其中&#xff0c;当量纲不同时&#xff0c;RMSE、MAE、MSE难以衡量模型效果好坏。这就需要用到R2_score&#xff1…...

梳理你的思路(从OOP到架构设计)_简介EIT造形

目录 1、 复习<基类 /子类>的扩充(extends)结构 典型的<基类/子类>代码结构 <基类/子类>代码结构的变形 2、 从<基类/子类>结构到EIT造形 3、 EIT造形的基本形与变形 1、 复习<基类 /子类>的扩充(extends)结构 典型的<基类/子类>代码…...

梳理你的思路(从OOP到架构设计)_认识EIT造形与内涵

目录 1、 认识类(Class)与内涵 2、 认识EIT造形与内涵 EIT造形&#xff1a; 类造形的组合​编辑 复习EIT的基本形与变形​编辑 不同内涵 EIT造形 1、 认识类(Class)与内涵 回顾 类(Class)是比较小的造形 各种不同内涵&#xff0c;可以透过类(Class)的形式(Form)来呈现出…...

【FTP】FTP基础知识点

文章目录 一、概述二、 工作原理2.1 两个连接2.2 安全性 三、代码实现&#xff1a;1. 选择合适的库2. 连接配置和初始化3. 连接状态检查4. 重连机制5. 文件操作6. 安全性7. 资源管理 参考&#xff1a; 一、概述 将某台计算机中的文件通过网络传送到可能相距很远的另一台计算机…...

排序算法(7):堆排序

问题 排序 [30, 24, 5, 58, 18, 36, 12, 42, 39] 堆排序 堆排序是一种基于堆数据结构的排序算法。堆是一个近似完全二叉树的结构&#xff0c;即除了最后一层外&#xff0c;每一层都必须填满&#xff0c;且最后一层从左往右填充。 堆可以分为大根堆和小根堆。在大根堆中&…...

BERT模型入门(6)语言建模

文章目录 自回归语言建模自编码语言建模 BERT模型在以下两个任务上进行预训练&#xff1a; &#xff08;1&#xff09;掩蔽语言建模 &#xff08;2&#xff09;下一句预测 让我们逐一了解这两种预训练策略是如何工作的。在介绍掩蔽语言模型任务之前&#xff0c;首先让我们了…...

RNN LSTM Seq2Seq Attention

非端到端&#xff1a; data -》 cleaning -》 feature Engining &#xff08;70%-80%工作 设计特征&#xff09;-》 分类器 -》预测 端到端 End-to-End&#xff1a; data -》 cleaning -》Deep learning&#xff08;表示学习&#xff0c;从数据中学习特征&#xff09; -》…...

go语言使用websocket发送一条消息A,持续接收返回的消息

在Go语言中实现一个WebSocket客户端&#xff0c;可以使用gorilla/websocket这个非常流行的库来处理WebSocket连接。下面是一个简单的示例&#xff0c;展示了如何创建一个WebSocket客户端&#xff0c;向服务器发送消息"A"&#xff0c;并持续接收来自服务器的响应。 首…...

音频进阶学习八——傅里叶变换的介绍

文章目录 前言一、傅里叶变换1.傅里叶变换的发展2.常见的傅里叶变换3.频域 二、欧拉公式1.实数、虚数、复数2.对虚数和复数的理解3.复平面4.复数和三角函数5.复数的运算6.欧拉公式 三、积分运算1.定积分2.不定积分3.基本的积分公式4.积分规则线性替换法分部积分法 5.定积分计算…...

沟通的艺术,学会转移矛盾

我的一位好友&#xff0c;资深项目经理&#xff0c;同时也是我公益课程的热心志愿者&#xff0c;最近向我倾诉了他在团队沟通上的挑战。 他发现&#xff0c;尽管辅导学员时感到轻松愉快&#xff0c;但与自己团队成员的沟通却充满挫折。 我询问了他的沟通方式&#xff0c;他解释…...

测评|携程集团25年社招在线测评北森题库、真题分析、考试攻略

携程集团社招入职测评北森题库主要考察以下几个方面&#xff1a; 1. **言语理解**&#xff1a;这部分主要测试应聘者运用语言文字进行思考和交流、迅速准确地理解和把握文段要旨的能力。 2. **资料分析**&#xff1a;包括文字题和图表题&#xff0c;考察应聘者快速找出关键信息…...

C++(进阶) 第4章 map和set的使⽤

C&#xff08;进阶) 第4章 map和set的使⽤ 文章目录 前言一、序列式容器和关联式容器二、set1. insert2.迭代器遍历3.范围for4.erase5.count6.lower_bound和upper_bound 三、multiset总结 前言 上一篇博客写了二叉搜索树&#xff0c;这一篇博客会在上一篇博客原来的上在深入介…...

数独游戏app制作拆解(之三)——数字候选区实现

所谓的数据候选区就是这个&#xff1a; 数字候选区功能及实现&#xff1a; 说明&#xff1a;这部分其实也是textview. 本区功能&#xff1a; 一、实现数字显示到显示区。点击显示区选定某个格子后&#xff0c;再点击这里的数字&#xff0c;会在格子内显示相应的数字。在编辑…...

数据结构——排序

*排序属于数据的运算 1、定义:将一组杂乱无章的数据按一定规律顺次排列一起,即将无序序列排成一个有序序列的运算。 (如果参加排序的数据结构包含多个数据域,那么排序往往是针对其中某个域而言) 2、排序的应用十分广泛:程序中间接应用(二分查找、最短路径、最小生成树…...

制造业4.0:AI与机器人如何重塑生产线

引言&#xff1a;从传统到未来的转型 在轰鸣的生产线上&#xff0c;传统制造业曾以规模化生产和成本效益为核心竞争力&#xff0c;推动了全球工业化进程。然而&#xff0c;面对现代市场的多样化需求和激烈竞争&#xff0c;这种模式正暴露出越来越多的局限性&#xff1a;产能过剩…...

Fastdfs V6.12.1集群部署(arm/x86均可用)

文章目录 一、 Fastdfs 介绍二、部署 信息三、步骤tracker/storage 机器的 compose 内容storage 机器的 composetracker 与 storage 启动目录层级与配置文件测试测试集群扩容与缩减注意事项 一、 Fastdfs 介绍 FastDFS 是一款高性能的分布式文件系统&#xff0c;特别适合用于存…...

【学习笔记】深入浅出详解Pytorch中的View, reshape, unfold,flatten等方法。

文章目录 一、写在前面二、Reshape&#xff08;一&#xff09;用法&#xff08;二&#xff09;代码展示 三、Unfold&#xff08;一&#xff09;torch.unfold 的基本概念&#xff08;二&#xff09;torch.unfold 的工作原理&#xff08;三&#xff09; 示例代码&#xff08;四&a…...

解决Presto dirver timestamp时区问题

#bigdata/metabase 一、背景介绍 1、Presto版本 使用阿里云集群的版本 EMR-5.4.2&#xff0c;Presto的版本为338&#xff1b; Facebook后续不再维护&#xff0c;Trino 351为首个版本 2、Metabase版本 历史版本为0.38.4&#xff0c;新版本为0.51.5 3、0.38.4 cast to time…...

【优选算法】Prefix-Kage:前缀和的算法影(上)

文章目录 1.概念解析2.代码实现2.1【模版】前缀和&#xff08;一维&#xff09;2.1.1 原理2.1.2 代码实现 2.2【模版】前缀和&#xff08;二维&#xff09;2.2.1 原理2.2.2 代码实现 希望读者们多多三连支持小编会继续更新你们的鼓励就是我前进的动力&#xff01; 本篇是优选算…...

中阳科技:量化交易模型的技术革新与实践应用

在金融市场日益复杂化的今天&#xff0c;量化交易作为数据驱动的现代化交易方式&#xff0c;已成为金融领域发展的关键方向。中阳科技凭借深厚的技术积累与创新能力&#xff0c;积极探索量化交易模型的优化与应用&#xff0c;开辟了智能金融新局面。 量化交易的优势与市场前景…...

golang 判断一个点是否在一个多边形内

我有一需求为&#xff1a;判断一个点&#xff08;经纬度范围&#xff09;是否在一个多边形范围内&#xff08;多个经纬度点&#xff09; 这里我借助几何库&#xff08; github.com/paulmach/orb&#xff09;来处理地理空间数据 可以通过在线获取经纬度来确认代码正确性 packa…...

图论笔记1

1.1邻接矩阵储存法 //创建:二维数组vector<vector<int>> graph(n,vector<int>(n,0));//储存for(int i0;i<m;i){int x1,x2;cin>>x1>>x2;graph[x1-1][x2-1]1;}1.2邻接表储存法 补充&#xff1a;c中的list是链表 链接 //创建&#xff1a;数组…...

大模型QLoRA微调——基于Qwen2-7B的自动化病历摘要生成系统

01 项目简介 &#xff08;1&#xff09;项目背景 医疗文档中包含大量的诊疗信息&#xff0c;例如疾病诊断、手术名称、解剖部位、药物使用以及影像和实验室检查结果。这些信息是医疗数据分析的核心&#xff0c;但由于医疗文本内容复杂、格式多样&#xff0c;提取这些关键内容…...

CTFHub-ssrf

技能树--Web--SSRF 内网访问 开启题目 尝试访问位于127.0.0.1的flag.php吧 进入环境 根据提示输入即可 127.0.0.1/flag.php 伪协议读取文件 开启题目 尝试去读取一下Web目录下的flag.php吧 进入环境&#xff0c;根据提示输入 file:///var/www/html/flag.php 鼠标右键查看…...

使用ElasticSearch实现全文检索

文章目录 全文检索任务描述技术难点任务目标实现过程1. java读取Json文件&#xff0c;并导入MySQL数据库中2. 利用Logstah完成MySQL到ES的数据同步3. 开始编写功能接口3.1 全文检索接口3.2 查询详情 4. 前端调用 全文检索 任务描述 在获取到数据之后如何在ES中进行数据建模&a…...

【docker】容器编排之docker swarm

Docker Swarm容器编排详细讲解 Docker Swarm是Docker的原生容器编排工具&#xff0c;它通过将多个Docker引擎组合成一个集群来实现高效的容器部署和管理。 Swarm提供了服务发现、负载均衡、扩展、自动恢复等功能&#xff0c;能够让开发者和运维人员以更简便的方式管理容器化应…...

微信小程序苹果手机自带的数字键盘老是弹出收起,影响用户体验,100%解决

文章目录 1、index.wxml2、index.js3、index.wxss1、index.wxml <!--index.wxml--> <view class="container"><view class="code-input-container"><view class="code-input-boxes"><!-- <block wx:for="{{…...

SCAU期末笔记 - Linux系统应用与开发教程样卷解析(2024版)

我真的不理解奥&#xff0c;为什么会有给样卷不自带解析的&#xff0c;对答案都没得对&#xff0c;故整理一篇 样卷1 一、选择题 1、为了遍历shell脚本调用时传入的参数&#xff0c;需要在shell脚本中使用_____。 A.$#表示参数的个数B.S表示所有参数C.$0表示脚本名D.$1表示…...

2024 年贵州技能大赛暨全省第二届数字技术应用职业技能竞赛“信息通信网络运行管理员”赛项--linux安全题

Linux操作系统渗透测试 Nmap -sS -p- ip 扫描 这题有俩种做法&#xff0c;一种用3306端口&#xff0c;另一种用48119端口 用48119端口是最简单的做法 nc 连接这个端口如何修改root密码 ssh连接 这样我们就成功的拿到root权限 1.通过本地PC中渗透测试平台Kali对服务器场景进…...

CTFshow-php特性(Web125-150)

CTFshow-php特性(Web125-150) Web125 <?php error_reporting(0); highlight_file(__FILE__); include("flag.php"); $a$_SERVER[argv]; $c$_POST[fun]; if(isset($_POST[CTF_SHOW])&&isset($_POST[CTF_SHOW.COM])&&!isset($_GET[fl0g])){if(!p…...