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

Java入门IDEA基础语法

1:Java入门

1.1 Java简介

Java是什么:

  • Java是一门非常优秀的计算机语言

    • 语言:人与人交流沟通的表达方式

    • 计算机语言:人与计算机之间进行信息交流沟通的一种特殊语言

  • Java之父:詹姆斯·高斯林(James Gosling)

知道了Java是什么之后,大家就会想,我们学完Java可以做什么呢?下面,我们就来聊一聊,Java的三大技术平台:

1:JavaSE

2:JavaME

3:JavaEE

要开发一个Java程序,我们得安装JDK,而要安装JDK,我们得先有JDK,我们就可以进行Java程序的开发了,

1.2 JDK的下载和安装

JDK:JavaDevelopment Kit):Java开发工具包,也就是说必须要有JDK才能开发Java程序

所以,我们得先安装了JDK,然后才能进行Java程序的开发。

了解了JDK是什么之后,我们再来对JDK的版本做一个说明:

这么多的版本,大家不用记,了解即可。知道三个版本就可以了,这里我们标红了:JDK8,JDK11,JDK17。JDK8是企业用的最多的版本,JDK11和JDK17是后续长期支持更新的版本。

了解了JDK的版本之后,下面呢,我们来学习JDK的下载。

JDK的下载:

  • 通过官方网站获取JDK(Oracle | Cloud Applications and Cloud Platform)

  • 直接下载地址: Java Downloads | Oracle

  • 注意:针对不同操作系统,下载对应的JDK

JDK下载图解

下载完成后,在本地可以看到下载好的软件:

JDK下载好之后,下面我们就要来安装JDK了。

JDK的安装:

关于安装,这里我们说两点:

JDK安装图解:

第一步:双击启动下载好的JDK软件,在弹出框界面选择是

第二步:看到如下界面,点击下一步

第三步:看到如下界面,不要着急安装,因为它默认会安装到C:\Program Files下面,在这里点击更改

第四步:看到如下界面,修改安装路径

修改路径后的界面如下,然后点击确定

第五步:看到如下界面,点击下一步,等待安装

第六步:看到如下界面,说明安装成功,点击关闭即可

JDK安装完成后,我们到安装目录下去看看JDK的安装目录:

目录解释:

1.3 第一个程序

JDK安装完毕后,下面我们来开发自己的第一个Java程序。

首先,我们来说一下,Java程序的开发流程:

开发一个Java 程序,需要三个步骤:编写程序,编译程序,运行程序。如图

知道了Java程序的开发流程后,下面我们来实现第一个程序:

第一步:编写程序

① 在D盘根目录下新建一个文本文档文件,修改文件名为HelloWorld.java

② 选中HelloWorld.java文件,用Windows系统自带的记事本打开

③ 书写如下程序内容

④ 保存文件:Ctrl+s

注意:

  • 文件后缀名是.java,文件类型是java文件

  • 文件名和代码中类名一致

如果后缀名还是文本文档文件,需要按照下面的步骤,勾选文件扩展名

程序编写完毕后,要进行编译和运行程序。而编译和运行程序目前需要在DOS窗口下进行,因此我们先说一下如何打开DOS窗口

第二步:编译程序

  • 格式:javac 文件名.java

  • 范例:javac HelloWorld.java

第三步:运行程序

  • 格式:java 类名

  • 范例:java HelloWorld

如图所示:

最终再控制台输出了:HelloWorld。

1.4 常见问题

1:单词拼写问题

2:中英文符号问题

而关于中英文符号问题,早期的windows系统报错信息如下:

这两个常见的小问题呢,大家了解一下即可,因为很快我们将会使用一款非常优秀的开发工具,这些问题将不会存在了。但是,如果出现类似的问题,我们要学会阅读并解决问题。

最后,再给大家补充一个小知识,JDK11的新特性:

JDK11开始支持 java命令直接运行.java文件

  • 格式:java 文件名.java

  • 范例:java HelloWorld.java

1.5 常用DOS命令

在后续开发中,我们有些时候需要在DOS窗口,也就是我们前面见到的黑窗口下进行一些操作,所以,我们要掌握一些常用的操心命令。

而这些命令,又需要在黑窗口下运行,所以,这里我们先讲解如何打开DOS窗口,这里我们讲解两种常见的方式:

  1. 直接在地址栏输入cmd,回车即可

  2. 通过运行窗口打开

