手把手教你搭建开发环境之Java开发

大家好呀,从今天开始,我们的手把手系列教程就正式开始啦。
如果你觉得本文对你有一些帮助,欢迎大家关注、点赞、分享给需要的小伙伴们,谢谢大家啦。

前言

Java虽然是一个比较老的语言,但到现在依然充满了活力,各种开源框架层出不穷,丰富的社区资源都对Java的发展和应用都提供了极大的帮助。对于想学习Java开发的小伙伴,第一步就是要搭建开发环境,然后才能进行更好的开展后续的学习和工作。那接下来我们就一起看看怎么从0到1搭建一个Java开发环境吧。

搭建Java开发环境,我们首先需要准备相应的软件安装包,我们本次的软件清单如下:

  • JDK 8
  • IntelliJ IDEA 2020
  • Tomcat 8
  • MySQL 5.7.29
  • Navicat Premium 15

注1:所有软件版本都为当前实际应用中最为广泛使用的稳定版本。

注2:所有的软件大家都可以到对应的软件官网下载,大家也可以在我是开发者FTD公众号下载,关注我们的公众号,后台回复Java开发软件即可获得全套软件的下载地址,部分收费软件可能有惊喜哦。

Step 1 安装JDK 8

1,下载JDK 8

我们首先去官网下载jdk,这里我们使用的是jdk8版本。

  • 版本号:Java SE Development Kit 8u271
  • 官方下载地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

由于Java已经被Oracle收购,所以我们需要去Oracle的官网下载jdk。在浏览器中输入jdk的下载地址,打开下载列表页面,如下图所示:

在这个页面根据自己的系统来选择对应的jdk版本就可以,因为我们是Windows机器,这里我们选择Windows x64版本,点击下载,会出现Oracle的用户协议页面,如下图所示:

同意协议后跳入Oracle登录页面。下载jdk需要先注册Oracle账号,登录后才能下载,如果没有Oracle账号的需要先注册一下,这里我们使用已注册好的账号登录,登录完成后弹出下载界面开始下载。

注:小伙伴们也可以在我是开发者FTD公众号后台回复:Java开发软件获取搭建环境的全套软件。

2,安装JDK

下载完成后,直接双击安装包进行安装,弹出如下图所示:

直接点击下一步,进入安装选项界面,jdk默认是安装到c盘下面,我们这里更改一下安装位置,改为e盘,建议不要直接安装到系统盘下,如图所示:

点击下一步开始安装,当jdk安装完成后会弹出让安装jre的提示,如下图所示:

jre是java的运行时环境所需要的jar包,我们将jre同样也放到同一层级的目录下,如下图所示:

注意,此时如果没有jre的目录,我们首先要到jdk的目录中先创建jre的文件夹,才可以在更改按钮里找到该目录。如上图所示,jre1.8.0_271文件夹为自己手动创建。

jdk与jre的区别:jdk是Java开发环境所必须的,jre只是Java运行环境所必须的,通常来说,jdk的内容是包含jre的。

然后点击下一步,继续安装程序。稍等片刻后,安装就完成了,点击关闭按钮完成安装,如下图所示:

3,JDK验证

jdk安装完成后,如何验证是否安装成功了呢?

首先我们打开命令行,在命令行中输入java,显示如下信息表明jdk已经安装完成了,如图所示:

此时,我们还可以输入

java -version 

来查看一下安装的jdk版本,如下图所示:

可以看到显示的版本号与我们在官网下载的版本是一致的。

4,配置环境变量

有同学可能就要问了,为什么jdk安装完成之后还得配置环境变量呢?不配置不行吗?

我们知道java程序是需要先编译的,java提供了javac命令来编译,如果我们不配置环境变量,我们在使用命令时就会提示如下图所示:

当我们切换到jdk的bin目录下时,再运行javac发现就可以找到该命令了,如下图所示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-psIKIbPU-1604328895091)(https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/1a0fb8e04a574f75beb0ebb7863d69c5~tplv-k3u1fbpfcp-watermark.image)]

