SpringBoot应用的启动
SpringApplication类分析SpringBoot项目通常的启动手段
12345678@SpringBootApplicationpublic class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); }}
SpringApplication的run方法SpringBootApplication中有两种重载的静态run方法。
其中一个方法返回值是调用另一个方法,另一个方法会返回一个ApplicationContext。
123public static ConfigurableApplicationContext run(Class<?>[] primarySources, String[] args) { return new SpringApplication(primarySources).run(args);}
...
Redis
Redis1.NOSQL数据库简介1.1 技术发展技术的分类
1、解决功能性的问题:Java、Jsp、RDBMS、Tomcat、HTML、Linux、JDBC、SVN
2、解决扩展性的问题:Struts、Spring、SpringMVC、Hibernate、Mybatis
3、解决性能的问题:NoSQL、Java线程、Hadoop、Nginx、MQ、ElasticSearch
1.1.1 Web1.0时代 Web1.0的时代,数据访问量很有限,用一夫当关的高性能的单点服务器可以解决大部分问题。
1.1.2 Web2.0时代 随着Web2.0的时代的到来,用户访问量大幅度提升,同时产生了大量的用户数据。加上后来的智能移动设备的普及,所有的互联网平台都面临了巨大的性能挑战。
1.1.3 解决CPU及内存压力
1.1.4 解决IO压力
1.2 NoSQL数据库1.2.1 NoSQL数据库概述 NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库。
NoSQL 不依赖业务逻辑方式存储,而以简单的key-v ...
RabbitMQ
RabbitMQ1. MQ1.1 什么是MQ MQ(message queque),即消息队列,本质上是个队列,是一种跨进程的通信机制,用于上下游传递信息。在互联网架构中,MQ是一种非常常见的上下游“逻辑解耦+物理解耦”的信息通信服务。使用了MQ之后,信息发送上游只需要依赖MQ,不用依赖其他服务
1.2 为什么需要MQ1. 流量消峰 使用消息队列做缓冲,可以有效应对流量顶峰,把集中的订单分散成一段时间来处理,优于全部不能处理。
2. 应用解耦 采用基于消息队列的方式,可以减少系统间相互调用的问题。如某一系统出现故障,可以把需要处理的内容缓存在消息队列中,待系统恢复后继续处理,提升系统的可用性。
3. 异步处理 一些服务间调用是异步的,需要花很长的时间执行。如果使用消息总线,可以很方便的解决这个问题。比如,当A调用B的服务后,只需要监听B处理完成的信息,当B处理完成后,会发送消息给MQ,MQ会把消息转发给A服务,这样的话A服务无需循环调用B服务,还能及时得到异步处理成功的信息
1.3 MQ的分类
ActiveMQ –最早的MQ
优点:单机吞吐量万级,时 ...
Java JWT
Java JWTJava版本的对于JSON Web Token(即 JWT )的实现
安装导入依赖Maven12345<dependency> <groupId>com.auth0</groupId> <artifactId>java-jwt</artifactId> <version>3.13.0</version></dependency>
Gradle1implementation 'com.auth0:java-jwt:3.13.0'
支持的算法
JWS
Algorithm
Description
HS256
HMAC256
HMAC with SHA-256
HS384
HMAC384
HMAC with SHA-384
HS512
HMAC512
HMAC with SHA-512
RS256
RAS256
RSASSA-PKCS1-v1_5 with SHA-256
RS384
RAS384
RSASSA-PKCS ...
MySQL
启动数据库服务以管理员身份运行Windows PowerShell
输入开启服务指令
1net start MySQL5.7(数据库服务器名称)
关闭服务指令
1net stop MySQL5.7(数据库服务器名称)
使用数据库服务登录数据库1mysql -uroot -p
然后键入密码
创建一个数据库1DATABASE CREATE t1;
如数据库已存在,会直接报ERROR
创建一个数据库(带检查)1DATABASE CREATE IF NOT EXISTS t1;
如数据库已存在,会报WARNING
查看WARRINGS1SHOW WARNINGS;
显示可用的数据库列表1SHOW TABLES
选择数据库1USE XXX(数据库名)
返回当前选择的数据库内可用表的列表1SHOW COLUMNS FROM XXX(表名);
一种MySQL可以使用的快捷方式
1DESCRIBE XXX(表名);
显示广泛的服务器状态信息1SHOW STATUS;
分别用来显示创建特定数据库或表的MySQL语句1SHOW CREATE DATABASE; & SHOW CREATE TABL ...
Java
Java语言发展史Java语言 语言:人与人交流沟通的表达方式
计算机语言:人与计算机之间进行信息交流沟通的一种特殊语言
Java是美国公司Sun(Stanford University Network)与1995年推出的计算机语言
Java之父: 詹姆斯高斯林
Java跨平台原理 平台:操作系统(如Windows,Macos,Linux)
Java程序可以在任何操作系统上运行
原理:JVM(各平台有对应版本JVM(即Java Virtual Machine–Java虚拟机),保证程序的正常运行
JRE与JDK JRE(Java Runtime Environment):Java程序运行时的环境,包含JVM和运行时所需的核心类库
JDK(Java Development Kit):Java程序开发工具(编译工具javac.exe+运行工具java.exe)包,包含JRE和开发人员使用的工具 ==开发Java程序必备==
...
数据库
数据库什么是数据库?数据库是一个容器,里面保存着有组织的数据
数据库指的是数据库,而不是数据库软件,即数据库管理系统(DMBS),DBMS帮我们访问数据库,建立我们和数据库之间的联系
数据库里都有什么?数据库就像一个抽屉,不能随便把东西塞进去,而要把东西分开,有序的塞进去,==表==就像抽屉中的一个信封,把数据分开储存。
表,是某种特定类型数据的结构化清单,数据库中的每个表都有一个唯一的名字,数据库中不允许存在具有相同名字的表
表里有什么?表由列组成,列是表中的一个字段,存储着表中某部分的信息
假如把表比作森林,列就是森林中的一棵棵树,正是树组成了森林。树有很多种,列自然也如此
一个好的表,应该分好列,因为每个列都有相应的数据类型,所以应该用恰当的列存储恰当的数据
行是什么?表中的数据按行存储,保存的每个记录存储在自己的行内,就像人皆为人,却有不同的特点
每个表都有一个主键表中每一行都应该有唯一标识自己的一列,该列的值可以唯一区分表中的每个行,这列就是主键,比如ID card
无论如何挑选主键,都必须满足以下几点
任意两行都不具有相同的主键值
每个行都必须具有一个主键值(主键值不允许 ...
常用DOS命令
1.如何使用DOS命令1.1 打开命令提示符窗口 (win+R) 1.按下 win+R
2.输入cmd
3.按下回车键(即enter)
2常用的DOS命令1.盘符切换 输入任意盘号+冒号,按下回车键
如( e:)
2.查看路径下内容 输入 dir ,按下回车键
3.进入单级目录 输入 cd + 空格 + 要进入的目录
如( cd users )
4.回退至上一级目录 输入 cd.. 按下回车键
5.进入多级目录(==多次进入单级目录) 输入 cd + 目录1\ + 目录2\ + ...\ (直到目标目录),按下回车键
如( cd users\Lenovo\Desktop\... )
6.回退到盘符目录 输入 cd\
7.清屏 输入 cls ,按下回车键
8.退出命令提示符窗口 输入 exit ,按下回车键