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

IDEA 2022

介绍

【尚硅谷IDEA安装idea实战教程(百万播放,新版来袭)】

jetbrains 中文官网

IDEA 官网

IDEA 从 IDEA 2022.1 版本开始支持 JDK 17,也就是说如果想要使用 JDK 17,那么就要下载 IDEA 2022.1 或之后的版本。

公司旗下还有其它产品,比如:

  • WebStorm:用于开发 JavaScript、HTML5、CSS3 等前端技术
  • PyCharm:用于开发 Python
  • PhpStorm:用于开发 PHP
  • RubyMine:用于开发 Ruby/Rails
  • AppCode:用于开发 Objective - C/Swift
  • CLion:用于开发 C/C++
  • DataGrip:用于开发数据库和 SQL
  • Rider:用于开发 .NET
  • GoLand:用于开发 Go

用于开发 Android 的 Android Studio,也是 Google 基于 IDEA 社区版进行迭代的。

IDEA 每一年都会发布一个版本,因此大版本号和年份保持一致。

小版本每一年只会出现 1,2,3,表示第 1 个版本,第 2 个版本和第 3 个版本的意思,不是代表月份。每一年通常都会发布三个小版本。小版本的迭代时间并不是固定的。

Ultimate:旗舰版
Community:社区版

两个不同版本的详细对比,可以参照官网。官网提供的详细使用文档。

IDEA 2022 安装包:
官网
百度网盘
提取码:6666

同一台电脑可以安装多个版本的 IDEA。

卸载和安装

卸载

这里以卸载 2022.1.2 版本为例说明。第一步,在【控制面板】找到【卸载程序】:

在这里插入图片描述

右键点击或左键双击 IntelliJ IDEA 2022.1.2 进行卸载:

在这里插入图片描述
如果需要保留下述数据,就不要打 √。如果想彻底删除 IDEA 所有数据,那就打上 √。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
软件卸载完以后,还需要删除其它几个位置的残留:

在这里插入图片描述

在这里插入图片描述

安装

第一步,下载完安装包,双击直接安装。

第二步,欢迎安装。

在这里插入图片描述

第三步,是否删除电脑上低版本的 IDEA(如果有,可以选择忽略)

在这里插入图片描述

如果电脑上有低版本的 IDEA,可以选择删除或保留。这里没有卸载旧版本,如果需要卸载,记得勾选下面的保留旧的设置和配置。

第四步,选择安装目录,目录中要避免中文和空格。

在这里插入图片描述

在这里插入图片描述

第五步,创建桌面快捷图标等。

在这里插入图片描述

确认是否与 .java、.groovy、.kt 、.kts 格式文件进行关联。这里建议不关联。

第六步,在【开始】菜单新建一个文件夹(这里需要确认文件夹的名称),来管理 IDEA 的相关内容。

在这里插入图片描述

在这里插入图片描述

第七步,完成安装。

在这里插入图片描述

查看 JDK 版本

File → Project Structure:

在这里插入图片描述

SDKSoftware Develop Kit,软件开发工具。其实更应该叫做 JDKJDK 其实就是 Java Software Develop Kit

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

项目结构与管理

项目结构

项目结构:项目 project → 模块 module → 包 package → 类 class

一个 IDEA 窗口对应一个 project。project 叫做工程,也可翻译为项目。
一个 project 中可以创建多个 module。
一个 module 中可以创建多个 package。
一个 package 中可以创建多个 class。

这些结构的划分,是为了方便管理功能代码。

在 IDEA 中,project 是最顶级的结构单元,然后就是 module。目前,主流的大型项目结构基本都是多 module 的结构,这类项目一般是按功能划分的,比如:user-core-module、user-facade-module 和 userhessian-module 等等,多个 module 之间可以相互依赖,有着不可分割的业务关系,也可以不依赖。因此,对于一个 project 来说:

  • 当为单 module 项目的时候,这个单独的 module 实际上就是一个 project。
  • 当为多 module 项目的时候,多个模块处于同一个 project 之中,此时彼此之间具有互相依赖的关联关系。
  • 当然多个模块没有建立依赖关系的话,也可以作为单独一个 “小项目” 运行。

不同的包存放表达不同功能的代码,表达相同功能的代码放在同一个包里面。比如第一个包放所有和文字相关的代码,第二个包存放所有和图片相关的代码,第三个包存放所有和动画相关的代码。