所以大家可以简单的理解,配置了环境变量会方便我们使用java的相关命令来处理java程序。

那我们下面就来讲一下如何配置jdk的环境变量。

1,右键我的电脑,选择属性 -> 高级系统设置 -> 环境变量,打开环境变量的对话框,如下图所示:

2,首先我们来配置JAVA_HOME变量,点击新建按钮,打开新建系统变量对话框,输入变量名JAVA_HOME,变量值为你的jdk按照路径,注意是jdk的根目录,例如这里配置的为:E:\Program Files\Java\jdk1.8.0_271,如下图所示:

为啥要配置 JAVA_HOME,一定要用 JAVA_HOME 命名吗?

其实不是必须的。因为有些开发工具,如(Eclipse,IDEA, Tomcat)都会去扫描你的 JAVA_HOME 变量,看看你的电脑装了几个版本的 jdk。
当然我们也可以不用 JAVA_HOME 这个名字当参数名,但是当有些软件启动时需要 JAVA_HOME,例如 Tomcat,当你不用这个命名,你就需要去修改 Tomcat 的 bin 目录下的 catalina.bat 文件,才能启动Tomcat,会增加复杂度,所以建议大家还是命名为 JAVA_HOME

3,下一步开始配置path路径。我们在环境变量对话框中选中Path,点击编辑按钮或双击打开path对话框。注意,这里根据系统版本的不同,展现形式可能有所不同。

如果是排列形式的,直接点击新建按钮,输入变量值 %JAVA_HOME%\bin,点击完成即可。如图所示:

如果是编辑框形式的,首先需要在末尾添加英文冒号;,然后再输入变量值%JAVA_HOME%\bin,然后点击确定完成配置,如下图所示:

环境变量配置完成后,我们再去命令行输入javac执行一下,是不是不提示错误了。

到这里,我们的jdk就安装完成了,那下一步我们就要准备开始写代码了,Java开发相关的IDE工具有很多,最出名的就是Eclipse和IDEA了,大家可以根据自己的使用习惯进行选择,我们这里推荐大家使用IDEA来作为Java开发的工具。

Step 2 安装IntelliJ IDEA 2020

我们首先去官网下载IDEA,这里我们使用的是2020.1版本。

  • 版本号:IntelliJ IDEA 2020.1
  • 官方下载地址:https://www.jetbrains.com/idea/download/

注:IDEA不是免费软件,需要付费获得license,当然也可以直接使用社区版本,不过会有一些限制。另外小伙伴们可以在我是开发者FTD公众号后台回复:Java开发软件获取搭建环境的全套软件。

1,安装IDEA

IDEA的安装比较简单,直接双击可执行文件,进入安装向导。选择安装目录,勾选安装选型,选择Next,如下图所示:

点击安装按钮后,程序就开始自动安装了。安装后显示下图,点击Finish按钮完成安装:

此时桌面上就会出现IDEA的应用图标。双击打开IDEA,显示如下IDEA配置向导,在这里大家可以根据自己的喜爱来选择就行:

2,创建Java项目

我们可以从上图中可以看到,IDEA有三种创建项目的方式:

  • 创建新项目
  • 打开已有项目
  • 从源码版本控制库中打开项目,例如Git仓库中

我们选择第一个,创建新项目,打开如下界面:

可以看到IDEA可以创建多种类型的项目,java项目、企业级项目、Spring项目、web项目、maven项目等等,大家可以根据自己项目的需要通过IDEA快速的创建。

这里我们选择Java项目(后面会介绍如何创建web项目),可以看到在Project SDK的位置,显示的是我们已经安装好的jdk版本了,如果大家电脑中有多个jdk版本,可以在这里进行选择切换。