第一种方式,我们已经用过了。这里我们重点说第二种方式,通过运行窗口打开:

① 按下win+R

② 输入cmd

③ 按下回车键

这样,我们就通过运行窗口打开了DOS窗口。下面呢,我们来学习常用的DOS命令。

1.6 Path环境变量

前面我们使用过JDK的bin目录下的javac和java命令,为什么我们能够直接使用呢?这里我们来讲解一下原理。而要讲解这个原理,我们就不得不提一下Path环境变量。

Path环境变量的作用:

  • 它提供了windows命令行中指令的可执行文件(比如:.exe文件)路径,让我们在命令行中输入命令时,能够找到对应的可执行文件执行

  • 简单说:让命令在命令行中使用有效

为了让大家更好的理解这句话,我们来做一个操作,验证一下:

  • 在Path环境变量中配置QQ软件的命令行方式启动

  • C:\Program Files (x86)\Tencent\QQ\Bin

如何配置呢?按照下图配置即可

配置完毕之后,我们到DOS窗口中,通过qq指令,就可以启动QQ软件了。

由此可见,我们把.exe文件所在的路径配置到Path环境变量中,就可以使用.exe结尾的指令来启动程序了。这个时候,我们来说一下,为什么开始的时候我们能够直接使用javac和java指定了。

但是,由于这种配置,只配置了较少的命令,而我们在JDK的bin目录下还有很多的命令可以使用,比如:jps,jpackage,jmap等。所以,我们要自己配置JDK的环境变量,为了后续的一些软件能够找到JDK的安装目录,我们分两步来完成Java环境变量的配置:

第一步:配置JAVA_HOME变量

第二步:编辑Path变量

2:IDEA

2.1 IDEA概述和安装

那什么是IDEA呢?

IDEA:全称Intellij IDEA,是用于Java语言开发的集成环境,是业界公认的目前用于Java程序开发最好的工具

集成环境:把代码编写,编译,运行,调试等多种功能综合到一起的开发工具

举例说明,我们前面开发一个Java程序,需要下面这些工具的配合:

而我们现在开发一个Java程序,只需要一个工具就可以了:

它把代码编写,编译,运行,调试等多种功能综合到一起了,这就是集成开发环境。除了IDEA以外,还有下面几种常见的用于Java程序开发的集成环境:

IDEA的下载和安装:

下载:IntelliJ IDEA – the Leading Java and Kotlin IDE

安装:建议修改安装路径

安装图解:可以根据如下步骤完成IDEA的安装

2.2 IDEA中HelloWorld

安装完IDEA后,下面我们就来使用IDEA完成HelloWorld案例。

首先,我们来启动IDEA,启动的时候还有一些基本的配置,一起来看一下:

第一步:双击桌面上的IDEA图标,选择Do not import settings,点击OK

第二步:看到如下界面

选择:Evaluate for free,点击Evaluate

第三步:看到如下界面,点击Continue

第四步:看到如下界面,启动配置成功

接着,我们来完成HelloWorld案例:

这里先介绍下IDEA中的代码结构:

接着,我们说一下IDEA中完成HelloWorld案例的基本流程:

① 新建一个空项目(javase_code)

② 新建一个新模块(idea_test)

③ 在idea_test模块的src下新建一个包(com.itheima)

④ 在com.itheima包下新建一个类(HelloWorld)

⑤ 在HelloWorld类中编写代码(main回车,sout回车)

⑥ 在IDEA中运行HelloWorld

下面,我们就一起来完成IDEA中HelloWorld案例的编写,编译和运行

① 新建一个空项目(javase_code):

第一步:点击New Project

第二步:选择Empty Project,点击Next

第三步:修改项目名称,修改项目存储路径,点击Finish,弹出一个窗体,然后点击Create

第四步:看到如下界面,空项目创建成功

② 新建一个新模块(idea_test)

第一步:选择File,点击Project Structure...

第二步:在弹出的窗体中,按照1,2,3的步骤选择,来新建一个模块

第三步:在弹出的窗体中,默认选择Java模块,JDK选择的也是17,点击Next即可

第四步:在弹出的窗体中,修改模块名称,点击Finish

第五步:然后点击OK即可

这样我们建好了一个模块:

③ 在idea_test模块的src下新建一个包(com.itheima)

第一步:展开模块,按照1,2,3的步骤选择,来新建一个包

第二步:在弹出框里面输入包名,然后回车即可

