## Http 与 Https 协议脚本的使用方法
- HTTP(超文本传输协议):是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从 WWW 服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。
- HTTPS(安全套接字层超文本传输协议):是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。
- HTTPS协议的主要作用可以分为两种:一种是
建立一个信息安全通道,来保证数据传输的安全
;另一种就是确认网站的真实性
。
- HTTPS协议的主要作用可以分为两种:一种是
- 关系:Https = Http + SSL 。
- HTTPS 和 HTTP 的区别主要如下:
1、https 协议需要到申请证书。
2、http 是超文本传输协议,信息是明文传输,https 则是具有安全性的 ssl 加密传输协议。
3、http 和 https 使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
JDK 与 JRE 与 JVM 的区别。
- JVM (Java Virtual Machine 。 Java 虚拟机)
- 它是整个 java 实现跨平台的最核心的部分,所有的 Java 程序会首先被编译为.class 的类文件,这种类文件可以在虚拟机上执行,也就是说 class 并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行。可以理解为是一个虚拟出来的计算机,具备着计算机的基本运算方式,它主要负责将 Java 程序生成的字节码文件解释成具体系统平台上的机器指令。让具体平台如 Window 运行这些 Java 程序。
- JRE (Java Runtime Environment 。 Java 运行环境)
- 光有 JVM 还不能执行 class ,因为在解释 class 的时候 JVM 需要调用解释所需要的类库 lib。在 JDK 的安装目录里你可以找到 jre 目录,里面有两个文件夹 bin 和 lib,在这里可以认为 bin 里的就是 JVM,lib 中则是 JVM 工作所需要的类库,而 JVM 和 lib 和起来就称为 JRE。所以,在你写完 java 程序编译成.class 之后,你可以把这个.class 文件和 jre 一起打包发给朋友,这样你的朋友就可以运行你写程序了。包括 Java 虚拟机(JVM Java Virtual Machine)和 Java 程序所需的核心类库等,如果想要运行一个开发好的 Java 程序,计算机中只需要安装 JRE 即可。
- JDK (Java Development Kit 。Java 开发工具包)
- JDK 的安装目录。在目录下面有六个文件夹:一个 src 类库源码压缩包和其他几个声明文件。其中,真正在运行 Java 时起作用的是bin、include、lib、 jre ,这四个文件夹。
- bin:最主要的是编译器(javac.exe) include:java 和 JVM 交互用的头文件
- lib:类库
- jre:Java 运行环境(注意:这里的 bin、lib 文件夹和 jre 里的 bin、lib 是不同的)
- 总的来说 ,JDK 是用于 Java 程序的开发,而 JRE 则是只能运行 class 而没有编译的功能。JDK 是提供给 Java 开发人员使用的,其中包含了 Java 的开发工具,也包括了 JRE。所以安装了 JDK,就不用在单独安装 JRE 了。其中的开发工具包括编译工具(javac.exe) 打包工具(jar.exe) 等,使用 JDK 开发完成的 Java 程序,交给 JRE 去运行。
- 三者的关系:JDK 包含 JRE,而 JRE 包含 JVM 。
- JVM:将字节码文件转成具体系统平台的机器指令。
- JRE:JVM + Java 语言的核心类库。
- JDK:JRE + Java 的开发工具。
- 实际上:
我们利用 JDK(调用 JAVA API)开发了属于我们自己的 JAVA 程序后, 通过 JDK 中的编译程序(javac)将我们的文本 java 文件编译成 JAVA 字节码(.class 文件),在 JRE 上运行这些 JAVA 字节码,JVM 解析这些字节码,映射到 CPU 指令集或 OS 的系统调用。
Java 注解、元注解 以及 自定义注解。
注解(Annotation)相当于一种标记,在程序中加入注解就等于为程序打上某种标记,没有加,则等于没有任何标记,以后,javac 编译器、开发工具 和 其他程序可以通过反射来了解你的类及各种元素上有无何种标记,看你的程序有什么标记,就去干相应的事,标记可以加在包(PACKAGE)、类(TYPE),属性(FIELD)、方法(METHOD),方法的参数(PARAMETER)以及局部变量(LOCAL_VARIABLE)上。
- 新建 Interface,建完在名字前加 @ ,就成了自定义的注解。
- 添加元注解。
- @Target(ElementType.METHOD) :这是一个对方法的注解,还可以是包、类、变量等很多东西。
- @Retention(RetentionPolicy.RUNTIME) :保留时间,一般注解就是为了框架开发时代替配置文件使用,JVM运行时用反射取参数处理,所以一般都为 RUNTIME 类型。
- @Documented :用于描述其它类型的 annotation 应该被作为被标注的程序成员的公共API,因此可以被例如 javadoc 此类的工具文档化。
- @Inherited:自定义的注解标注在父类上不会被子类所继承,但是我们可以在定义注解时给我们自定义的注解标注一个 @Inherited 注解来实现注解继承。
MySQL 8.0.16安装教程(windows 64位)
- 先去官网下载核实版本的 MySQL。
- 下载完成之后,解压。
- 添加环境变量。
环境变量的path里添加一个mysql的配置 ,指向mysql的bin目录。
- 配置初始化的my.ini文件的文件。
- 安装的MySQL的。(使用系统管理员的操作)
- 进入CMD 直接进入的 mysql 的所在目录。
- 在 MySQL 的安装目录的仓目录下执行命令: mysqld --initialize --console,会得到一个初始的临时密码。
- 继续执行命令,安装 MySQL 服务 mysqld --install 。
- 执行命令,SC 删除的 MySQL 服务 sc delete mysql 。或者执行 mysqld --remove。
- net start mysql 启动 MySQL 的服务。
- net stop mysql 关闭 MySQL 的服务。
- 连接成功之后修改密码。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
- 知道密码修改。
1、use mysql
2、update mysql.user set password=PASSWORD('NEW PASSWORD') where User='root';
3、flush privileges;
- 不知道密码的步骤
1、mysqld --skip-grant-tables 跳过授权登录
2、use mysql;
3、update user set password=password('NEW PASSWORD') where user='root';(不可遗漏分号)
4、flush privileges;