我们还可以在下方为这个新项目选择lib库或者框架,在需要的库或框架前面勾选,IDEA就会引导你进行下一步配置,如图所示:

选择完成后,点击Next进入到下一步。

我们可以通过IDEA已有的模板来创建一个项目,如图所示:

点击Next,在这里,我们需要输入项目名称,项目路径以及包名,如下图所示:

点击Finish,一个新的java项目就创建完成了。如下图所示:

3,IDEA的常用配置

刚安装好的IDEA还是需要我们做一些简单调整,以适应我们自己的开发习惯。

  1. 显示工具栏。 默认的IDEA是不显示工具栏的,这样我们需要做一下常用操作时会不太方便,点击View -> Appearance -> Toolbar,将Toolbar勾选上就能显示出来了。如图所示:


2. 调整IDE主题和字体。 点击File -> Settings,打开设置对话框,在里面找到Appearance & Behavior -> Appearance,在右侧面板中对主题和ide字体等进行设置,如图所示:

调整完成后,发现左侧导航栏的字体变大了。

  1. 调整编辑器的字体。 点击File -> Settings,打开设置对话框,在里面找到Editor -> Font,在右侧面板中可以对编辑器的字体、字号以及行间距等进行调整,如下图所示:

IDEA还有很多其他配置,这里就不详细介绍了,后面等有机会了会专门写一下如何使用IDEA,大家记得关注我们喔。

4,IDEA的常用插件

IDEA最重要的一个功能是支持各种各样的插件,IDEA是一个开放的平台,开发者可以为IDEA开发插件以更方便使用者来进行软件开发。这里我们介绍一些常用的插件,后续也是会有单独的文章来专门介绍IDEA插件的使用。

插件位置:点击File -> Settings,打开设置对话框,在里面找到Plugins,就打开插件界面。

在这个窗口中我们可以看到IDEA所提供的插件市场,以及IDEA已经安装好的插件。如下图所示:

好,那下面就让我们安装几个比较常用的插件吧:

插件一:Alibaba Java Coding Guidelines

阿里巴巴代码规范检查插件,代码规范检查用的,可以实时提示代码中不符合规范的代码,并能给出修改建议,一定要安装。

插件二:.ignore

由于我们大部分项目都会使用Git来管理我们的源代码,所以在创建项目的时候就需要创建Gitignore文件,.ignore这个插件可以帮助我们快速创建ignore文件,并且会根据使用的ide,编程语言等来自动生成需要忽略的文件,非常方便,推荐安装。

插件三:Statistics

这个插件是用来统计我们代码行数的,如果大家想知道自己写了多少行代码,那使用这个插件是再合适不过了。

上面都是一些基础插件,当然还有很多非常不错的插件,这里就不一一介绍了,后面会专门写一下,欢迎大家继续关注我们呀。

IDEA还有其他非常多好用的插件,大家也可以多多去插件市场探索,或者关注我们公众号查看更多关于IDEA 插件的文章。

到这里,我们用来开发Java代码的IDE工具也就安装并配置完成了。

我们使用Java通常是来写后端服务,那后端服务需要容器来承载,那接下来我们就一起看看最流行的服务端软件Tomcat吧。

Step 3 安装Tomcat 8

Tomcat 应该不用做太多介绍,Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,目前大部分Java服务端容器都是在使用Tomcat,我们先去官网下载下来。

  • 版本号:Tomcat 8.5.59
  • 官网下载地址:https://tomcat.apache.org/download-80.cgi

大家可以根据自己的操作系统来下载,我们这里是Windows,就选择Windows 64位的zip包下载就行。

1,安装Tomcat

将下载的zip包解压到硬盘任意目录即可,但建议不要是C盘,操作系统可能会出现拒绝访问的问题。另外解压路径中不要包含中文和特殊字符!解压后的目录结构如下所示:

2,配置Tomcat环境变量