这样我们建好了一个包:

④ 在com.itheima包下新建一个类(HelloWorld)

第一步:选中com.itheima这个包,按照1,2,3的步骤选择,来新建一个类

第二步:在弹出框里面输入类名,然后回车即可

这样我们建好了一个类:

⑤ 在HelloWorld类中编写代码(main回车,sout回车)

在类中编写代码,可以手动编写,也可以采用快捷方式编写

⑥ 在IDEA中运行HelloWorld

在代码中,右键选择Run 'HelloWorld.main()' 运行

在控制台输出了结果:

这样我们就完成了IDEA中HelloWorld案例。

2.3 IDEA中基本配置&注释

刚才我在讲解代码的过程中,有同学可能觉得看的不是很清楚,那下面呢,我们就来对IDEA进行两个基本的设置:

第一个:修改背景主题为白色

第二个:修改字体大小

按照1,2,3,4进行设置即可

至于其他的设置,后面我们用到的时候再去讲解。

讲解完IDEA的这两个基本设置后,下面,我们说一下注释,那什么是注释呢?

  • 注释是指在程序中添加的说明性信息

  • 注释不参与程序运行,仅起到说明作用

这里我们再来介绍一下注释的分类:

了解了注释的作用和分类后,下面我们来对前面讲解过的HelloWorld案例添加注释:

/*Java程序中最基本的组成单位是类类的定义格式是:public class 类名 {}*/
public class HelloWorld {/*这是main方法main方法是程序的入口方法,代码的执行是从main方法开始的*/public static void main(String[] args) {//这是输出语句,能够将""里面的内容输出到控制台,并且""里面的内容是可以修改的System.out.println("HelloWorld");System.out.println("Java");}
}

有了注释以后,我们再来看这段代码,明显就容易理解了。后面大家自己在编写代码的时候,也要多写写注释,在实际开发中,我们编写的程序也是要添加注释的。

这样既方便自己阅读,也方便别人阅读。

2.4 IDEA中常用快捷键

为了提高我们后续写程序的效率,这里呢,我们来讲一些IDEA中常用的快捷键:

  • 快速生成main方法和输出语句

    • main方法:main或者psvm,回车

    • 输出语句:sout,回车

  • 常用快捷键

    • Ctrl+D:复制数据到下一行

    • Ctrl+X:剪切数据,可以用来删除所在行

    • Ctrl+Alt+L:格式化代码,建议自己写代码的时候就注意格式

    • Ctrl+/:对选中的代码添加单行注释,如果想取消注释,再来一次即可

    • Ctrl+Shift+/:对选中的代码添加多行注释,如果想取消注释,再来一次即可

根据老师的讲解,大家练习一下常用的快捷键吧。

2.5 IDEA中模块操作

IDEA的基本使用我们掌握了,最后呢,我们再来说一下,IDEA中的模块操作,而关于模块操作呢,分为三种:

  • 新建模块

  • 删除模块

  • 导入模块

下面我们分别来操作一下。

新建模块:HelloWorld案例中讲解过了,这里就不再讲解了,想不起来了,翻到上面去看看

删除模块:删除模块又分为从工作区删除和从硬盘删除,你可以根据自己的需要,选择对应的方式进行删除

导入模块:

建议把模块复制到空项目所在路径下,然后找到新建模块的地方,只不过这一次不是新建模块,而是导入模块,所以,要选择Import Module

找到要导入的模块,点击OK

然后一路next,直到出现如下的界面,点击Overwrite即可

看到下面的界面,点击Finish

最后点击OK即可

这样我们就成功的导入了一个模块:

导入模块的注意事项:

  • 把模块复制到空项目所在路径下

  • 出现如下错误,知道如何处理

3:基础语法

3.1 字面量

那什么是字面量呢?

  • 直接写出来的人可以理解的数据,在java中叫做字面量

