【Linux学习】05-1Linux上安装部署各类软件

Linux(B站黑马)学习笔记

01Linux初识与安装
02Linux基础命令
03Linux用户和权限
04Linux实用操作
05-1Linux上安装部署各类软件


文章目录

  • Linux(B站黑马)学习笔记
  • 前言
  • 05-1Linux上安装部署各类软件
  • JDK安装部署
  • Tomcat安装部署
  • maven安装
  • MySQL数据库管理系统安装部署
    • MySQL8.0在CentOS系统安装
      • 安装
      • 配置
  • Git安装
  • nginx安装部署
    • 通过压缩包安装
    • 通过yum安装
  • rabbitmq安装部署
  • redis安装部署
  • elasticSearch安装部署
  • 注:


前言

Linux(B站黑马)学习笔记 05-1Linux上安装部署各类软件


05-1Linux上安装部署各类软件

JDK安装部署

  1. 下载JDK压缩包

官网:https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html

在页面下方找到:

下载jdk-8u351-linux-x64.tar.gz

在弹出的页面中输入Oracle的账户密码即可下载(如无账户,请自行注册,注册是免费的

  1. 登陆Linux系统,切换到root用户

  1. 通过FinalShell,上传下载好的JDK安装包

(也可直接复制到centos可视化窗口中 注意:如果在windows下载了JDK压缩包拖拽进虚拟机里的话解压时会出现问题,但是复制粘贴进去的就没事)

  1. 创建文件夹,用来部署JDK,将JDK和Tomcat都安装部署到:/export/server 内

  1. 解压缩JDK安装文件

  1. 配置JDK的软链接

jdk1.8.0_351的名称太长,我们可以配置它的软连接(类似windows里的快捷方式)

  1. 配置JAVA_HOME环境变量,以及将$JAVA_HOME/bin文件夹加入PATH环境变量中
# 使用vim打开/etc/profile文件
vim /etc/profile# 编辑/etc/profile文件
export JAVA_HOME=/export/server/jdk
export PATH=$PATH:$JAVA_HOME/bin

JAVA_HOME:告诉操作系统JDK安装在了哪个位置(将来其他技术要通过这个环境变量找JDK,而且我们电脑可能安装多个jdk,之后变更jdk版本只用改这里就行,Path也会跟着改)

Path环境变量用于记住程序路径,方便在命令行窗口的任意目录启动程序

  1. 生效环境变量
source /etc/profile
  1. 配置java执行程序的软链接
# 删除系统自带的java程序
rm -f /usr/bin/java
# 软链接我们自己安装的java程序
ln -s /export/server/jdk/bin/java /usr/bin/java
  1. 执行验证:
java -version
javac -version

Tomcat安装部署

简介

Tomcat 是由 Apache 开发的一个 Servlet 容器,实现了对 Servlet 和 JSP 的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。

简单来说,Tomcat是一个WEB应用程序的托管平台,可以让用户编写的WEB应用程序,被Tomcat所托管,并提供网站服务。即让用户开发的WEB应用程序,变成可以被访问的网页。

安装

Tomcat的安装非常简单,主要分为2部分:

  1. 安装JDK环境(前面已完成)

  2. 解压并安装Tomcat

本次安装使用Tomcat版本是:10.0.27版本,需要Java(JDK)版本最低为JDK8或更高版本

教程中使用的JDK版本是:JDK8u351版本

Tomcat建议使用非Root用户安装并启动

可以创建一个用户:tomcat用以部署

  1. 首先,放行tomcat需要使用的8080端口的外部访问权限

CentOS系统默认开启了防火墙,阻止外部网络流量访问系统内部

所以,如果想要Tomcat可以正常使用,需要对Tomcat默认使用的8080端口进行放行

放行有2种操作方式:

Ⅰ. 关闭防火墙

Ⅱ. 配置防火墙规则,放行端口

# 以下操作2选一即可
# 方式1:关闭防火墙
systemctl stop firewalld        # 关闭防火墙
systemctl disable firewalld        # 停止防火墙开机自启# 方式2:放行8080端口的外部访问
firewall-cmd --add-port=8080/tcp --permanent    # --add-port=8080/tcp表示放行8080端口的tcp访问,--permanent表示永久生效
firewall-cmd --reload                # 重新载入防火墙规则使其生效

方便起见,建议同学们选择方式1,直接关闭防火墙一劳永逸

且防火墙的配置非常复杂

  1. 以root用户操作,创建tomcat用户
# 使用root用户操作
useradd tomcat
# 可选,为tomcat用户配置密码
passwd tomcat

  1. 下载Tomcat安装包
# 使用root用户操作
wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.73/bin/apache-tomcat-9.0.73.tar.gz
# 如果出现https相关错误,可以使用--no-check-certificate选项
wget --no-check-certificate https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.73/bin/apache-tomcat-9.0.73.tar.gz

如果Linux内下载过慢,可以复制下载链接在Windows系统中使用迅雷等软件加速下载然后上传到Linux内即可

下载时可能出现404 Not Found的错误,有可能是官网安装包更新导致原来的找不到,换下版本号就行

注意版本冲突,Tomcat 9.0需要Java 8或更高版本。

  1. 解压Tomcat安装包
# 使用root用户操作,否则无权限解压到/export/server内,除非修改此文件夹权限
tar -zxvf apache-tomcat-9.0.73.tar.gz -C /export/server
  1. 创建Tomcat软链接
# 使用root用户操作
ln -s /export/server/apache-tomcat-9.0.73 /export/server/tomcat
  1. 修改tomcat安装目录权限
# 使用root用户操作,同时对软链接和tomcat安装文件夹进行修改,使用通配符*进行匹配
chown -R tomcat:tomcat /export/server/*tomcat*
  1. 切换到tomcat用户
su - tomcat
  1. 启动tomcat
/export/server/tomcat/bin/startup.sh
  1. tomcat启动在8080端口,可以检查是否正常启动成功
netstat -anp | grep 8080

  1. 打开浏览器

    输入:
    http://centos:8080或http://192.168.81.130:8080或http://127.0.0.1:8080/
    使用主机名(需配置好本地的主机名映射)或IP地址访问Tomcat的WEB页面

至此,Tomcat安装配置完成。

maven安装

  1. maven下载:https://maven.apache.org/download.cgi

  1. windows下载好后上传到Linux中
rz  #打开FinalShell文件上传界面,找到windows上的压缩包

  1. 切换到root用户,将maven安装部署到:/export/server 内
tar -zxvf apache-maven-3.9.1-bin.tar.gz -C /export/server  #解压maven压缩包到指定目录下

  1. 配置环境变量

配置JAVA_HOME环境变量,以及将$JAVA_HOME/bin文件夹加入PATH环境变量中

# 使用vim打开/etc/profile文件
vim /etc/profile# 编辑/etc/profile文件
export MAVEN_HOME=/export/server/apache-maven-3.9.1    #若文件名过长可配置软连接
export PATH=$PATH:$MAVEN_HOME/bin   #注意:如果有JAVA_HOME拼在后面如:$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin# 重新生效环境变量
source /etc/profile

验证是否成功配置

mvn -version

  1. 修改本地仓库地址 conf目录下settings.xml文件
# 创建mvn_resp目录作为本地仓库地址
mkdir mvn_resp# 打开settings.xml文件配置本地仓库
vim settings.xml# 找到对应位置加入
<localRepository>/export/server/mvn_resp</localRepository>

  1. 配置阿里云镜像,加快依赖下载速度(不然会在国外的中央仓库下载,速度会非常慢),同样在conf目录下settings.xml文件
<!-- 添加镜像地址 -->
<mirror><id>alimaven</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf>
</mirror>

MySQL数据库管理系统安装部署

MySQL8.0在CentOS系统安装

MySQL的安装我们可以通过前面学习的yum命令进行。

安装

  1. 配置yum仓库
# 更新密钥
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022# 安装Mysql8.x版本 yum库
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm

由于由于MySQL并不在CentOS的官方仓库yum中,所以我们通过上述rpm命令:

导入MySQL仓库的密钥

配置MySQL的yum仓库

  1. 使用yum安装MySQL
# yum安装Mysql
yum -y install mysql-community-server

  1. 安装完成后,启动MySQL并配置开机自启动
systemctl start mysqld        # 启动
systemctl enable mysqld        # 开机自启

MySQL安装完成后,会自动配置为名称叫做:mysqld的服务,可以被systemctl所管理

  1. 检查MySQL的运行状态
systemctl status mysqld

配置

主要配置管理员用户root的密码以及配置允许远程登录的权限。

  1. 获取MySQL的初始密码
# 通过grep命令,在/var/log/mysqld.log文件中,过滤temporary password关键字,得到初始密码
grep 'temporary password' /var/log/mysqld.log

  1. 登录MySQL数据库系统
# 执行
mysql -u root -p
# 解释
# -u,登陆的用户,MySQL数据库的管理员用户同Linux一样,是root
# -p,表示使用密码登陆# 执行完毕后输入刚刚得到的初始密码,即可进入MySQL数据库

  1. 修改root用户密码
# 在MySQL控制台内执行
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';    -- 密码需要符合:大于8位,有大写字母,有特殊符号,不能是连续的简单语句如123,abc
  1. 【扩展】配置root的简答密码

我们可以给root设置简单密码,如123456.

请注意,此配置仅仅是用于测试环境或学习环境的MySQL,如果是正式使用,请勿设置简单密码

# 如果你想设置简单密码,需要降低Mysql的密码安全级别
set global validate_password.policy=0;        # 密码安全级别低
set global validate_password.length=4;        # 密码长度最低4位即可# 然后就可以用简单密码了(课程中使用简单密码,为了方便,生产中不要这样)
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '简答密码';
  1. 【扩展】配置root允许远程登录(注:MySQL5.0和MySQL8.0设置不一样)

默认情况下,root用户是不运行远程登录的,只允许在MySQL所在的Linux服务器登陆MySQL系统

请注意,允许root远程登录会带来安全风险

# 第一次设置root远程登录,并配置远程密码使用如下SQL命令
create user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码!';    -- 密码需要符合:大于8位,有大写字母,有特殊符号,不能是连续的简单语句如123,abc
# IP地址即允许登陆的IP地址,也可以填写%,表示允许任何地址
# 密码表示给远程登录独立设置密码,和本地登陆的密码可以不同# 后续修改密码使用如下SQL命令
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';# 授权root远程登录
grant all privileges on *.* to root@'%' with grant option;# 刷新权限,生效
flush privileges;
  1. 退出MySQL控制台页面
# 退出命令
exit# 或者通过快捷键退出:ctrl + d
  1. 检查端口

MySQL默认绑定了3306端口,可以通过端口占用检查MySQL的网络状态

netstat -anp | grep 3306

Git安装

# root执行
yum list git       # 列出git安装包yum install -y git    # 在线安装git

nginx安装部署

简介

Nginx是一款轻量级的web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx的网站有:百度、京东新浪、网易、腾讯、淘宝等。

Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点开发的,第一个公开版本0.1.0发布于2004年10月4日。

官网: https://nginx.org/

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。

同Tomcat一样,Nginx可以托管用户编写的WEB应用程序成为可访问的网页服务,同时也可以作为流量代理服务器,控制流量的中转。

Nginx在WEB开发领域,基本上也是必备组件之一了。

安装

通过压缩包安装

安装过程:(切换为root用户)

  1. 安装依赖包
yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
  1. 下载Nginx安装包
wget https://nginx.org/download/nginx-1.22.1.tar.gz
  1. 解压到当前目录
tar -zxvf nginx-1.22.1.tar.gz
  1. 进入解压后目录
cd nginx-1.22.1
  1. 配置等下安装到哪个目录下
mkdir -p /export/server/nginx  # 先创建目录./configure --prefix=/export/server/nginx
  1. 安装
makemake install

  1. 启动Nginx服务使用如下命令:
./nginx    # sbin目录下执行
  1. 配置防火墙放行

nginx默认绑定80端口,需要关闭防火墙或放行80端口

# 方式1(推荐),关闭防火墙
systemctl stop firewalld        # 关闭
systemctl disable firewalld        # 关闭开机自启# 方式2,放行80端口
firewall-cmd --add-port=80/tcp --permanent        # 放行tcp规则下的80端口,永久生效
firewall-cmd --reload                    # 重新加载防火墙规则
  1. 启动后浏览器输入Linux服务器的IP地址或主机名即可访问

http://192.168.81.130 或 http://centos

ps:80端口是访问网站的默认端口,所以后面无需跟随端口号

显示的指定端口也是可以的比如:

http://192.168.81.130:80

http://centos:80

至此,Nginx安装配置完成。

Nginx目录结构

安装完Nginx后,我们先来熟悉一下Nginx的目录结构,如图

重点目录/文件:

  • conf/nginx.conf nginx配置文件
  • html 存放静态文件 (html、CSS、Js等)
  • logs 日志目录,存放日志文件
  • sbin/nginx 二进制文件,用于启动、停止Nginx服务

通过yum安装

Nginx同样需要配置额外的yum仓库,才可以使用yum安装

安装Nginx的操作需要root身份

  1. 安装yum依赖程序
# root执行
yum install -y yum-utils
  1. 手动添加,nginx的yum仓库

yum程序使用的仓库配置文件,存放在:/etc/yum.repo.d 内。

# root执行
# 创建文件使用vim编辑
vim /etc/yum.repos.d/nginx.repo
# 填入如下内容并保存退出
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

通过如上操作,我们手动添加了nginx的yum仓库

  1. 通过yum安装最新稳定版的nginx
# root执行
yum install -y nginx
  1. 启动
# nginx自动注册了systemctl系统服务
systemctl start nginx        # 启动
systemctl stop nginx        # 停止
systemctl status nginx        # 运行状态
systemctl enable nginx        # 开机自启
systemctl disable nginx        # 关闭开机自启
  1. 配置防火墙放行

nginx默认绑定80端口,需要关闭防火墙或放行80端口

# 方式1(推荐),关闭防火墙
systemctl stop firewalld        # 关闭
systemctl disable firewalld        # 关闭开机自启# 方式2,放行80端口
firewall-cmd --add-port=80/tcp --permanent        # 放行tcp规则下的80端口,永久生效
firewall-cmd --reload                    # 重新加载防火墙规则
  1. 启动后浏览器输入Linux服务器的IP地址或主机名即可访问

http://192.168.81.130 或 http://centos

ps:80端口是访问网站的默认端口,所以后面无需跟随端口号

显示的指定端口也是可以的比如:

http://192.168.81.130:80

http://centos:80

至此,Nginx安装配置完成。

rabbitmq安装部署

简介

RabbitMQ一款知名的开源消息队列系统,为企业提供消息的发布、订阅、点对点传输等消息服务。

RabbitMQ在企业开发中十分常见,课程为大家演示快速搭建RabbitMQ环境。

安装

rabbitmq在yum仓库中的版本比较老,所以我们需要手动构建yum仓库

  1. 准备yum仓库
# root执行
# 1. 准备gpgkey密钥
rpm --import https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
rpm --import https://packagecloud.io/rabbitmq/erlang/gpgkey
rpm --import https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey# 2. 准备仓库文件
vim /etc/yum.repos.d/rabbitmq.repo
# 填入如下内容
##
## Zero dependency Erlang
##[rabbitmq_erlang]
name=rabbitmq_erlang
baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/$basearch
repo_gpgcheck=1
gpgcheck=1
enabled=1
# PackageCloud's repository key and RabbitMQ package signing key
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkeyhttps://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300[rabbitmq_erlang-source]
name=rabbitmq_erlang-source
baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/SRPMS
repo_gpgcheck=1
gpgcheck=0
enabled=1
# PackageCloud's repository key and RabbitMQ package signing key
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkeyhttps://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300##
## RabbitMQ server
##[rabbitmq_server]
name=rabbitmq_server
baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/7/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
# PackageCloud's repository key and RabbitMQ package signing key
gpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkeyhttps://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300[rabbitmq_server-source]
name=rabbitmq_server-source
baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/7/SRPMS
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
  1. 安装RabbitMQ
# root执行
yum install erlang rabbitmq-server -y

  1. 启动
# root执行
# 使用systemctl管控,服务名:rabbitmq-server
systemctl enable rabbitmq-server        # 开机自启
systemctl disable rabbitmq-server        # 关闭开机自启
systemctl start rabbitmq-server            # 启动
systemctl stop rabbitmq-server            # 关闭
systemctl status rabbitmq-server        # 查看状态
  1. 放行防火墙,RabbitMQ使用5672、15672、25672 3个端口
# 方式1(推荐),关闭防火墙
systemctl stop firewalld        # 关闭
systemctl disable firewalld        # 关闭开机自启# 方式2,放行5672 25672端口
firewall-cmd --add-port=5672/tcp --permanent    # 放行tcp规则下的5672端口,永久生效
firewall-cmd --add-port=15672/tcp --permanent    # 放行tcp规则下的15672端口,永久生效
firewall-cmd --add-port=25672/tcp --permanent    # 放行tcp规则下的25672端口,永久生效
firewall-cmd --reload                    # 重新加载防火墙规则
  1. 启动RabbitMQ的WEB管理控制台
rabbitmq-plugins enable rabbitmq_management
  1. 添加admin用户,并赋予权限
rabbitmqctl add_user admin 'pgw_rabbitmq'
rabbitmqctl set_permissions -p "/" "admin" ".*" ".*" ".*"
rabbitmqctl set_user_tags admin administrator

  1. 浏览器打开管理控制台

http://192.168.81.130:15672/

至此,RabbitMQ已经安装完成了。

redis安装部署

简介

redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库。

redis的特点就是:,可以基于内存存储数据并提供超低延迟、超快的检索速度

一般用于在系统中提供快速缓存的能力。

安装

  1. 配置EPEL仓库

EPEL 的全称叫 Extra Packages for Enterprise Linux 。EPEL是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。装上了 EPEL之后,就相当于添加了一个第三方源。EPEL则为服务器版本提供大量的rpm包(yum程序所使用的程序安装包,类似Windows的exe),而且大多数rpm包在官方 repository 中是找不到的。

# root执行
yum install -y epel-release
  1. 安装redis
# root执行
yum install -y redis

  1. 启动redis
# root执行
# 使用systemctl管控,服务名:redis
systemctl enable redis        # 开机自启
systemctl disable redis        # 关闭开机自启
systemctl start redis        # 启动
systemctl stop redis        # 关闭
systemctl status redis        # 查看状态
  1. 放行防火墙,redis使用端口6379
# 方式1(推荐),关闭防火墙
systemctl stop firewalld        # 关闭
systemctl disable firewalld        # 关闭开机自启# 方式2,放行6379端口
firewall-cmd --add-port=6379/tcp --permanent        # 放行tcp规则下的6379端口,永久生效
firewall-cmd --reload
  1. 进入redis服务
# 执行redis-cli
[root@centos ~]# redis-cli
127.0.0.1:6379> set mykey hello
OK
127.0.0.1:6379> get mykey
"hello"
127.0.0.1:6379> 

至此,redis安装完成。

elasticSearch安装部署

简介

全文搜索属于最常见的需求,开源的 Elasticsearch (以下简称 es)是目前全文搜索引擎的首选。

它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github 都采用它。

Elasticsearch简称es,在企业内同样是一款应用非常广泛的搜索引擎服务。

很多服务中的搜索功能,都是基于es来实现的。

安装

  1. 添加yum仓库
# root执行
# 导入仓库密钥
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch# 添加yum源
# 编辑文件 
vim /etc/yum.repos.d/elasticsearch.repo[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md# 更新yum缓存
yum makecache
  1. 安装es
yum install -y elasticsearch
  1. 配置es
vim /etc/elasticsearch/elasticsearch.yml# 17行,设置集群名称
cluster.name: my-cluster# 23行,设置节点名称
node.name: node-1# 56行,允许外网访问
network.host: 0.0.0.0# 74行,配置集群master节点
cluster.initial_master_nodes: ["node-1"]

  1. 启动es
systemctl start | stop | status | enable | disable elasticsearch
  1. 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
  1. 测试

浏览器打开:http://192.168.81.130:9200/?pretty

启动后浏览器输入Linux服务器的IP地址或主机名即可访问


注:

该内容是根据B站黑马程序员学习时所记,相关资料可在B站查询:黑马程序员新版Linux零基础快速入门到精通,全涵盖linux系统知识、常用软件环境部署、Shell脚本、云平台实践、大数据集群项目实战等

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

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

相关文章

Springcloud实战之自研分布式id生成器

一&#xff0c;背景 日常开发中&#xff0c;我们需要对系统中的各种数据使用 ID 唯一表示&#xff0c;比如用户 ID 对应且仅对应一个人&#xff0c;商品 ID 对应且仅对应一件商品&#xff0c;订单 ID 对应且仅对应 一个订单。我们现实生活中也有各种 ID &#xff0c;比如身…

Unity中的两种ScriptingBackend

一&#xff1a;前言 二&#xff1a;两种模式的介绍 ios&#xff1a;unity只有il2cpp模式的编译才支持64位系统&#xff0c;mono是不支持的&#xff0c;在快速开发阶段仍然支持Mono&#xff0c;但是不能再向Apple提交Mono(32位)的应用 苹果在2016年1月就要求所有新上架游戏必须支…

【独家工具】JMeterPerfReporter3.0正式版本,让你的JMeter更好用

Lemon-JMeterPerfReporter工具&#xff0c;是我们性能测试课程教研组根据JMeter性能测试报告的不足&#xff0c;定制开发的一个性能报告生成工具。有需要的同学&#xff0c;可以通过小编官方gitee账户下载&#xff0c;或咨询我免费获取哦&#xff01; 做过性能测试的人员都知道…

蓝桥杯 题库 简单 每日十题 day12

01 列名 问题描述 在Excel中&#xff0c;列的名称使用英文字母的组合。前26列用一个字母&#xff0c;依 次为A到Z&#xff0c;接下来2626列使用两个字母的组合&#xff0c;依次为AA到zz. 请问第2022列的名称是什么&#xff1f; 答案提交 这是一道结果填空的题&#xff0c;你只…

AI在材料科学中的应用

7 AI在材料科学中的应用 在这一部分&#xff0c;我们将讨论AI技术在材料科学中的应用。首先&#xff0c;我们将介绍晶体材料的概述&#xff0c;并详细定义晶体材料的物理对称性&#xff0c;具体在第7.1节中讨论。接下来&#xff0c;我们将在第7.2节和第7.3节中讨论两个常见且基…

数据结构之单链表

目录 前言&#xff1a; 链表的定义与结构 单链表的接口实现 显示单链表 创建新结点 单链表尾插 头插的实现简单示例图 尾插经典错误示例1 尾插经典错误示例2 尾插函数的最终实现 单链表头插 单链表尾删 单链表头删 单链表查找 单链表在pos位置之前插入数据x ​编…

Python大数据之Python进阶(四)进程的注意点

文章目录 进程的注意点1. 进程的注意点介绍2. 进程之间不共享全局变量3. 进程之间不共享全局变量的小结4. 主进程会等待所有的子进程执行结束再结束5. 主进程会等待所有的子进程执行结束再结束的小结 进程的注意点 学习目标 能够说出进程的注意点 1. 进程的注意点介绍 进程之…

[C++ 网络协议] 重叠I/O模型

目录 1. 什么是重叠I/O模型 2. 重叠I/O模型的实现 2.1 创建重叠非阻塞I/O模式的套接字 2.2 执行重叠I/O的Send函数 2.3 执行重叠I/O的Recv函数 2.4 获取执行I/O重叠的函数的执行结果 2.5 重叠I/O的I/O完成确认 2.5.1 使用事件对象&#xff08;使用重叠I/O函数的第六个参…

利用C++开发一个迷你的英文单词录入和测试小程序-增强功能

小玩具基本完成之后&#xff0c;在日常工作中&#xff0c;记录一些单词&#xff0c;然后定时再复习下&#xff0c;还真的有那么一点点用&#xff08;毕竟自己做的小玩具&#xff09;。 在使用过程中&#xff0c;遇到不认识的单词&#xff0c;总去翻译软件翻译&#xff0c;然后…

React 全栈体系(十五)

第八章 React 扩展 一、setState 1. 代码 /* index.jsx */ import React, { Component } from reactexport default class Demo extends Component {state {count:0}add ()>{//对象式的setState/* //1.获取原来的count值const {count} this.state//2.更新状态this.set…

嵌入式Linux应用开发-第十一章设备树的引入及简明教程

嵌入式Linux应用开发-第十一章设备树的引入及简明教程 第十一章 驱动进化之路&#xff1a;设备树的引入及简明教程11.1 设备树的引入与作用11.2 设备树的语法11.2.1 1Devicetree格式11.2.1.1 1DTS文件的格式11.2.1.2 node的格式11.2.1.3 properties的格式 11.2.2 dts文件包含 d…

Flask框架【before_first_request和before_request详解、钩子函数、Flask_信号机制】(七)

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱敲代码的小王&#xff0c;CSDN博客博主,Python小白 &#x1f4d5;系列专栏&#xff1a;python入门到实战、Python爬虫开发、Python办公自动化、Python数据分析、Python前后端开发 &#x1f4e7;如果文章知识点有错误…

期权定价模型系列【7】:Barone-Adesi-Whaley定价模型

期权定价模型系列第7篇文章 1.前言 目前大连商品交易所、郑州商品交易所、以及上海期货交易所的所有商品期权都为美式期权&#xff0c;并且大商所的所有期权合约会根据BAW(Barone-Adesi-Whaley)美式期权定价模型计算新上市期权合约的挂牌基准价。 BAW模型(Barone-Adesi and W…

马尔萨斯《人口原理》读后

200 多年前的书&#xff0c;很多人都说旧的东西过时了&#xff0c;但我觉得它只是被修正了&#xff0c;内核并不过时。毕竟&#xff0c;静态存量分析这本身就不符合现实&#xff0c;用现在的话说&#xff0c;建模就错了&#xff0c;但马尔萨斯的理论核心并不仅仅是一个模型&…

微信、支付宝、百度、抖音开放平台第三方代小程序开发总结

大家好&#xff0c;我是小悟 小伙伴们都开启小长假了吧&#xff0c;值此中秋国庆双节之际&#xff0c;小悟祝所有的小伙伴们节日快乐。 支付宝社区很用心&#xff0c;还特意给寄了袋月饼&#xff0c;愿中秋节的圆月带给你身体健康&#xff0c;幸福团圆&#xff0c;国庆节的旗帜…

聊聊并发编程——Condition

目录 一.synchronized wait/notify/notifyAll 线程通信 二.Lock Condition 实现线程通信 三.Condition实现通信分析 四.JUC工具类的示例 一.synchronized wait/notify/notifyAll 线程通信 关于线程间的通信&#xff0c;简单举例下&#xff1a; 1.创建ThreadA传入共享…

(一)NIO 基础

&#xff08;一&#xff09;NIO 基础 non-blocking io&#xff1a;非阻塞 IO 1、三大组件 1.1、Channel & Buffer Java NIO系统的核心在于&#xff1a;通道&#xff08;Channel&#xff09;和缓冲&#xff08;Buffer&#xff09;。通道表示打开到 IO 设备&#xff08;例…

【golang】调度系列之sysmon

调度系列 调度系列之goroutine 调度系列之m 调度系列之p 掉地系列之整体介绍 在golang的调度体系中&#xff0c;除了GMP本身&#xff0c;还有另外一个比较重要的角色sysmon。实际上&#xff0c;除了GMP和sysmon&#xff0c;runtime中还有一个全局的调度器对象。但该对象只是维护…

浅谈AVL树

文章目录 1.介绍1.1定义1.2来源1.3概念1.特性2.平衡因子[ Balance Factor-- _bf ] 2.BST>AVL1.示例分析2.情况分类3.代码剖析3.1左左型-右单旋3.2右右型-左单旋3.3左右型-左右旋3.4右左型:右左旋3.5总图 3.完整代码3.1AVLTree.h3.2Test.cpp 1.介绍 1.1定义 AVL树 – 平衡二…

RabbitMQ(15672) 消息中间件 NOTE

目录 1、初识 RabbitMQ 消息队列 1.1 MQ 四大核心概念 1.2 消息的发送&#xff08;无交换机态&#xff09; 1.3 关于消息自动重新入队 1.3.1 消息的常见应答方法&#xff08;R&#xff09; 1.4 关于 RabbitMQ 的持久化、不公平分发以及预取值 2、RabbitMQ 消息的发布确认…