选中工程,右键,可以新建模块;
模块下面有一个 src 文件夹,选中这个 src 文件夹,右键,新建包;
选中包,右键,可以新建类。

包名一般都是公司域名的倒序再加上包名。

IDEA 将工程也视为一个模块,因此工程下面也有一个属于这个工程的 src,也可以在这里继续新建模块、包以及类等,但是规范来说一般不这么做。

IDEA 将工程也视为一个模块

在这里插入图片描述

新建工程

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

也可以新建一个空的工程:

在这里插入图片描述

新建模块

选中工程,右键,可以新建模块。

在这里插入图片描述

在这里插入图片描述

新创建的模块:

在这里插入图片描述

在这里插入图片描述

还可以在这里新建模块:

在这里插入图片描述

新建包

在模块的 src 文件夹右键,选择新建 package。

在这里插入图片描述

包名一般都是公司域名的倒序再加上包名:

在这里插入图片描述

新建类

选中包,右键,新建类。

在这里插入图片描述

在这里插入图片描述

最终的工程、模块、包和类的层级关系:

在这里插入图片描述

在两个模块之间复制包

[图片]

这里最好不要动,直接点击 OK:

[图片]

效果:

[图片]

[图片]

打开工程

[图片]

[图片]

给模块重命名

[图片]

[图片]

建议是两个都改变且保持一致。

给类重命名

在这里插入图片描述

在这里插入图片描述

删除模块

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

这意味着当前目录下的 ModuleTest02 是一个普通目录,不是一个模块。在磁盘目录下,这个路径没有发生任何变化。

[图片]

此时可以真正地将这个路径从磁盘中删除:

在这里插入图片描述

这个操作会将这个文件夹从电脑的磁盘内删除,且不会放进回收站,操作时一定要小心谨慎。

导入模块

先找到需要被导入的模块在磁盘上的位置,选择整个模块的文件夹,ctrl + c 复制一下。

在这里插入图片描述

在这里插入图片描述

[图片]

找到要导入新模块的工程在磁盘中的位置:

在这里插入图片描述

[图片]

也就是先把要导入的模块的文件夹复制到要导入的工程的目录下。

[图片]

[图片]

接下来将这个普通文件夹变成模块。

[图片]

[图片]

[图片]

后面一直 next:

[图片]

[图片]

[图片]

[图片]

[图片]

[图片]

[图片]

[图片]

总结起来就分两步:第一步把模块文件夹复制到要导入的工程路径下,第二步把这个复制过来的模块添加到工程中。

这是比较正统的做法,还有一种比较讨巧的做法,即在需要被导入模块的工程下,先新建一个和要被导入的模块相同类型的空的模块,比如要导入的是 Java 模块(或 Web 模块、Maven 模块),就在工程下新建一个 Java 模块(或 Web 模块、Maven 模块)。然后在原来的被导出的工程窗口下,选择要被导出的模块,ctrl + c 复制一下,接着切换到要被导入的工程窗口下,找到新建的这个模块下的 src,ctrl + v,进行粘贴。
[图片]

[图片]

点击上图的 src,ctrl + v 粘贴一下。

[图片]

[图片]

将零散文件导入 IDEA

可以将用 VSCode、Nodepad++ 等写的零散文件导入 IDEA。

[图片]

可以在文件夹内,全选这些文件,ctrl + c 复制。

[图片]

选中这个 src,ctrl + v 进行粘贴:

[图片]

文件全都过来了,并且是可以运行的:

[图片]

设置

显示工具栏

在这里插入图片描述

打开设置

在这里插入图片描述

在这里插入图片描述

打开 IDEA 时默认启动项目

在这里插入图片描述
启动 IDEA 时,默认自动打开上次开发的项目?还是自己选择?

如果去掉 Reopen last project on startup 前面的对勾,每次启动 IDEA 就会出现如下界面:

在这里插入图片描述

取消自动更新

在这里插入图片描述
建议检查 IDE 更新的 √ 去掉,检查插件更新的 √ 选上。

修改 IDEA 主题

在这里插入图片描述

修改背景

在这里插入图片描述

选择一张合适的图片作为背景即可。

在这里插入图片描述

设置 IDEA 字体和字号

在这里插入图片描述

设置编辑器主题

[图片]

设置编辑器字体和字号

[图片]

更详细的字体与颜色如下:

[图片]

如果选择某个 font 字体,中文乱码,可以在 fallback font(备选字体)中选择一个支持中文的字体。