和jdk一样,我们也需要给Tomcat配置系统环境变量,以便于更好的使用Tomcat提供的命令。

  1. 右键我的电脑,选择属性 -> 高级系统设置 -> 环境变量,打开环境变量的对话框。
  2. 配置CATALINA_HOME,填写Tomcat所在的根路径,注意名字千万不能错。
  3. 配置path,双击path进入编辑模式,输入 ;%CATALINA_HOME%/bin,注意加上英文的冒号;

这样环境变量我们就配置完成了,Tomcat的环境变量也不是必须配置的,因为后续我们都是通过IDEA来对Tomcat进行操作的。

3,启动Tomcat

打开命令行,输入startup.bat,就可以启动Tomcat了。如下图所示,说明Tomcat已经启动了:

接下来让我们打开浏览器,在地址栏中输入http://localhost:8080/,如果看到如下界面,表示Tomcat启动成功啦:

4,Tomcat控制台乱码解决

不过我们看到Tomcat控制台输出的信息有些字符都是乱码,会让人看不懂意思,这是因为Tomcat默认不支持中文字符,让我们去到Tomcat的根目录下,在conf文件夹下,找到logging.property文件,将

java.util.logging.ConsoleHandler.encoding = UTF-8 

修改为

java.util.logging.ConsoleHandler.encoding = GBK

如下图所示:

再重新启动Tomcat,此时我们看到乱码已经解决了,如图所示:

5,IDEA中配置Tomcat

下面我们在IDEA中配置Tomcat,打开设置对话框,依次点击Build,Excution,Deployment -> Application Servers,在右侧面板中,点击+号,选择Tomcat Server,打开Tomcat配置对话款,如下图所示:

在这里我们选择Tomcat的安装路径,点击OK完成配置。

6,IDEA中创建web应用

Tomcat服务器和IDEA我们都已经安装好了,下面让我们来创建一个Web应用吧。

点击File -> New Project,打开创建应用窗口,选择“Spring”,在右侧窗口中选择Web Application,同时选择Application Server,此时可以看到这里IDEA已经默认选择Tomcat,如图所示:

点击下一步,完成项目的创建。此时我们可以看到在IDE上方的Tomcat的按钮,如图所示:

我们点击Tomcat,在下拉列表框中选择“Edit Configurations”,打开配置窗口,如下图所示:

我们可以在这里配置Tomcat的一些参数,比如访问地址,打开的浏览器,vm参数,打印的日志等等。

现在我们打开项目中的index.jsp,编辑title和body的内容,完成后点击Tomcat旁边的绿色按钮,启动Tomcat。

当Tomcat加载完成后,会自动打开浏览器访问我们的程序地址,如下图所示:

到这里,我们的Java环境基本上已经搭建完成了,不过程序开发怎么能少的了数据库呢。下面我们来介绍一下MySQL数据库的安装和使用。

Step 4 安装MySQL 5.7.29

MySQL依然是目前最流行的数据库,使用的公司众多。我们一般选择的是 MySQL Community Server ,社区版本,是官方免费供给我们使用的。

  • 版本号:5.7.29
  • 官网下载地址:https://downloads.mysql.com/archives/community/

打开地址后,选择5.7.29版本,选择Windows系统后就会自动筛选出合适的下载文件,这里我们选择64位的程序,点击下载。如下图所示:

如果官网下载较慢,小伙伴们也可以在我是开发者FTD公众号后台回复:Java开发软件获取搭建环境的全套软件。

1,安装MySQL

直接将下载的zip包解压到硬盘上,注意解压路径不要有中文汉字或特殊字符即可。我们这里解压到e盘根路径,解压后的文件如下图所示:

2,配置环境变量

跟jdk和Tomcat一样,我们也需要给MySQL配置环境变量,是不是看到这里都不需要我再多说什么了。

1,右键我的电脑,选择属性 -> 高级系统设置 -> 环境变量,打开环境变量的对话框,在下方的 系统变量 内,新建一个 MYSQL_HOME 变量,输入你的 MySQL 解压缩后文件夹的目录;如图所示:

2,在 系统变量 内找到其中的 Path 变量,双击打开,再最后加上 %MYSQL_HOME%\bin 就完成了环境变量的配置了。

此时,我们已经配置了三个环境变量,分别是JAVA_HOME、CATALINA_HOME、MYSQL_HOME,如下图所示:

3,MySQL配置文件
新建 my.ini 文件

进入解压缩后的文件内(mysql-5.7.29-winx64),新建 my.ini 文件。在空白处点击鼠标右键,选择新建 txt文本 文件,再将重命名文件为 my.ini(后缀名显示:菜单栏->查看->文件扩展名,勾上);如下图所示:

输入配置内容

双击 my.ini 文件默认记事本打开。

请注意输入的内容中 basedirdatadir 是你自己对应的MySQL安装路径

[mysql]  
# 设置 mysql 客户端默认字符集  
default-character-set=utf8 [mysqld]  
#设置 3306 端口  
port = 3306  # 设置 mysql 的安装目录  
basedir=e:\mysql-5.7.29-winx64# 设置 mysql 数据库的数据的存放目录  
datadir=e:\mysql-5.7.29-winx64\data # 允许最大连接数  
max_connections=200  # 服务端使用的字符集默认为 8 比特编码的 latin1 字符集  
character-set-server=utf8  # 创建新表时将使用的默认存储引擎  
default-storage-engine=INNODB
4. 安装MySQL

MySQL的基础配置完成后,下面我们就来安装MySQL数据库了。

首先我们要以管理员身份打开命令行,在键盘上按下Win + X 后,在按 A 键,打开命令提示符(管理员),记住一定要以管理员身份打开才能有足够的操作权限。

有的电脑系统可能是 powershell,两个基本功能类似。

然后在命令行窗口中定位至MySQL安装目录的 bin 文件夹下

cd XXXX:其中的 XXXX为你的 MySQL 安装目录,跟之前一样,复制粘贴即可。

cd e:\mysql-5.7.29-winx64\bin

如下图所示:

注:如果路径中,某文件夹含有空格,需要加上 “”

下面我们就可以开始安装MySQL了,注意以下的命令必须以管理员身份进行!

建立默认数据库

在命令行下输入下面这个语句新建 data 文件夹:

mysqld --initialize-insecure --user=mysql

如下图所示:

之后你会发现多了一个 data 文件夹,如下图内容;此时 MySQL 建立了默认的数据库,用户名为 root,密码为空。

注意:在安装时可能会提示缺少MSVCP120.dll动态文件的提示,此时可以使用我们提供的软件 DirectXRepair-v3.8 进行修复就可以了。在我是开发者FTD公众号后台回复:Java开发软件获取搭建环境的全套软件。如下图所示:

安装服务

输入下面语句:

mysqld -install

第一次安装的话会显示 “Service successfully installed.”,如下图所示:

如果已经安装过了,则会显示"The service already exists! …",如下图:

如果需要移除服务:

mysqld -remove

切换 MySQL 版本的时候,需要先移除服务再安装。是不是感觉免安装,切换版本还是挺容易的。

需要在原先的文件夹内 remove ,再在当前的文件夹内 install即可。如下图所示:

进入 MySQL
1. 启动服务

我们在命令行中输入以下命令来启动MySQL服务:

net start mysql

可以看到,MySQL服务已经启动了,如下图:

2. 登录

输入登录语句:-u 指的是登录的用户名,-p 是密码,因为是默认安装的数据库,此时密码为空,回车即可。

mysql -u root -p //默认为 root,mysql -u <用户名> -p <密码>
3. 设置密码

为了避免之后出现登录问题,登陆后第一件事情就是修改密码。

new_password 部分是你的新密码部分,自行修改。

注意结尾的分号:";"
注意密码在单引号内部:‘new_password’

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