  • 举例:“HelloWorld”,666,13.14

那Java中有哪些类型的字面量呢?

知道了Java中的字面量后,下面我们到IDEA中去演示一下字面量的使用:

/*字符串字面量:	    用双引号括起来的内容。"HelloWorld","黑马程序员"整数字面量:		不带小数的数字。666,-88小数字面量:		带小数的数字。13.14,-5.21字符字面量:		用单引号括起来的内容。'A','0','我'布尔字面量:		布尔值,表示真假。true,false*/
public class LiteralDemo {public static void main(String[] args) {//字符串字面量System.out.println("HelloWorld");System.out.println("黑马程序员");//整数字面量System.out.println(666);System.out.println(-88);//小数字面量System.out.println(13.14);System.out.println(-5.21);//字符字面量System.out.println('A');System.out.println('0');System.out.println('我');//布尔字面量System.out.println(true);System.out.println(false);}
}

3.2 数据类型

刚才我们学习了字面量,而Java是一种强类型语言,针对每种数据都给出了明确的数据类型,那我们刚才学习的几种字面量分别应该是什么类型的呢?

那为什么会有不同的数据类型呢?因为

  • 不同的数据类型分配了不同的内存空间

  • 不同的内存空间,所存储的数据大小是不一样的

在讲解不同的数据类型前,这里我们先普及一个小知识,就是字节的概念:

计算机中存储数据的最小单位是:字节(byte),用B表示。

我们可以看一下硬盘存储的文件:以字节为单位

为了帮助大家更好的理解字节这个单位,我们来说一下,常见的存储单位:

1TB = 1024GB

1GB = 1024MB

1MB = 1024KB

1KB = 1024B

这样呢,我们对字节就能有一个基础认知。

在这里,我们给出每种基本数据类型的内存占用和取值范围,大家了解一下:

说明:E+38表示:乘以10的38次方。同理E-45表示:乘以10的负45次方

整数默认是:int类型

浮点数默认是:double类型

这样呢,我们就了解了Java中的8种基本数据类型,以及每种数据类型占用字节的情况和取值范围。

3.3 变量

那为什么要有变量呢?看这里,我们写了一段代码,在控制台显示商品的促销活动:

结果,老板觉得,这个价格有点高,怕销售不好,所以决定再降100元,要求把所有的998的地方修改为888。于是你就开始改代码,改完之后如下:

结果呢?老板又觉得不划算,让你还是改回998吧,这个时候,你就要哭了。还好要修改的地方不多,要是有很多地方都要进行类似的操作,那多麻烦啊,有没有简化的方式呢?

答案当然是有的,我们找一个空间存储数据:888,并给它起个名字:price

这样我们的代码就可以写成这个样子:

如果要修改price里面的数据,我们只需要修改一处就可以了,代码不需要改动,但是却实现了任意修改price的效果。

其实,这就是Java中的变量技术。有了它之后,我们就可以把变化的数据用一个变量存储,代码正常编写即可,如果需要修改数据,我们修改变量的值就可以了。那什么是变量呢?

  • 变量就是内存中的存储空间

  • 空间中存储的数据是可以发生改变

知道了,什么是变量后,下面我们来说一下变量的定义格式:

  • 格式:数据类型 变量名 = 变量值;

  • 范例:int price = 998;

    根据变量名进行使用,可以输出,也可以修改值

了解了变量的定义格式和使用方式后,下面我们到IDEA中去演示一下:

/*格式:数据类型 变量名 = 变量值;*/
public class VariableDemo01 {public static void main(String[] args) {//定义一个int类型的变量,用来表示价格int price = 998;//输出变量System.out.println(price);//修改变量的值price = 888;//再次输出变量的值System.out.println(price);}
}

3.4 变量的案例

了解了变量的定义和基本使用后,下面我们来做两个案例,熟悉一下变量的使用:

3.4.1 手机信息描述

需求:分析下图指定数据,看看哪些可以通过变量表示,并思考采用那种数据类型,最后通过程序实现

指定数据:京东价,重量,颜色

分析:

① 京东价,重量,选择颜色这些字都是固定的,但是他们后面的数据是变化的,所以要用变量表示

② 价格,可以用double或者int类型来表示,这里我们用int类型表示;

重量,用double类型表示;颜色,用String类型表示

分析完毕之后,下面我们到IDEA中去实现一下:

/*手机信息描述*/
public class VariableTest01 {public static void main(String[] args) {//定义秒杀价变量double price = 3599.00;//定义颜色变量String color = "蓝色";//定义版本变量,纪录的是内存大小int size = 8;//        System.out.println(price);
//        System.out.println(color);
//        System.out.println(size);//为了输出效果好看一些,我加上一些内容System.out.println("秒杀价是:"+price);System.out.println("你选择的颜色是:"+color);System.out.println("你选择的版本是:"+size);//字符串字面值+任意的数据=字符串数据}
}

3.4.2 疫情防控信息采集表

需求:分析右图信息,并通过程序实现

通过上图数据,我们可以根据变化的数据,提取出下图:

分析:

① String name = “风清扬”;

② int age = 36;

③ char gender = ‘男’; 也可以采用String类型表示

④ double temperature = 36.2;

⑤ boolean flag = true; 也可以采用char或者String表示

分析完毕之后,下面我们到IDEA中去实现一下:

/*疫情防控信息采集表*/
public class VariableTest02 {public static void main(String[] args) {//定义变量String name = "风清扬";int age = 18;char gender = '男';double temperature = 36.2;boolean flag = true;//输出数据System.out.println("姓名是:" + name);System.out.println("年龄是:" + age);System.out.println("性别是:" + gender);System.out.println("体温是:" + temperature);System.out.println("是否接种过疫苗:" + flag);}
}

3.5 变量的注意事项

变量的注意事项:

  • 变量名不能重复

  • 变量未赋值,不能使用

  • 定义long类型变量,数据后面加L

  • 定义float类型变量,数据后面加F

IDEA中代码演示如下:

/*变量使用的注意事项*/
public class VariableDemo02 {public static void main(String[] args) {int age = 10;
//        int age = 20;//        int money;money = 20;
//        System.out.println(money);long money = 1000000000000L;float price = 12.34F;}
}

3.6 关键字

首先,我们得知道什么是关键字:

关键字:就是被Java语言赋予了特定含义的单词

我们先来看一下,曾经写过的代码中,出现的关键字:

了解了什么是关键字后,我们来说一下关键字的特点

  • 关键字的字母全部小写

  • 常用的代码编辑器,针对关键字有特殊的颜色标记,非常直观

知道了关键字的特点后,这里我们给大家看看Java中的关键字:

虽然比较多,但是大家不用担心。因为:关键字,我们不需要专门记忆。这些关键字我们在开发中比较常用的,写的多了,你自然就记住了。好了,Java中的关键字我们就先讲到这里。

3.7 标识符

首先,我们来说一下什么是标识符:

标识符:就是给类,方法,变量等起名字的符号

比如,我们前面写类的时候,起的名字:HelloWorld,变量的时候,价格,price等,这就是标识符。

那这个符号你能随便写呢,当然是不能的,这里我们来看一下标识符的组成规则:由数字、字母、下划线(_)和美元符($)组成

了解了组成规则后,这里我们还得说一下注意事项:

  • 不能以数字开头

  • 不能是关键字

  • 区分大小写

判断下面哪些标识符不符合规则

bj b2 2b _2b class helloworld

按照我们讲解的规则,大家应该能够判断出来:2b和class是不符合规则的。

知道了标识符的组成规则和注意事项后,这里我们再说一下起名字常用的命名约定:

  • 小驼峰命名法

    • 约定1:标识符一个单词的时候,首字母小写

    • 范例1:name

    • 约定2:标识符是多个单词的时候,第一个单词首字母小写,其他单词首字母大写

    • 范例2:firstName

  • 大驼峰命名法

    • 约定1:标识符一个单词的时候,首字母大写

    • 范例1:Hello

    • 约定2:标识符是多个单词的时候,每个单词首字母大写