修改注释

[图片]

Block comment:修改多行注释的字体颜色。
Doc Comment –> Text:修改文档注释的字体颜色。
Line comment:修改单行注释的字体颜色。

注释后面自动加空格

[图片]

自动导包

[图片]

动态导入明确的包:Add unambiguous imports on the fly,该设置具有全局性。
优化动态导入的包:Optimize imports on the fly,该设置只对当前项目有效。

设置项目文件编码

[图片]

说明:Transparent native-to-ascii conversion 主要用于转换 ascii,显示原生内容。一般都要勾选。

可以给某一个路径下的文件设置单独的编码,而不采用全局编码:

[图片]

[图片]

设置控制台的字符编码

[图片]

取消双击 shift 搜索

在 2022.1 版本中,采用如下方式消双击 shift 出现搜索框:搜索 double,勾选 Disable double modifier key shortcuts,禁用这个选项。

[图片]

代码智能提示忽略大小写

IDEA 的代码提示和补充功能有一个特性:区分大小写。如果想不区分大小写的话,就把这个对勾去掉。建议去掉勾选。

[图片]

修改类头的文档注释信息

[图片]

常用的预设的变量,这里直接贴出官网给的:

${PACKAGE_NAME} - the name of the target package where the new class or interface will be created.
${PROJECT_NAME} - the name of the current project.
${FILE_NAME} - the name of the PHP file that will be created.
${NAME} - the name of the new file which you specify in the New File dialog box during the file creation.
${USER} - the login name of the current user.
${DATE} - the current system date.
${TIME} - the current system time.
${YEAR} - the current year.
${MONTH} - the current month.
${DAY} - the current day of the month.
${HOUR} - the current hour.
${MINUTE} - the current minute.
${PRODUCT_NAME} - the name of the IDE in which the file will be created.
${MONTH_NAME_SHORT} - the first 3 letters of the month name. Example: Jan, Feb, etc.
${MONTH_NAME_FULL} - full name of a month. Example: January, February, et

设置 import 显示 “*” 时的个数

[图片]

设置自动编译

[图片]

省电模式

IDEA 有一种叫做省电模式的状态,开启这种模式之后 IDEA 会关掉代码检查和代码提示等功能。所以一般也可认为这是一种阅读模式,如果在开发过程中遇到突然代码文件不能进行检查和提示,可以看看是不是开启了该功能。

[图片]

在多行显式编辑器选项卡

[图片]

显示行号与方法分隔符

[图片]

快捷键

快捷键汇总

格式化:ctrl + alt + l(小写的 l)

快速新增下一行:shift + enter

快速新增上一行:ctrl + alt + enter

删除一整行:ctrl + y

复制一整行:光标放在这行的任意位置,ctrl + c(会连带着最后的换行符一起复制,粘贴到别的位置时会连带着粘贴这个换行符)

撤销:ctrl + z

反撤销:ctrl + shift + z

剪切某一行:光标放在这行的任意位置,ctrl + x(会连带着最后的换行符一起剪切,粘贴到别的位置时会连带着粘贴这个换行符)

智能提示:alt + enter,当代码提示红色波浪线时表示出错,将光标放到红色波浪线处,点击此快捷键,则提示可以进行的操作有哪些。在没有报错的地方也可以用这个快捷键,也会提示可以进行的操作。

提示代码模板:ctrl + j,当想要调用模板但是又忘了要用哪个命令来调用时,可以用这个快捷键。

使用 xxx 块进行包围:ctrl + alt + t,当想要将某部分已经写完的代码用一个结构包围起来,形成某一种结构,比如将已经写好的部分代码作为 while 循环的循环体,可以全选这部分代码,按下此快捷键,根据提示进行选择即可。

调出生成 getter/setter/构造器等结构:alt + insert

自动生成返回值变量:ctrl + alt + v,即自动补全表达式的等号左侧。

复制当前行到下一行:ctrl + d

快速上下移动某一行:ctrl + shift + 箭头上下,只能在可以移动的范围内进行移动,否则按下快捷键后没有反应。或者 alt + shift + 箭头上下,这样的话可以移动的范围更广,即便是移动之后不符合语法,也会允许移动,而没有了移动范围的限制。

方法的形参列表提醒:ctrl + p

批量修改指定的变量名、方法名、类名等:shift + f6

抽取代码重构方法:ctrl + alt+ m

重写父类的方法:ctrl + o

实现接口的方法:ctrl + i