4. 操作数据库

现在我们就可以操作数据库啦,如何操作数据库在这里就不做深入介绍了,后面我们会有专门的专题来介绍,请多关注。

这些都是MySQL默认的建立数据哦~

5. 退出和停止

我们在不使用的时候最好停止 MySQL 服务~

quit  // 退出
net stop mysql // 停止服务

如下图所示,MySQL服务已经停止了:

Step 5 安装Navicat Premium 15

MySQL安装好了,虽然MySQL的命令行也可以用,不过我们还是需要一个强大的数据库工具帮我们来操作数据库,那Navicat是个非常不错的选择。

  • 版本号:Navicat Premium 版本 15
  • 下载地址:https://www.navicat.com.cn/download/navicat-premium

注:Navicat不是免费软件,需要付费获得license,可以免费试用。需要的小伙伴们也可以在我是开发者FTD公众号后台回复:Java开发软件获取搭建环境的全套软件。

1,安装Navicat Premium 15

Navicat的安装非常简单,下载完成后,双击安装包,显示如下界面:

选择安装位置,直接下一步就可以。

最后点击安装按钮开始安装,如下图所示:

安装完成后,点击完成,结束安装。如图所示:

2,连接数据库

安装完成后,双击桌面的Navicat图标,打开软件,如下图所示:

建立连接:点击界面上的连接按钮,选择MySQL数据库,开始创建一个新的连接,如下图所示:

接下来,我们给这个连接起一个名字,这里叫localdb,因为是我们自己电脑上的MySQL数据库。然后在主机那里输入localhost,表示本机,端口号默认3306即可,这是MySQL的默认端口。最后输入用户名和密码就可以了,如下图所示:

我们还可以点击左下角的测试连接按钮,测试一下连接是否通,如下图所示:

最后点击确定完成连接的创建。

此时在界面左侧出现了我们新建的连接,双击打开,可以看到里面已经有一些默认的数据库了。如下图所示:

3,创建数据库

下面让我们来创建一个新的数据库实例吧。右键连接,选择新建数据库,如下图所示:

在这里,我们输入数据库名,选择字符集和排序规则后,点击确定,完成数据库的创建,如下图所示:

到这里,我们一个完整的java开发环境就搭建完成了,下面就可以愉快的写代码啦。

文中所有涉及的软件,小伙伴们也可以在我是开发者FTD公众号后台回复:Java开发软件获取搭建环境的全套软件。

创作不易,如果对大家有帮助,欢迎转发,点赞,谢谢大家 _

另外大家也可以添加我的微信,我拉你到开发者交流群,一起学习交流!

我的微信号:ForTheDeveloper

或者扫码下方二维码添加:

欢迎大家关注「我是开发者FTD」公众号,微信号:ForTheDevelopers
在这里插入图片描述

关注开发,更关注开发者!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/499283.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

opc服务器组态文件已写保护_远程组态软件不仅方便了PLC无线远程监控,也大大降低了工程成本...

远程组态软件不仅方便了PLC无线远程监控&#xff0c;也大大降低了工程成本组态软件远程监控1.本地上位SCADA系统采集分布各地现场PLC等设备运行的数据&#xff0c;并可以下发控制指令&#xff1b;2.提供稳定的OPC接口服务&#xff0c;常年稳定运行&#xff0c;规模可达10万数据…

奇妙的安全旅行之加密算法概述

前言 hi&#xff0c;大家好呀&#xff0c;信息安全作为当前社会中比较重要的一个课题&#xff0c;已经覆盖了人们生活的方方面面&#xff0c;虽然有时候我们可能并没有意识到&#xff0c;其实信息安全防护已经在背后默默的保护我们的信息安全了。例如&#xff0c;当你在互联网…

怎么调节电机启动值_开关式智能充电机-全自动充电机-铅酸电池充电机品牌-济南能华...

