共计 9715 个字符,预计需要花费 25 分钟才能阅读完成。
上课也总结了一些小知识点
一:像这种父类菜单,作用只有一个,就是提供对立的版本号
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.2</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
二:跳过测试类打包
<properties>
<java.version>1.8</java.version>
<!-- 跳过测试类打包 -->
<skipTest>true</skipTest>
</properties>
三:springboot 程序与以后 mven 打包 / 编译无关,没有 build 标签会呈现(没有主菜单的 bug 显示)
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
四:Ctrl+Shirt+alt+/ 关上热部署那个 running 文件(别忘了加依赖,带 devtoops 的那个)
五:Editstarer: 搜寻依赖工具(或者去网站 mavenrepositry)
六:无参和有参结构注解 要么不写,要么全写 @NoArgsConstructor @AllArgsConstructor
七:对于 lombok 面试题:
因为 lombok 须要装置插件,否则程序无奈应用,如果在生产环境下 问 linux 零碎中是否须要提前装置 lombok?答案:不须要
起因:lombok 插件在程序的编译期无效. 由.java 文件编译为.class 文件时无效。linux 零碎中的运行时 xxx.jar 包文件 外部都是.class 文件
八:%2B 代表 +
九:继承接口时,切记增加泛型
十:Ajax 特点:部分刷新,异步调用。
.ajax()肯定要把握!!!案例如下 8 种类型下方!!!
(1)type : 定义申请的类型 GET/POST/PUT/DELETE
(2)URL: 指定申请的门路
(3)dataType: 指定返回值类型 个别能够省略
(4)data : ajax 向后端服务器传递的数据
(5)success: 设定回调函数个别都会携带参数
(6)async: 异步操作 默认值为 true 改为 false 示意同步操作.
(7)error: 申请异样之后 执行的函数.
(8)cache: ajax 是否应用缓存 默认值为 true
十一:Ajax 出现常见四种办法:.ajax|.get(1.url 网址,2. 传递的参数,3. 回调函数,4. 返回值类型)|.post()|.getJSON()
十二:maven 我的项目打包形式:1.jar 包(默认值)2.war 包(将依赖中的 jar 改成 war)3.pom(聚合工程)
maven 作用:
Maven 我的项目对象模型(POM),能够通过一小段形容信息来治理我的项目的构建,报告和文档的项目管理工具软件。
Maven 是一站式的我的项目的管理软件 次要的性能: 我的项目的创立 /jar 包治理 / 我的项目打包 / 公布 / 部署等性能.
java 编译过程: .java 文件 ———.class 文件 ——- 打包 —-(.class 文件的汇合) xxx.jar
1).clean 清空 maven 中的 target 目录…
2).compile 通过命令 maven 将.java 文件转化为.class 文件
3).install 将我的项目打包部署 将我的项目动静的在 target 和本地仓库中进行存储.
十三:因为我的项目较多,如何对立治理?
答案: 采纳 pom(聚合工程)的形式对立治理,打包形式 POM
parent:父类 jar 包 关系:(继承)
common 作用:工具 API 对立治理 关系:(依赖)
十四: 分布式系统核心思想: 将我的项目的功能模块拆分到不同的 tomcat 服务器中,缩小了零碎架构的耦合性,进步了扩展性
十五: 注意事项 父级我的项目中没有主启动类所有不须要增加 build 标签 有 main 办法时须要增加插件
十六:JAVA 四大域对象和 jsp 九大内置对象总结 (百度)
四大域对象排序:PageContext(page 域)< request < session < servletContext(application 域)
十七:mybatis plus 官网(应用 MP 形式时能够查问配置类)
MP 是利用对象的形式操作数据库
十八: 写代码流程: 先 pojo 再 mapper(Dao)层及代码(单表间接继承 MP,别忘了泛型) 再 service 和 serviceImpl 最初再 controller
十九:(当前工作)业务阐明: 业务是什么
二十:kindeditor 介绍
KindEditor 是一套开源的 HTML 可视化编辑器,次要用于让用户在网站上取得所见即所得编辑成果(图片),兼容 IE、Firefox、Chrome、Safari、Opera 等支流浏览器。
二十一:RestFul 的长处
面试题目: 当初越来越多的企业应用间接应用 restFul 形式实现业务传参. restFul 有什么长处? 为什么不必传统的形式传递数据??
例子: 将业务数据动静的拼接到 URL 地址中.
http://localhost:8091/addUser/100/tomcat 猫 /18/ 女
惯例: http://localhost:8091/addUser?id=100&name=“tomcat 猫”&age=18&sex=“女”
答案:
1. 轻量,间接基于 http 利用不同的申请的形式实现不同的 CURD 操作. 面向资源,高深莫测,具备自解释性。
2. 数据形容简略,个别以 xml(当初用的大量 结构复杂),json 做数据交换。
3. 无状态,在调用一个接口(拜访、操作资源)的时候,能够不必思考上下文,不必思考以后状态,极大的升高了复杂度。简略、低耦合
二十二: 动态代码块的作用: 为属性赋值,初始化实例对象
————————————nginx———————————-
二十三: 反向代理特点 (爱护了服务端信息)
反向代理服务器是介于用户和服务器之间的
用户间接拜访代理服务器, 认为代理服务器就是实在的服务器.
用户不分明实在的服务器到底是谁.
反向代理是服务器端代理. 爱护了实在的服务器信息.
反向代理次要的作用 拜访服务器取得服务器数据的.
二十四: 正向代理特点(爱护了用户信息)
1. 正向代理服务器介于用户和指标服务器之间
2. 用户十分分明的晓得服务器网址是谁.
3. 服务器端不分明实在的用户是谁.
4. 正向代理个别都是客户端代理. 爱护了用户的信息.
5. 正向代理个别都是为了获取网络资源. 例如路由器
二十五:nginx 特点
1. 占用内存少 tomcat 服务器启动 200M Nginx 服务器启动时 2M
2. 并发能力强 tomcat 并发能力 150-200 左右 Nginx 并发能力 3- 5 万 / 秒
3.Nginx 次要的性能做反向代理
4.Nginx 能够作为负载平衡服务器应用
二十六:Nginx 命令
阐明: nginx 的命令要求在 nginx.exe 所在的目录中执行.
1). 启动命令 start nginx
2). 重启命令 nginx -s reload
3). 敞开命令 nginx -s stop
二十七:nginx 配置阐明
编辑 nginx 配置文件必须在协定外部实现
# 配置图片服务器
server {
#个别条件下都是 80 端口
listen 80;
server_name image.jt.com;
location / {
# root 代表映射文件目录
root E:/JT_IMAGE;
}
}
#配置域名代理
server {
listen 80;
server_name manage.jt.com;
location / {
#代理 服务器拜访地址
#proxy_pass http://localhost:8091;
proxy_pass http://jtWindows;
}
}
#构建 tomcat 服务器集群
#关键字: upstream 定义集群
#默认规定: 1. 轮询策略 2. 权重 weight= 阿拉伯数字 3.IPhash(个别在测试的时候应用,其余工夫不必)
#down 如果 nginx 集中增加 down 属性 则标识 nginx 服务器不会再将申请, 发给该服务器.
#backup 该属性用来标识备用机, 失常的状况下 用户不会再次拜访备用, 除非以后服务器遇忙 / 以后服务器宕机. 才有可能拜访备用机.
# max_fails=1 设定最大的失败次数
# fail_timeout= 失败的超时工夫
# 如果 nginx 申请达到了最大的失败次数, 则在规定的工夫内, 不会再把申请发给 tomcat 服务器. 直到下一个周期.
upstream jtWindows {
#ip_hash;
server localhost:8081 max_fails=1 fail_timeout=60s;
server localhost:8082 max_fails=1 fail_timeout=60s;
server localhost:8083 max_fails=1 fail_timeout=60s;
}
二十八:HOSTS 文件介绍
作用: 在本机能够实现域名与 IP 地址的映射关系
地位: C:WindowsSystem32driversetc
能够通过软件右键管理员运行 SwitchHosts 批改 hosts 文件
二十九: 我的项目公布 DOS 命令: 先打包我的项目 (能够打包整个,也能够分着打包) 而后复制.war(target 里),而后新建文件夹改 war 包名字
而后目录 cmd 输出 java -jar xxxx.war
阐明: 如果我的项目公布之后鼠标左键点击 dos 命令窗口可能阻塞以后程序, 通过 ctrl+ c 勾销阻塞.
三十:
改完 nginx 须要重新启动一下,切记要重启之前先开启 启动完当前重新启动一下
报 502 是因为 nginx 开多了 解决办法:关上工作管理器完结过程树
三十一:Nginx 过程项相干阐明
阐明: 每次启动 nginx 服务器时, 都会启动 2 个过程项. 一个是守护过程 / 一个是主过程
守护过程: 避免主过程意外敞开的. 内存小的
主过程: 次要提供反向代理服务. 内存大的
要敞开主过程首先要敞开守护过程
————————————Linux—————————————–
三十二:linux(服务器端操作系统)
去公司用库就用桥接模式
在家用本人电脑本人和本人玩 不须要第三方 就用 NAT 模式
三十三: 对于 Linux IP 地址无奈获取阐明
阐明: 因为 Linux 系统启动时可能没有重启网卡导致 Linux IP 无奈获取. 执行如何 linux 命令
1.service NetworkManager stop
2.chkconfig NetworkManager off 永恒敞开 Manager 网卡
3.service network restart 重启 network 网卡
三十四:
绝对路径: 要求从根目录登程 (/) 例如:cd /aa
相对路径: 从当前目录登程 (xxx 目录) 例如 cd aa
命令之间要加空格
三十五:cd 命令集
cd 示意切换目录
clear 革除命令
ifconfig/ip addr 查看 IP 地址
pwd 查看并显示以后的地位
tab 键 主动补齐(留神唯一性)
cd 命令是 linux 中最根本的命令语句,必须熟练掌握
cd / 返回根目录
cd ~ 用户主目录
cd . 当前目录
cd .. 返回到上一级目录
cd /usr/ 进入到 usr 目录
cd – 返回上一个目录
cd 间接回家
三十六:ls 目录和文件
ls –l 具体格局,文件权限,工夫
ll 和 ls –l 作用雷同
ls *.txt 查看所有的 txt 类型文档
三十七: 目录操作
mkdir –help 申请帮忙
mkdir 创立目录
mkdir a 创立 a 目录
mkdir -p a/b 创立 a 目录,并在 a 目录里创立 b 目录
mkdir -m 777 c 创立一个权限为 777 的 C 目录
rmdir 删除目录(如果目录里有文件,则不能用此命令)
三十八:Vi/vim 创立 (用的最多,Vi 能够疏忽不必)/ 查看 / 编辑文件
命令行:Esc 切换到命令行模式。
编辑模式:
按 i,在光标前开始编辑
按 a,在光标后开始编辑
按 o,在以后行的下一行开始编辑
按 u, 撤销之前的操作
底行模式:按 shift+:冒号。
:q! 不保留退出
:wq 保留退出
:/world 从以后光标处,向上查找 world 关键字
:?world 从以后光标处,向后查找 world 关键字
三十九: 删除文件
rm 删除文件
rm n.txt 提醒 y 删除 n 放弃
rm –f n.txt 不提醒
rm –rf dirname 不提醒递归删除目录下所以内容
rm –rf * 删除所有文件
rm –rf /* 删除所有子目录所有和文件
四十: 复制和挪动文件
cp 复制文件
cp nginx.conf n.txt
cp –R tomcat1 tomcat2 #复制整个目录
mv 批改文件名,挪动文件
mv n.txt m.txt 批改文件名称
(例如 mv a.txt a/c.txt 意思是: 挪动 a.txt 到 a 目录下并且改名为 c.txt)
四十一: 浏览文件
cat 输入文件所有的内容 能够检索大量的日志文件
more 输入文档所有的内容,分页输入,空格浏览下一屏,q 退出
less 用法和 more 雷同,只是通过 PgUp、PgOn 键来管制
tail 用于显示文件后几号,应用频繁(tail -10 xxxx.log 显示 xxxx 的最初十行日志信息)
tail -10 nginx.conf 查看 nginx.conf 的最初 10 行
tail –f nginx.conf 动静查看日志,不便查看日志新增的信息
ctrl+c 完结查看
四十二: 打包命令
tar 命令位于 /bin 目录下,它可能将用户所指定的文件或目录打包成一个文件,但不做压缩。个别 Linux 上罕用的压缩形式是选用 tar 将许多文件打包成一个文件,再以 gzip 压缩命令压缩成 name.tar.gz 的文件。
-c 创立一个新的 tar 文件
-v 显示运行过程的信息
-f 指定文件名
-z 调用 gzip 压缩命令进行压缩
-t 查看压缩文件的内容
-x 解开 tar 文件
tar –cvf n.tar ./* 压缩当前目录下的所有文件和目录,文件名为 n.tar
tar –xvf n.tar 解压压缩包中的文件到当前目录(如果长时间未解压胜利 Ctrl+ C 推出)
tar –cvzf m.tar.gz ./* 压缩文件
tar -zxvf m.tar.gz 解压 m.tar 文件到当前目录
压缩:tar -cvf a.tar ./*
解压:tar -xvf a.tar
四十三:grep 命令
grep root /etc/passwd 在文件中查找关键字 root
grep root /etc/passwd –-color 高亮显示
grep root /etc/passwd –A5 –B5 高亮显示,A 后 5 行,B 前 5 行
grep -n root /etc/passwd 查找并显示行数
grep -v root /etc/passwd 取反,查出不含 root 的数据
四十四: 编辑 JDK 环境变量
阐明: Linux 中须要配置环境变量
文件地位:/etc(高级零碎环境变量)/profile(包含了 linux 零碎环境变量的配置信息)
编辑文件命令:vim /etc/profile
设定 jdk 环境
export JAVA_HOME=/usr/local/src/jdk1.8
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib
让环境变量失效命令(重启环境变量): source /etc/profile
—————————-linuxmysql——————————
步骤: 先安 jdk,再安 mysql,再批改权限,再敞开防火墙
具体参考 csdn 博客
四十五:mysql 数据库命令 (详情请看 CSDN 闪耀太阳博客对于 linux 零碎 mariadb 的装置)
万能组合键 ctrl+c(勾销所有)
yum 是 linux 里的软件商城
1. 启动命令 [root@localhost src]# systemctl start mariadb
2. 重启命令 [root@localhost src]# systemctl restart mariadb
3. 敞开命令 [root@localhost src]# systemctl stop mariadb
4. 设定开机自起 [root@localhost src]# systemctl enable mariadb
5. 敞开开机自起 [root@localhost src]# systemctl disable mariadb
cd /var/lib/mysql/ 切换到 mysql 目录
四十六: 如果要用 sqlyog 连贯数据库,须要敞开权限和防火墙
权限:
update user set host=”%” where host=”localhost”; 用 sql 语句凋谢权限
select host,user from user; 查问主机地址从用户表中
flush privileges; 刷新权限
防火墙:
firewall-cmd –state 查看防火墙状态
需要: 通知 linux 零碎当前开机不须要启动防火墙
命令:
1.systemctl disable firewalld.service
2.systemctl enable firewalld.service
手动敞开防火墙
阐明: 通过命令手动将防火墙敞开
命令:
1.systemctl stop firewalld.service
2.systemctl start firewalld.service
重启防火墙
firewall-cmd –reload
我的项目上传:
阐明: 通过 Linux 命令 java -jar 8081.war 的形式能够启动服务器.
毛病: 将以后的终端占用了, 如果须要执行后续的 Linux 命令 则须要从新开启终端… 用户体验不便
敞开服务器: ctrl + c
带 & 的命令
命令: java -jar 8081.war &
解释: & 号代表连贯. & 之前的命令执行胜利之后, 点击回车能够继续执行后续的命令.
毛病:
1. 如果服务器须要打印日志信息, 则以后的终端仍然会被占用.
2. 通过 java -jar 形式 示意前台启动. 如果客户端的终端敞开, 则服务随之敞开…
后端运行命令 (当前要用的)
命令: nohup java -jar 8081.war -> 8081.log &
长处:
1. 程序的运行不受终端的影响.
2. 程序运行都会在后端生成日志信息, 不会再次烦扰终端应用.
当前我的项目公布倡议采纳后端运行的形式.
对于服务检索命令
命令: ps -ef |(管道) grep 服务名称
命令: jps 仅检索带 war 包的
管道技术的含意: 前边查问的后果当做后边的参数来应用
命令: kill PID 号 完结过程
kill -15 PID 号 较为强硬的完结
kill -9 PID 号 终极命令
四十七: 利用 shell 脚本公布我的项目 (当有很多个我的项目须要公布时)
步骤:
首先在我的项目根目录输出命令 vim start.sh
而后点 i 进行插入
而后输出 #!/bin/sh
而后输出后端发布命令 (nohup… 很多我的项目就复制)
而后按 esc
而后:wq 保留退出
而后通过输出命令 sh start.sh 进行应用
权限有余: 加 sudu(临时应用超级管理员)
————————————–linuxNginx———————————-
步骤: 先装置 nginx 在批改 conf 文件 在批改 hosts 文件 (如果有域名就不必批改 hosts) 再重启拜访(切记要在工作目录(nginx/sbin) 而不是源码目录 (nginx-source))
具体参考博客
1. 启动命令: ./nginx
2. 重启命令: ./nginx -s reload
3. 敞开命令: ./nginx -s stop
————————————– 批改虚拟机 ip 地址 ———————————-
步骤: 筹备两台虚拟机(间接在原目录中解压一份即可),而后查看(包含 ping ipconfig ipaddr)
{如果没有 IP 展示则执行如下的命令
service NetworkManager stop
chkconfig NetworkManager off 永恒敞开 Manager 网卡
service network restart 重启 network 网卡}
而后批改 ip 地址 (切记要在从虚拟机上改 130 因为改完能力连) 步骤:
找到 IP 地址的目录
cd /etc/sysconfig/network-scripts/
而后 ls
而后 vim ifcfg-ens33
而后按 i 批改 ip 地址为 192.168.126.130
而后 esc :wq 保留退出
而后重启网卡 查看 ip 地址是否正确
而后通过 Mobaxterm 通过 ip 连贯
从机只须要装置 mysql 数据库即可,(不会参考 csdn 闪耀太阳)
而后启动数据库将数据库设置为开机启动,
而后凋谢权限 (通过 sql 语句),敞开防火墙(systemctl stop/disable firewalld.service),将防火墙设置成默认不开启(因为这样能力连贯上数据库)
阐明:
- 如果须要近程链接数据库必须通过防火墙
- 如果近程链接数据库, 数据库中必须开启近程拜访权限才行, 否则回绝链接.
———————————— 数据库备份 ————————————-
数据库备份分为冷备份和热备份
冷备份阐明
业务场景: 数据库中的记录应该保障尽可能的平安, 如果数据失落则会造成不可挽回的损失!!!
阐明: 依据用户的需要 定期的将数据库文件进行备份 / 转储 从而保证数据的平安.
毛病:
1. 该操作须要人工手动的操作
2. 冷备份因为不是实时的, 所以可能导致数据失落…
3. 如果备份的数据库的文件较大, 则备份的工夫很久, 容易出错.
阐明: 数据的冷备份是公司复原数据最初无效的伎俩.
热备份阐明
备份步骤:
1. 当用户进行了数据的批改时, 会将批改的数据写入二进制日志文件.
2. 从库通过 IO 线程 读取主库中的记录. 将数据写入到中继日志中.
3.Sql 线程读取数据信息. 通过 sql 语句写入到从库中.
数据库备份的性能, 是数据库原生自带的服务. 所以不须要第三方的干涉…
注意事项: 数据库中的二进制日志文件 默认的条件下是敞开的. 如需备份, 须要手动的开启.
二进制文件地位: vim /etc/my.cnf
定义 mysql 服务编号 要求必须惟一
server-id=1
定义 mysql 二进制文件名称
log-bin=mysql-bin
而后重启数据库并查看二进制文件信息
systemctl restart mariadb
而后 ls 查看
而后实现数据库热备份
一: 首先查看主库 (129)
/ 主库 次要主库重启了就会生成新的二进制文件信息 /
命令:SHOW MASTER STATUS;
二: 而后再从库中 (130)
/*130 数据库从库 IP 地址 / 端口号 / 用户名 / 明码 /
二进制文件名称 / 二进制文件的地位 */
CHANGE MASTER TO MASTER_HOST=”192.168.126.129″,
MASTER_PORT=3306,
MASTER_USER=”root”,
MASTER_PASSWORD=”root”,
MASTER_LOG_FILE=”mysql-bin.000001″,
MASTER_LOG_POS=245;
/2. 启动数据库主从服务/
START SLAVE;
/3. 查看主从的状态/
SHOW SLAVE STATUS;
/4. 搭建谬误 1). 敞开主从服务 /
/4.1 敞开主从服务/
STOP SLAVE;
/4.2 查看报错信息 last_sql_error last_io_error 依据日志查问状态/
/4.3 从新搭建主从服务 /
{主库重启了就会生成新的二进制文件
rm -rf mysql-bin.* 意思是删除多余的二进制文件
SHOW MASTER STATUS; 意思是查看主库状态}