选中的结构的大小写的切换:ctrl + shift + u

批量导包:ctrl + alt + o

如何查看源码:ctrl + 选中指定的结构(适用于已经在代码中打出来的内容) 或 ctrl + n

[图片]

显示当前类结构,支持搜索指定的方法、属性等:ctrl + f12

[图片]

退回到前一个编辑的页面:ctrl + alt + ←

进入到下一个编辑的页面:ctrl + alt + →

上面四个快捷键多用于源码查看。

打开的类文件之间切换:alt + ←/→

[图片]

光标选中指定的类,查看继承树结构:ctrl + h

查看方法文档:ctrl + q

类的 UML 关系图:ctrl + alt + u

定位某行:ctrl + g

回溯变量或方法的来源:ctrl + alt + b

折叠方法实现:ctrl + shift + -

展开方法实现:ctrl + shift + +

查找指定的结构:ctlr+f

快速查找:选中的 Word 快速定位到下一个:ctrl + l

查找与替换:ctrl + r

直接定位到当前行的首位:home

直接定位到当前行的末位:end

查询当前元素在当前文件中的引用:ctrl + f7,然后按 ctrl + l 可以快速选择下一个。

全项目搜索文本:ctrl + shift + f

关闭当前窗口:ctrl + f4

[图片]

使用单行注释:ctrl + /

使用/取消多行注释:ctrl + shift + /

选中数行,整体往后移动:tab

选中数行,整体往前移动:shift + tab

查看快捷键

已知快捷键操作名,未知快捷键:

[图片]

已知快捷键,不知道对应的操作名:

在这里插入图片描述

自定义快捷键

[图片]

[图片]

使用其它平台快捷键


录制宏


创建 Java Web 工程


创建 Maven Java 工程


创建 Maven Web 工程


关联数据库


插件

安装插件

在这里插入图片描述

常用插件

在这里插入图片描述

插件安装位置:

在这里插入图片描述

可以将自己从别的地方得到的插件,拷贝到这个目录下,然后用安装本地插件的方式安装插件。

有道需要账户,但是设置了之后仍不可用,翻译引擎可以用微软的:

在这里插入图片描述

代码模板

两类模板

IDEA 中有两处可以设置模板:

第一处(后缀补全):

在这里插入图片描述

第二处(实时补全):

在这里插入图片描述

对于实时补全的后缀补全,不用做过多区分,只要会调用即可。

常用代码模板:

  1. 非空判断
    • 变量.null:if(变量 == null)
    • 变量.nn:if(变量 != null)
    • 变量.notnull:if(变量 != null)
    • ifn:if(xx == null)
    • inn:if(xx != null)
  2. 遍历数组和集合
    • 数组或集合变量.fori:for 循环
    • 数组或集合变量.for:增强 for 循环
    • 数组或集合变量.forr:反向 for 循环
    • 数组或集合变量.iter:增强 for 循环遍历数组或集合
  3. 输出语句
    • sout:相当于 System.out.println
    • soutm:打印当前方法的名称
    • soutp:打印当前方法的形参及形参对应的实参值
    • soutv:打印方法中声明的最近的变量的值
    • 变量.sout:打印当前变量值
    • 变量.soutv:打印当前变量名及变量值
  4. 对象操作
    • 创建对象
      • Xxx.new:创建 Xxx 类的对象,然后继续 .var 则赋给相应的变量,或者 ctrl + alt + v 自动补全等号左侧。
      • Xxx.new.field:会将方法内刚创建的 Xxx 对象抽取为一个属性
    • 强转
      • 对象.cast:将对象进行强转,然后继续 .var 则赋给相应的变量
      • 对象.castvar:将对象强转后,并赋给一个变量
  5. 静态常量声明
    • psf:public static final
    • psfi:public static final int
    • psfs:public static final String
    • prsf:private static final

自定义代码模板

自定义后缀补全模板

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

自定义 Live Templates

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

添加成功:

在这里插入图片描述

单元测试模板:

@Test
public void test$var1$(){$var2$
}

[图片]

创建多线程:

new Thread(){public void run(){$var$}
};

[图片]

冒泡排序:

for(int $INDEX$ = 1; $INDEX$ <= $ARRAY$.length - 1; $INDEX$++) {for(int $INDEX2$ = 0; $INDEX2$ <= $ARRAY$.length - 1 - $INDEX$; $INDEX2$++) {if($ARRAY$[$INDEX2$] > $ARRAY$[$INDEX2$+1]){$ELEMENT_TYPE$ temp = $ARRAY$[$INDEX2$];$ARRAY$[$INDEX2$] = $ARRAY$[$INDEX2$+1];$ARRAY$[$INDEX2$+1] = temp;}}
}

[图片]

Debug

添加断点

在源代码文件中,在想要设置断点的代码行的前面的标记行处,单击鼠标左键就可以设置断点,在相同位置再次单击即可取消断点。

当代码执行到某一个断点时,是执行到这里但是尚未执行。

step over(F8):进入下一步,如果当前行断点是调用一个方法,则不进入当前方法体内。遇到一个方法时,直接执行完毕并跳到下一条语句,不会进入这个方法内。

[图片]

step over 对于自定义的方法或者 JDK 自带的方法都好使。

step intoforce step into

step into(F7):进入下一步,如果当前行断点是调用一个自定义方法,则进入该方法体内。

force step into(Alt +Shift + F7):进入下一步,如果当前行断点是调用一个核心类库方法,则进入该方法体内。

[图片]

step into 只能进入自定义方法,force step into 既可以进入自己写的方法,也可以进入 JDK 自带的方法。

step out(Shift + F8):跳出当前方法体。

[图片]

step out 对于自定义的方法或者 JDK 自带的方法都好使。

[图片]

Resume Program(F9):恢复程序运行,但如果该断点下面代码还有断点则停在下一个断点上。

[图片]

Run to Cursor(Alt + F9):直接跳到光标处继续调试。

[图片]

Stop(Ctrl + F2):结束调试。

[图片]

View Breakpoints(Ctrl + Shift + F8):查看所有断点。

[图片]

当前的断点:

[图片]

Show Execution Point

[图片]

Mute Breakpoints:使得当前代码后面所有的断点失效, 一下执行到底。

[图片]

在 Debug 过程中,可以动态的下断点。

行断点

断点打在代码所在的行上。执行到此行时,会停下来。

方法断点

断点设置在方法的签名上,默认当进入时,断点可以被唤醒。

也可以设置在方法退出时,断点也被唤醒。

行断点是圆形,方法断点是菱形。

[图片]

此时程序运行到调用这个方法时会进入这个方法且会停在这个方法的第一行,如果点击 Resume Program(F9),则程序立刻执行完这个方法并返回到调用方法中。

在菱形处右键:

[图片]

如果选择在方法退出时也停下来,即勾选 Method exit,那么在点击 Resume Program(F9)后,则程序立刻执行完这个方法并在该方法的最后一行停下来。

[图片]

字段断点

在类的属性声明上打断点,默认对属性的修改操作进行监控。代码中每一次对这个属性进行修改/访问时都会停下来。
图标是一个小眼睛的形状:

[图片]

语句 int id = 1; 也是一种修改,因为 id 默认值为 0,而此处显示更改为 1。

[图片]

条件断点

[图片]

加了条件之后的的行断点出现了一个问号:

[图片]

当条件满足时停在该行。

异常断点

对异常进行跟踪。如果程序出现指定的异常,程序就会执行断点,自动停住。

[图片]

[图片]

[图片]

添加之后的效果(右边的选项都保持默认不变,直接点击 Done):

[图片]

此时对于程序,如果点击 run,会报错,如果点击 debug,会停在发生异常的位置:

[图片]

线程调试


自定义调试数据视图

[图片]

[图片]

相关文章:

IDEA 2022

介绍 【尚硅谷IDEA安装idea实战教程&#xff08;百万播放&#xff0c;新版来袭&#xff09;】 jetbrains 中文官网 IDEA 官网 IDEA 从 IDEA 2022.1 版本开始支持 JDK 17&#xff0c;也就是说如果想要使用 JDK 17&#xff0c;那么就要下载 IDEA 2022.1 或之后的版本。 公司…...

Vue TypeScript 实战:掌握静态类型编程

title: Vue TypeScript 实战&#xff1a;掌握静态类型编程 date: 2024/6/10 updated: 2024/6/10 excerpt: 这篇文章介绍了如何在TypeScript环境下为Vue.js应用搭建项目结构&#xff0c;包括初始化配置、创建Vue组件、实现状态管理利用Vuex、配置路由以及性能优化的方法&#x…...

Hudi extraMetadata 研究总结