开关式智能充电机-全自动充电机-铅酸电池充电机品牌-济南能华NHCD系列 全自动智能充电机&#xff0c;可调智能充电机&#xff0c;可调直流充电机&#xff0c;可调全自动充电机 &#xff0c;可调蓄电池充电机 便携式可调智能充电机 便携式全自动充电机 大功率可调充电机 大功率智…

奇妙的安全旅行之MD算法

hi&#xff0c;大家好&#xff0c;今天我们开始介绍消息摘要算法中的MD&#xff08;Message Digest&#xff09;算法&#xff0c;MD算法家族包括&#xff1a;MD2&#xff0c;MD4&#xff0c;MD5&#xff0c;MD算法生成的消息摘长度要都是128位的。 其中MD5算法是消息摘要算法的…

的图层类型有哪些_东莞都市领航平面设计培训班都学习哪些内容?

平面设计的工作稳定性是很高的&#xff0c;经济繁荣时期毫无疑问&#xff0c;即使经济下滑&#xff0c;仍不会有很大影响&#xff0c;以前两年为例&#xff0c;北美的大规模裁员浪潮&#xff0c;给高科技行业带来巨大冲击&#xff0c;放慢了高科技产品的开发速度&#xff0c;当…

dockerfile拉取私库镜像_还在用Alpine作为你Docker的Python开发基础镜像?其实Ubuntu更好一点...

原文转载自「刘悦的技术博客」https://v3u.cn/a_id_173一般情况下&#xff0c;当你想为你的Python开发环境选择一个基础镜像时&#xff0c;大多数人都会选择Alpine&#xff0c;为什么&#xff1f;因为它太小了&#xff0c;仅仅只有 5 MB 左右&#xff08;对比 Ubuntu 系列镜像接…

2020,再见;2021,我来了!

现在是2021年1月16日下午16点33分&#xff0c;星期六。此时北京正在通报昨日新冠肺炎新增病例情况&#xff0c;这种每天戴口罩的鬼日子还不知道什么时候能结束。最近由于天气变冷&#xff0c;病毒更容易存活和传播&#xff0c;最近一个月就突然又变的非常紧张起来了&#xff0c…

cuda tensorflow版本对应_Windows10下安装tensorflow-gpu(2.2.0)安装教程(避坑+保姆式教学)...

本文实现了Windows10下GPU版本的tensorflow2.2.0的安装&#xff0c;用到的软件主要包括&#xff1a;CUDA 10.2 cuDNN Anaconda tensorflow-gpu 2.2.0。&#xff08;注&#xff1a;此教程在Win7环境下也同样适用&#xff01;另附报错缺少cudart64_101.dll的解决办法&#xff…

奇妙的安全旅行之DES算法(二)

hi&#xff0c;大家好&#xff0c;上一节我们详细介绍了对称加密算法DES的基本内容&#xff0c;由于明文的长度不固定&#xff0c;而加密算法只能处理特定长度的一块数据&#xff0c;所以就需要对比较长的明文进行分组后再加密&#xff0c;但是分组后&#xff0c;最后一组的长度…

c++创建虚拟串口_linux虚拟串口控制器驱动实现——适用于无开发板学习串口驱动...

在上一章我们已经说明了uart驱动的开发流程&#xff0c;本章我们就不再介绍uart相关的接口实现&#xff0c;仅通过实现一个虚拟的串口控制器程序&#xff0c;用以说明虚拟串口的开发流程。本次开发的虚拟串口提供的功能如下&#xff1a;提供两个串口实例串口名称的前缀为vttyU为…

奇妙的安全旅行之AES算法

hi&#xff0c;大家好&#xff0c;今天开始我们来介绍一下对称加密算法中的AES算法。 AES简介 AES&#xff08;英语&#xff1a;Advanced Encryption Standard&#xff0c;缩写&#xff1a;AES&#xff09;&#xff0c;即高级加密标准&#xff0c;在密码学中又称Rijndael加密…