    • 范例2:HelloWorld

一般来说,小驼峰命名法适用于对方法,变量等起名字。大驼峰命名法适用于对类,接口等起名字。

相关文章:

Java入门IDEA基础语法

1:Java入门 1.1 Java简介 Java是什么: Java是一门非常优秀的计算机语言 语言:人与人交流沟通的表达方式 计算机语言:人与计算机之间进行信息交流沟通的一种特殊语言 Java之父:詹姆斯高斯林(James Gosli…...

【小白专用】C# 连接 MySQL 数据库

C# – Mysql 数据库连接 1. 配置环境 #前提:电脑已安装Mysql服务; Visual Studio 安装Mysql依赖库: 工具 -> NuGet 包管理器 -> 管理解决方案的 NuGet程序包 —> 搜索, 安装Mysql.Data (Oracle); (安装成功后&…...

Django登录注销视图

Django在身份验证框架中包含了一些你可以直接使用的表单和视图。在大多数情况下,可以使用默认的Django认证视图。 Django在django.contrib.auth.views提供了以下基于类的视图来处理身份验证: LoginView:处理登录表单并登录用户 LogoutView&a…...

云原生到底是什么意思

云原生到底是什么意思? 引言 随着云计算技术的迅速发展,云原生成为了一个备受关注的话题。云原生不仅仅是一种新的软件架构,更是一种变革性的开发方法论。本文将深入解析云原生的意义、特点以及为什么它在现代软件开发中变得如此重要。 云…...

【银行测试】银行项目,信用卡业务测试+常问面试(三)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 银行测试-信用卡业…...

AI大模型学习笔记之二:什么是 AI 大模型的训练和推理?

在人工智能(AI)的领域中,我们经常听到训练(Training) 和 推理(Inference) 这两个词汇,它们是构建强大 AI 模型的关键步骤。我们通过类比人类的学习过程来理解这两个概念,可以更加自然而生动地理…...

【MATLAB源码-第113期】基于matlab的孔雀优化算法(POA)机器人栅格路径规划,输出做短路径图和适应度曲线。

操作环境: MATLAB 2022a 1、算法描述 POA(孔雀优化算法)是一种基于孔雀羽毛开屏行为启发的优化算法。这种算法模仿孔雀通过展开其色彩斑斓的尾羽来吸引雌性的自然行为。在算法中,每个孔雀代表一个潜在的解决方案,而…...

iphone 5s的充电时序原理图纸,iPAD充电讲解

上一篇写了iphone 5的时序。那是电池供电的开机时序。iphone 5s也是差不多的过程,不说了。现在看iphone5s手机充电时候的时序。iphone5s充电比iphone5充电简单了很多。 首先是usb接口接到手机上,usb线连接到J7接口上。J7接口不只是接usb,还能…...

react基础入门

1,了解react react并不是一个MVC框架,他只是一个很强大的javaScript库,主要作用是用来构建UI界面。 react的核心是封装一个个大大小小的组件(小到一个按钮,大到一个页面)来构建复杂的UI界面,每…...

spring boot学习第八篇:通过spring boot、jedis实现秒单

参考:Redis实现分布式锁的7种方案 - 知乎 1、 准备数据库表,如下SQL表示库存表,有主键ID和库存数量字段 CREATE TABLE t_stock (id bigint(20) NOT NULL AUTO_INCREMENT,quantity bigint(20) NOT NULL,PRIMARY KEY (id) ) ENGINEInnoDB DEF…...

NineAi 新版AI系统网站源码 ChatGPT

简介: Nine AI.ChatGPT是基于ChatGPT开发的一个人工智能技术驱动的自然语言处理工具,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,真正像人类一样来聊天交流,甚至能完成撰写邮件、视频脚本、文案、翻译、代码,写论文等任务。 NineAi 新版A…...

开源监控服务一瞥:Prometheus、Grafana、Zabbix、Nagios、Icinga和Open-Falcon

前言 随着信息技术的发展,监控服务在维护系统稳定性和性能方面变得越来越重要。本文将比较一些流行的开源监控服务,以帮助你选择适合你需求的解决方案。 监控服务对比 监控服务特点优势不足性能扩展性安全性Prometheus- 多维度数据模型- 监控容器化环…...

使用WAF防御网络上的隐蔽威胁之扫描器

在网络安全领域,扫描器是用于侦察和识别网络系统漏洞的工具。 它们可以帮助网络管理员识别安全漏洞,也可能被攻击者用来寻找攻击目标。 扫描器的基本概念 定义:扫描器是一种自动化工具,用于探测网络和服务器中的漏洞、开放端口、…...

企业信息安全管理制度

随着信息化程度的日益推进,企业信息的脆弱性也日益暴露。如何规范日趋复杂的信息安全保障体系建设,如何进行信息风险评估保护企业的信息资产不受侵害,已成为当前行业实现信息化运作亟待解决的问题。 一、企业的信息及其安全隐患 在我公司&am…...

Qt中的线程池

Qt中的线程池 目录 1 为什么需要线程池 2 Qt中有哪些方式实现线程池 3 如何通过QThreadPool类实现线程池 4 如何通过QtConcurrent库实现线程池 5 如何通过自定义的方式实现线程池 5 小结 1 为什么需要线程池 线程池是多线程编程中常用的一种技术,可以帮助管理系统中…...

使用Spring Boot集成中间件:Elasticsearch基础->提高篇

使用Spring Boot集成中间件:Elasticsearch基础->提高篇 导言 Elasticsearch是一个开源的分布式搜索和分析引擎,广泛用于构建实时的搜索和分析应用。在本篇博客中,我们将深入讲解如何使用Spring Boot集成Elasticsearch,实现数…...

【Docker】Dockerfile构建最小镜像

🥳🥳Welcome 的Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于Docker的相关操作吧 目录 🥳🥳Welcome 的Huihuis Code World ! !🥳🥳 前言 一.Dockerfile是什么 二.Dock…...

【严重】GitLab 以其他用户身份执行 Slack 命令

漏洞描述 GitLab 是由GitLab公司开发的、基于Git的集成软件开发平台。使用 Slack 命令在 Slack 聊天环境中运行常见的 GitLab 操作。 GitLab 受影响版本中,由于配置Slack/Mattermost 集成时,未正确验证用户身份信息,导致攻击者可以使用其他…...

【卡梅德生物】纳米抗体文库构建

纳米抗体文库构建服务是一项提供定制化纳米抗体文库的服务,旨在满足研究者和生物制药公司对高质量抗体的需求。这项服务通常包括以下主要步骤: 1.抗原设计和制备: -客户提供目标抗原信息,或由服务提供商协助设计抗原。 -抗原制…...

MySQL修炼手册6:子查询入门:在查询中嵌套查询

目录 写在开头1 子查询基础概念1.1 了解子查询的基本概念1.2 子查询与主查询的关系 2 标量子查询详细展开2.1 学会使用标量子查询2.1.1 在SELECT语句中使用2.1.2 在WHERE子句中使用2.1.3 在ORDER BY子句中使用 2.2 标量子查询在条件判断中的应用2.2.1 使用比较运算符2.2.2 使用…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器

——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的​​一体化测试平台​​,覆盖应用全生命周期测试需求,主要提供五大核心能力: ​​测试类型​​​​检测目标​​​​关键指标​​功能体验基…...

线程与协程

1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

三体问题详解

从物理学角度&#xff0c;三体问题之所以不稳定&#xff0c;是因为三个天体在万有引力作用下相互作用&#xff0c;形成一个非线性耦合系统。我们可以从牛顿经典力学出发&#xff0c;列出具体的运动方程&#xff0c;并说明为何这个系统本质上是混沌的&#xff0c;无法得到一般解…...

2025季度云服务器排行榜

在全球云服务器市场&#xff0c;各厂商的排名和地位并非一成不变&#xff0c;而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势&#xff0c;对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析&#xff1a; 一、全球“三巨头”…...

腾讯云V3签名

想要接入腾讯云的Api&#xff0c;必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口&#xff0c;但总是卡在签名这一步&#xff0c;最后放弃选择SDK&#xff0c;这次终于自己代码实现。 可能腾讯云翻新了接口文档&#xff0c;现在阅读起来&#xff0c;清晰了很多&…...

代码规范和架构【立芯理论一】(2025.06.08)

1、代码规范的目标 代码简洁精炼、美观&#xff0c;可持续性好高效率高复用&#xff0c;可移植性好高内聚&#xff0c;低耦合没有冗余规范性&#xff0c;代码有规可循&#xff0c;可以看出自己当时的思考过程特殊排版&#xff0c;特殊语法&#xff0c;特殊指令&#xff0c;必须…...

HTML前端开发:JavaScript 获取元素方法详解

作为前端开发者&#xff0c;高效获取 DOM 元素是必备技能。以下是 JS 中核心的获取元素方法&#xff0c;分为两大系列&#xff1a; 一、getElementBy... 系列 传统方法&#xff0c;直接通过 DOM 接口访问&#xff0c;返回动态集合&#xff08;元素变化会实时更新&#xff09;。…...

mac:大模型系列测试

0 MAC 前几天经过学生优惠以及国补17K入手了mac studio,然后这两天亲自测试其模型行运用能力如何&#xff0c;是否支持微调、推理速度等能力。下面进入正文。 1 mac 与 unsloth 按照下面的进行安装以及测试&#xff0c;是可以跑通文章里面的代码。训练速度也是很快的。 注意…...

华为OD最新机试真题-数组组成的最小数字-OD统一考试(B卷)

题目描述 给定一个整型数组,请从该数组中选择3个元素 组成最小数字并输出 (如果数组长度小于3,则选择数组中所有元素来组成最小数字)。 输入描述 行用半角逗号分割的字符串记录的整型数组,0<数组长度<= 100,0<整数的取值范围<= 10000。 输出描述 由3个元素组成…...