前言 研究总结 Hudi extraMetadata ,记录研究过程。主要目的是通过 extraMetadata 保存 source 表的 commitTime (checkpoint), 来实现增量读Hudi表写Hudi表时,保存增量读状态的事务性,实现类似于流任务中的 exactly-once 背景需求 有个需求:增量读Hudi表关联其他Hudi…...

Vue31-自定义指令:总结

一、自定义函数的陷阱 1-1、自定义函数名 自定义函数名&#xff0c;不能用驼峰式&#xff01;&#xff01;&#xff01; 示例1&#xff1a; 示例2&#xff1a; 1-2、指令回调函数的this 【回顾】&#xff1a; 所有由vue管理的函数&#xff0c;里面的this直接就是vm实例对象。…...

Windows环境如何使用Flutter Version Manager (fvm)

Windows环境如何使用Flutter Version Manager (fvm) Flutter Version Manager (fvm) 是一个用于管理多个 Flutter SDK 版本的命令行工具&#xff0c;它允许开发者在不同项目之间轻松切换 Flutter 版本。这对于需要维护多个使用不同 Flutter 版本的项目的开发人员来说非常有用。…...

优化Elasticsearch搜索性能:查询调优与索引设计

在构建基于 Elasticsearch 的搜索解决方案时&#xff0c;性能优化是关键。本文将深入探讨如何通过查询调优和索引设计来优化 Elasticsearch 的搜索性能&#xff0c;从而提高用户体验和系统效率。 查询调优 优化查询是提高 Elasticsearch 性能的重要方法。以下是一些有效的查询…...

STM32-17-DAC

STM32-01-认识单片机 STM32-02-基础知识 STM32-03-HAL库 STM32-04-时钟树 STM32-05-SYSTEM文件夹 STM32-06-GPIO STM32-07-外部中断 STM32-08-串口 STM32-09-IWDG和WWDG STM32-10-定时器 STM32-11-电容触摸按键 STM32-12-OLED模块 STM32-13-MPU STM32-14-FSMC_LCD STM32-15-DMA…...

一杯咖啡的艺术 | 如何利用数字孪生技术做出完美的意式浓缩咖啡?

若您对数据分析以及人工智能感兴趣&#xff0c;欢迎与我们一起站在全球视野关注人工智能的发展&#xff0c;与Forrester 、德勤、麦肯锡等全球知名企业共探AI如何加速制造进程&#xff0c; 共同参与6月20日由Altair主办的面向工程师的全球线上人工智能会议“AI for Engineers”…...

使用QT制作QQ登录界面

mywidget.cpp #include "mywidget.h"Mywidget::Mywidget(QWidget *parent): QWidget(parent) {/********制作一个QQ登录界面*********************/this->resize(535,415);//设置登录窗口大小this->setFixedSize(535,415);//固定窗口大小this->setWindowTi…...

代码随想录训练营第七天 344反转字符串 541反转字符串II 替换数字

第一题&#xff1a; 原题链接&#xff1a;344. 反转字符串 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 双指针&#xff0c;一根指向字符串的头部&#xff0c;一根指向字符串的尾部。两个指针向中间移动&#xff0c;交换两根指针指向的值。 代码如下&#xf…...

【Python】数据处理:SQLite操作

使用 Python 与 SQLite 进行交互非常方便。SQLite 是一个轻量级的关系数据库&#xff0c;Python 标准库中包含一个名为 sqlite3 的模块&#xff0c;可以直接使用。 import sqlite3数据库连接和管理 连接到 SQLite 数据库。如果数据库文件不存在&#xff0c;则创建一个新数据库…...

NXP RT1060学习总结 - fsl_flexcan 基础CAN函数说明 -3

概要 CAN测试源码&#xff1a; https://download.csdn.net/download/qq_35671135/89425377 根据fsl_flexcan.h文件从文件末尾往前面梳理&#xff0c;总共30个基础CAN函数&#xff1b; 该文章只梳理常规CAN&#xff0c;增强型CAN后面再单独梳理。 使用的是RT1064开发板进行测试…...

2024年第三届数据统计与分析竞赛(B题)数学建模完整思路+完整代码全解全析

你是否在寻找数学建模比赛的突破点&#xff1f;数学建模进阶思路&#xff01; 详细请查 作为经验丰富的数学建模团队&#xff0c;我们将为你带来2024年第三届数据统计与分析竞赛&#xff08;B题&#xff09;的全面解析。这个解决方案包不仅包括完整的代码实现&#xff0c;还有…...