axios vue 回调函数_前端Vue 面试题大全

点蓝色字关注“程序员报刊” 「学习 新闻 招聘 」vue的底层原理?vue组件之间的通信&#xff1f;JS中判断数据类型的方法有几种?最常见的判断方法&#xff1a;typeof判断已知对象类型的方法&#xff1a;instanceof根据对象的constructor判断&#xff1a;constructor无敌万能的…

奇妙的安全旅行之RSA算法

hi&#xff0c;大家好&#xff0c;我是开发者FTD。今天我们开始介绍非对称加密算法。非对称加密算法区别于对称加密算法的主要特点是&#xff0c;非对称加密算法有两个密钥&#xff1a;公钥 (public key) 和私钥 (private key)。公钥和私钥是一对密钥&#xff0c;如果用公钥对数…

易语言多级指针读取_C语言指针难吗?纸老虎而已,纯干货讲解(附代码)

作者&#xff1a;21IC网络整理&#xff0c;排版&#xff1a;晓宇微信公众号&#xff1a;芯片之家(ID&#xff1a;chiphome-dy)指针对于C来说太重要。然而&#xff0c;想要全面理解指针&#xff0c;除了要对C语言有熟练的掌握外&#xff0c;还要有计算机硬件以及操作系统等方方面…

奇妙的安全旅行之DSA算法

hi&#xff0c;大家好&#xff0c;我是开发者FTD。今天我们来介绍一下非对称加密算法中的DSA算法。 DSA 算法简介 DSA&#xff08;Digital Signature Algorithm&#xff09;是Schnorr和ElGamal签名算法的变种&#xff0c;被美国NIST作为DSS(DigitalSignature Standard) 数字签…

lisp语言画阿基米德线_【R语言】如何将照片快速转换为素描

【R语言】如何将照片快速转换为素描&#xff08;三行代码给老婆&#xff08;划掉&#xff09;画一张素描&#xff09;_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​www.bilibili.com最近发现了一个比较好玩的包&#xff0c;叫做sketcher这个包的作用就是将图片转化成素描的样式以下是…

2021年程序员1月薪资统计,你在哪一档?

hi&#xff0c;大家好&#xff0c;我是开发者FTD。2021年1月份马上就要结束了&#xff0c;再过一周多春节也即将来临&#xff0c;春节后估计又是一波跳槽高峰&#xff0c;那我们一起来看一下当前程序员的薪资状况&#xff0c;让大家对于年后是否要换工作也有个心理预期吧。 注&…

海康sip服务器地址_完整SIP/SDP媒体协商概论SDP基础使用要求

接完整SIP/SDP媒体协商概论-SDP基础-核心定义全解。上一个章节笔者介绍了关于SDP的一些核心概念(第一章节和第二章节)&#xff0c;今天&#xff0c;我们继续在此之间讨论SDP的其余基础内容(从第三章节开始)。在以下讨论中&#xff0c;笔者会介绍关于SDP的使用&#xff0c;SDP的…

一月:你今年还回家过年吗?

hi&#xff0c;大家好&#xff0c;我是开发者FTD。一月份对于我来说&#xff0c;是工作和生活渐渐明朗的一个月&#xff0c;之前迷茫的状态感觉在这一个月开始慢慢消失&#xff0c;并让整个人的精神状态开始转变。2021年才刚刚开始&#xff0c;大家也可以对自己新的一年进行一个…

6个座位办公室最佳位置_2021最佳动力艇大奖:6个类别29个入围名单揭晓

年度最佳动力艇大奖由英国杂志《Motor Boat & Yachting》(MBY)主办&#xff0c;经(MBY)深思熟虑&#xff0c;评委们缩小了2021年度最佳动力艇大奖的决赛入围名单。由于旅行限制&#xff0c;今年的形式会有所不同&#xff0c;不能像往年一样测试那么多的船。因此&#xff0c…