高通Android 12 右边导航栏改成底部显示

最近同事说需要修改右边导航栏到底部&#xff0c;问怎么搞&#xff1f;然后看下源码尝试下。 1、Android 12修改代码路径 frameworks/base/services/core/java/com/android/server/wm/DisplayPolicy.java a/frameworks/base/services/core/java/com/android/server/wm/Display…...

2.6数据报与虚电路

数据报 当作为通信子网用户的端系统要发送一个报文时&#xff0c;在端系统中实现的高层协议先把报文拆成若干个带有序号的数据单元&#xff0c;并在网络层加上地址等控制信息后形成数据报分组(即网络层PDU)中间结点存储分组一段很短的时间&#xff0c;找到最佳的路由后&#x…...

小主机折腾记26

双独立显卡调用问题 前两天将tesla p4从x99大板上拆了下来&#xff0c;将880G5twr上的rx480 4g安装到了x99大板上&#xff0c;预计是dg1输出&#xff0c;rx480做3d运算。安装完驱动后&#xff0c;还想着按照之前tesla p4的设置方法去设置rx480&#xff0c;结果果然&#xff0c…...

ArrayList浅析

目录 一、ArrayList源码1.1 迭代器1.1.1 Itr源码浅析1.1.2 ListItr源码浅析 1.2 常用方法1.3 System.arraycopy1.4 ArrayList 的创建方式 二、引申问题2.1 ArrayList的大小是如何增加的&#xff1f;2.2 什么情况下你会使用ArrayList2.3 在索引中ArrayList的增加或者删除某个对象…...

Spring Boot整合hibernate-validator实现数据校验

文章目录 概念基本概念常用校验注解 前置内容整合Hibernate Validator快速入门优雅处理参数校验异常其余注解校验自定义校验注解 参考来源 概念 基本概念 Hibernate Validator 是一个参数校验框架&#xff0c;可以非常方便地帮助我们校验应用程序的入参&#xff0c;实现了参数…...

Ubuntu系统中网易云音乐编译安装

项目地址&#xff1a; netease-cloud-music-gtk: Linux 平台下基于 Rust GTK 开发的网易云音乐播放器 目录 1.README.md中按照步骤来 2.安装git 3.报错 sudo apt install cmake sudo apt-get install libdbus-1-dev sudo apt install dnf sudo dnf install gettext 继…...

MPLS标签号

标签被压入在2层与3层之间 称为 2.5层 标签的格式----32 位4 个字节 前 20 位为标签号&#xff0c;2~20 个标签号&#xff1b;其中1-15号保留&#xff0c;作为特殊编号&#xff1b; 第 21-23位 exp&#xff0c;3位8个数&#xff0c;为优先级&#xff0c;用于Q0S 策略使用&a…...

OpenHarmony napi 编译 .so 并打包成 .har

一、前言 最近在搞公司标准产品适配OpenHarmony 平台&#xff0c; 按照行业上的常用方法&#xff0c;在Android 是将底层代码用c 封装成 xxx.so &#xff0c;然后将其他一部分打包成 xxx.jar。 因此&#xff0c;在OpenHarmony 平台也是打算按照这个模式。正所谓&#xff0c;好…...

python 循环导入(circular imports)解决方法

在 Python 中&#xff0c;大部分人都应该都遇到过循环导入的问题。 循环导入是指两个文件各自尝试导入另一个文件&#xff08;模块&#xff09;&#xff0c;当一个模块没有完全初始化时会导致失败。解决这种情况的最好方法是将代码分层组织&#xff0c;这样导入的关系就会自然…...

01、Linux网络设置

目录 1.1 查看及测试网络 1.1.1 查看网络配置 1、查看网络接口地址 2、查看主机状态 3、查看路由表条目 4、查看网络连接qing 1.1.2 测试网络连接 1.测试网络连接 2.跟踪数据包的路由路径 3.测试DNS域名解析 1.2 设置网络地址参数 1.2.1 使用网络配置命令 1.修改网卡…...

ssm160基于Java技术的会员制度管理的商品营销系统的设计与实现+vue

商品营销系统计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本商品营销系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理…...

边缘计算网关在智慧厕所远程监测与管理的应用

随着智慧城市建设的不断深入&#xff0c;城市公共设施的智慧化管理成为了提升城市品质和居民生活质量的关键建设。公厕作为城市基础设施的重要组成部分&#xff0c;其管理效率和卫生状况直接影响着市民的日常生活体验。在公厕设施建设背景下&#xff0c;边缘计算网关技术的应用…...

嵌入式linux中设备树使用of函数操作基本方法

各位开发者大家好,今天主要给大家分享一下,如何使用of操作函数,获取对应设备树节点先关的属性信息。 第一:of_find_property函数 of_find_property 函数用于在设备树中查找节点下具有指定名称的属性。如果找到了该属性,可以通过返回的属性结构体指针进行进一步的操作,比…...

10.GLM

智谱AI GLM 大模型家族 最强基座模型 GLM-130B GLM (General Language Model Pretraining with Autoregressive Blank Infilling) 基于自回归空白填充的通用语言模型&#xff08;GLM&#xff09;。GLM通过增加二维位置编码并允许以任意顺序预测跨度来改进空白填充预训练&…...

【深度学习】Transformer分类器,CICIDS2017,入侵检测,随机森林、RFE、全连接神经网络

文章目录 1 前言2 随机森林训练3 递归特征消除 RFE Recursive feature elimination4 DNN5 Transformer5.1. 输入嵌入层&#xff08;Input Embedding Layer&#xff09;5.2. 位置编码层&#xff08;Positional Encoding Layer&#xff09;5.3. Transformer编码器层&#xff08;T…...

pdf压缩到指定大小的简单方法

压缩PDF文件是许多人在日常工作和学习中经常需要面对的问题。PDF文件因其跨平台、易阅读的特性而广受欢迎&#xff0c;但有时候文件体积过大&#xff0c;会给传输和存储带来不便。因此&#xff0c;学会如何有效地压缩PDF文件&#xff0c;就显得尤为重要。本文将详细介绍几种常见…...

关于FPGA对 DDR4 (MT40A256M16)的读写控制 I

关于FPGA对 DDR4 &#xff08;MT40A256M16&#xff09;的读写控制 I 语言 &#xff1a;Verilg HDL EDA工具&#xff1a;ISE、Vivado 关于FPGA对 DDR4 &#xff08;MT40A256M16&#xff09;的读写控制 I一、引言二、DDR4的特性&#xff08;MT40A256M16&#xff09;&#xff08;1…...

网站的开发工具和运行环境/日喀则网站seo

博弈论 博弈论又被称为对策论&#xff08;Game Theory&#xff09;&#xff0c;既是现代数学的一个新分支&#xff0c;也是运筹学的一个重要学科。 博弈论主要研究公式化了的激励结构间的相互作用&#xff0c;是研究具有斗争或竞争性质现象的数学理论和方法。 ——360百科 巴什…...

免费做网站公司/百度官网推广

Post updated by MetaWeblog API on Thu Jun 30 2016 23:01:04 GMT0800 (中国标准时间) 转载于:https://www.cnblogs.com/metaweblog/p/5631521.html...

网站设计建设趋势/网站seo优化技巧

高速数字设计&#xff08;黑魔书&#xff0c;业界圣经&#xff09; 信号完整性和电源完整性分析&#xff08;伯格厅是MIT大神&#xff0c;SI,PI专家&#xff09; 于争信号完整性揭秘&#xff08;配视频讲解很好&#xff09; Cadence高速电路板设计与仿真&#xff08;周润景的…...

重庆制作网站/成都seo经理

Bytes是byte的基本类型实用工具类。 类声明 以下是com.google.common.primitives.Bytes类的声明&#xff1a; GwtCompatible public final class Bytesextends Object 方法 继承的方法 这个类继承了以下类方法&#xff1a; java.lang.Object Bytes 示例 使用所选择的编辑器创…...

网站开发毕业论文引言/百度网站推广价格查询

近日&#xff0c;中国移动2016年度低端路由器和低端交换机产品集中采购项目招标结果出炉&#xff0c;作为中国数据通信解决方案领导品牌&#xff0c;锐捷网络三个标段全部中标&#xff0c;并获得最大份额。其中在低端三层交换机和二层交换机标段&#xff0c;锐捷网络更以综合排…...

wordpress分页条数/网站营销软文

需要绑定实体数组比如Materiel[]绑定到界面&#xff08;winform/webform都有&#xff09;&#xff0c;虽然可以直接绑定数组到GridView&#xff0c;但排序&#xff0c;过滤&#xff0c;查找等操作在数组里不是很方便。所以想借用DataTable做数据源。 最简单的方法就是手动建一个…...