摘要: 1、explain的基本介绍 有时候我们可能需要知道 mysql 是如何解析执行我们的 SQL 语句的,比如有时候某些语句写在前面并不一定意味着它就会先执行,有没有使用到索引等待,此时我们可以通过 explain 语句来分析出 SQL 优化器是如何解析执行我们的 SQL 语句的。 使用 EXPLAI 阅读全文
posted @ 2022-01-26 23:35 wenxuehai 阅读(1069) 评论(0) 推荐(0) 编辑
摘要: 1、索引的基本介绍 MySQL 官方对索引的定义为:索引(Index)是帮助 MySQL 高效获取数据的数据结构。可以得到索引的本质: 索引是数据结构。可以简单理解为排好序的快速查找数据结构。 在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据, 这样就 阅读全文
posted @ 2022-01-23 23:43 wenxuehai 阅读(1469) 评论(0) 推荐(0) 编辑
摘要: 1、MySQL的下载安装和完全卸载 1.1、MySQL的下载和安装 MySQL5.5.4 安装包下载链接:https://pan.baidu.com/s/1FCONiIxFvhIBzDJ4Ao6P4Q 提取码:9crg MySQL的安装流程可参考:https://blog.csdn.net/s_x1 阅读全文
posted @ 2022-01-18 23:09 wenxuehai 阅读(419) 评论(0) 推荐(0) 编辑
摘要: 1、Redis的数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。 2、String 数据类型 string 是 redis 最基本的类型,你可以理解成与 Memcached 一模一样的类型, 阅读全文
posted @ 2022-01-16 18:42 wenxuehai 阅读(1698) 评论(0) 推荐(0) 编辑
摘要: 1、NoSQL数据库基本介绍 1.1、NoSQL数据库 NoSQL(Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在处理web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,出现了 阅读全文
posted @ 2022-01-10 11:24 wenxuehai 阅读(1332) 评论(0) 推荐(0) 编辑
摘要: 1、总体架构介绍 下面我们搭建一个双主双从的集群,并且采用同步的方式来同步主从之间的信息,总体架构如下: 2、集群工作流程 集群工作流程如下: 启动NameServer,NameServer起来后监听端口,等待Broker、Producer、Consumer连上来,相当于一个路由控制中心。 Brok 阅读全文
posted @ 2021-12-19 01:29 wenxuehai 阅读(435) 评论(0) 推荐(0) 编辑
摘要: 1、MQ 的基本介绍 MQ(Message Queue)消息队列,是基础数据结构中“先进先出”的一种数据结构。指把要传输的数据(消息)放在队列中,用队列机制来实现消息传递 —— 生产者产生消息并把消息放入队列,然后由消费者去处理。消费者可以到指定队列拉取消息,或者订阅相应的队列,由MQ服务端给其推送 阅读全文
posted @ 2021-12-14 23:56 wenxuehai 阅读(2912) 评论(0) 推荐(0) 编辑
摘要: 1、KAFKA的基本介绍 Kafka 是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域。 阅读全文
posted @ 2021-12-14 00:08 wenxuehai 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 1、Linux命令的基本格式 命令提示符如下: 其中: root:当前登陆用户 localhost:主机名 ~:表示当前用户的家目录,如果是 root 代表 /root,如果是普通用户user1代表/home/user1 #:超级用户的提示符#,如果是普通用户则提示符为:$ 命令格式如下: 命令 [ 阅读全文
posted @ 2021-12-10 15:38 wenxuehai 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 1、::(双冒号,方法引用) 双冒号 :: 为引用运算符,而它所在的表达式被称为方法引用。如果Lambda要表达的函数方案已经存在于某个方法的实现中,那么则可以通过双冒号来引用该方法作为Lambda的替代者。也就是说,方法引用实际上是返回一个方法,而不是该方法的执行结果。 方法引用通过方法的名字来指 阅读全文
posted @ 2021-12-05 20:03 wenxuehai 阅读(620) 评论(0) 推荐(0) 编辑
摘要: 1、Lambda 的基本介绍 Lambda Java8 的新特性之一,Lambda 是一个匿名函数,我们可以把 Lambda表达式理解为是一段可以传递的代码(将代码像数据一样进行传递)。可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,使Java的语言表达能力得到了提升。 在JDK8之前,Ja 阅读全文
posted @ 2021-12-05 19:45 wenxuehai 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 1、Stream API的基本介绍 Java 8 API添加了一个新的抽象称为流 Stream,可以让你以一种声明的方式处理数据。Stream API可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。 Stream 是Java8中处理集合的关键抽象概念,它可以对集合进行非常复 阅读全文
posted @ 2021-12-05 15:53 wenxuehai 阅读(404) 评论(0) 推荐(0) 编辑
摘要: 1、浏览器的发展历史 1990年,万维网之父 Tim Berners-Lee 开发出第一个浏览器 WorldWideWeb,后改名为 Nexus (避免和 the World Wide Web 重名)。1993年4月30日,公布源码,1994年停止开发。 1991年,4个芬兰学生开发 Erwise, 阅读全文
posted @ 2021-11-30 00:01 wenxuehai 阅读(370) 评论(0) 推荐(0) 编辑
摘要: 1、MySQL 数据类型 MySQL 支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。 1.2、mysql中编码和字符 在 mysql 中,一个中文汉字所占的字节数与编码格式有关: 如果是GBK编码,则一个中文汉字占2个字节,英文占1个字节 如果是UTF8编码,则一个中文汉字占 阅读全文
posted @ 2021-11-24 22:25 wenxuehai 阅读(3498) 评论(0) 推荐(1) 编辑
摘要: 1、YAML基本介绍 YAML是 YAML Ain’t Markup Language(中文意思:YAML不是一种标记语言)的缩写,YAML 是一种简洁的非标记语言,文件名后缀为yml,java中经常用它描述配置文件application.yml。YAML以数据为中心,比json/xml等更适合做配 阅读全文
posted @ 2021-11-16 22:17 wenxuehai 阅读(3888) 评论(0) 推荐(0) 编辑
摘要: 1、maven的父工程 父子工程说白了就是利用Maven的继承,依赖传递性来为我们省略一些重复的配置。 父工程有且仅有一个pom文件,用来做坐标的版本管理以及引入坐标;打包方式必须为pom,即:<packaging>pom</packaging>。 父子工程作用: 统一管理jar包的版本 统一的依赖 阅读全文
posted @ 2021-10-12 23:31 wenxuehai 阅读(72) 评论(0) 推荐(0) 编辑
摘要: 1、Springboot的基本介绍 SpringBoot提供了一种快速使用Spring的方式,基于约定优于配置的思想,可以让开发人员不必在配置与逻 辑业务之间进行思维的切换,全身心的投入到逻辑业务的代码编写中,从而大大提高了开发的效率,一定程度 上缩短了项目周期。2014 年 4 月,Spring 阅读全文
posted @ 2021-10-08 23:44 wenxuehai 阅读(3835) 评论(0) 推荐(1) 编辑
摘要: 1、MyBatis 缓存的基本介绍 缓存是一般的 ORM 框架都会提供的功能,目的就是提升查询的效率和减少数据库的压力。缓存是存在内存中的临时数据,将用户经常查询的数据放在缓存(内存)中,用户去查询数据就不用从磁盘上(关系型数据库文件)查询,从缓存中查询,从而提高查询效率,解决了高并发系统的性能问题 阅读全文
posted @ 2021-09-30 15:47 wenxuehai 阅读(730) 评论(0) 推荐(0) 编辑
摘要: 1、兼容问题 属性|方法 IE Chrome 360兼容模式 (版本号13.1.1572.0|内核版本86.0.4240.198) 解决方法 1 window.showModalDialog() 支持 不支持 支持 2 ajax请求: 所有现代浏览器(Chrom、IE7+、Firefox、Safar 阅读全文
posted @ 2021-09-06 23:13 wenxuehai 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 1、sql 映射文件常见关键字 sql 映射文件中需要注意的一些关键字: parameterType: 指定要求输入参数的类型,可以指定为基本数据类型(如 int、float 等)、包装数据类型(如 String、Interger 等)以及用户自己编写的 JavaBean 封装类。不管参数是基本数据 阅读全文
posted @ 2021-09-06 00:24 wenxuehai 阅读(2595) 评论(0) 推荐(1) 编辑
摘要: 1、运行tomcat 实例使用:比如我们运行 tomcat 容器,并且将本地宿主机的 8888 端口映射到容器上的 8080 端口(tomcat的默认端口都是8080)。 此时正常情况下我们通过访问宿主主机的 ip:8888 即可访问到 tomcat 的默认页面: 1.1、解决访问出现404 当 t 阅读全文
posted @ 2021-08-17 22:59 wenxuehai 阅读(1901) 评论(0) 推荐(0) 编辑
摘要: 1、镜像 镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容包括代码、运行时、库、环境变量和配置文件。 镜像由多个层组成,每层叠加之后,从外部看来就如一个独立的对象。镜像内部是一个精简的操作系统(OS),同时还包含应用运行所必须的文件 阅读全文
posted @ 2021-08-17 19:07 wenxuehai 阅读(451) 评论(0) 推荐(0) 编辑
摘要: 1、Dockerfile 1.1、dockerfile的基本介绍 Dockerfile 是一个用来构建镜像的文本文件,该文本内容内包含了一条条构建镜像所需的指令和参数。Dockerfile其内部包含了一条条的指令,每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。 DockerFi 阅读全文
posted @ 2021-08-17 08:23 wenxuehai 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 1、容器 2、容器相关命令 2.1、运行容器(docker run) 通过 docker run [options] image 命令来运行一个容器。 options 参数说明: -i:以交互形式运行容器。通常与 -t 同时使用。 -t:为容器重新分配一个伪输入终端。 --name:为运行的容器指定 阅读全文
posted @ 2021-08-16 22:57 wenxuehai 阅读(501) 评论(0) 推荐(0) 编辑
摘要: 1、进程相关 1.1、查看进程(ps命令) Linux ps (英文全拼:process status)命令用于显示当前进程的状态,类似于 windows 的任务管理器。 ps [options] ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程 阅读全文
posted @ 2021-08-15 23:56 wenxuehai 阅读(1001) 评论(0) 推荐(0) 编辑
摘要: 1、docker的基本介绍 Docker 可以让开发者打包他们的应用以及依赖包(环境)到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。Docker的主要目标是" 阅读全文
posted @ 2021-08-12 23:05 wenxuehai 阅读(366) 评论(0) 推荐(0) 编辑
摘要: Nginx服务器 Chrome浏览器 Firefox浏览器 IE浏览器 Tomcat服务器 最佳实践(应该怎么设置缓存) 下面我们分析不同服务器在不同浏览器上的缓存行为,默认的项目目录如下: index.html 和 test.html 文件内容基本一样,只是为了测试浏览器会不会对文件名采取不同缓存 阅读全文
posted @ 2021-08-08 19:00 wenxuehai 阅读(437) 评论(0) 推荐(1) 编辑
摘要: 1、proxy_set_header 重新定义或者添加转发的请求头 proxy_set_header 的语法: # 语法。在http.server.location中设置 proxy_set_header field value; #默认值 proxy_set_header Host $proxy_ 阅读全文
posted @ 2021-08-04 18:58 wenxuehai 阅读(371) 评论(0) 推荐(1) 编辑
摘要: 1、location 的匹配规则 location 的语法规则: location [=|~|~*|^~|@] /uri/ { ... } = :表示精确匹配后面的url ~ :表示正则匹配,但是区分大小写(注意~ ^ 和^~的区别 ,~ ^ /xxx/ 意思是匹配以 /xxx/ 开头的资源) ~* 阅读全文
posted @ 2021-08-03 23:52 wenxuehai 阅读(1721) 评论(0) 推荐(1) 编辑
摘要: 1、MyBatis的基本介绍 1.1、MVC三层架构 MVC三层架构:M 数据访问层、V 界面层、C 业务逻辑层。 三层的职责: V 界面层:View 对数据的展示代码,比如JSP、html页面,就是专门用来展示数据,美化页面的。 C 业务逻辑层:Controller 控制,接收界面层传递的数据,计 阅读全文
posted @ 2021-07-28 12:31 wenxuehai 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 1、数据库连接池的基本介绍 数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。数据库连接池其实就是一个容器(集 阅读全文
posted @ 2021-07-25 19:58 wenxuehai 阅读(4204) 评论(0) 推荐(0) 编辑
摘要: 1、MySQL数据库的事务 在MySQL数据库中,事务默认是会自动提交的,也就是说,如果没有用 begin ... commit 来显式提交事务的话,MySQL 会认为每一条SQL语句都是一个事务,也就是每一条SQL语句都会自动提交。另外,Oracle数据库默认是不会自动提交事务的,也就是必须得显式 阅读全文
posted @ 2021-07-21 23:53 wenxuehai 阅读(351) 评论(0) 推荐(0) 编辑
摘要: 1、数据库的备份 数据库备份与日志备份是数据库维护的日常工作,备份的目的是在于当数据库出现故障或者遭到破坏时可以根据备份的数据库及事务日志文件还原到最近的时间点将损失降到最低点。 数据库的备份和还原可以使用命令行,也可以直接使用图形化工具比如 Navicat,下面介绍使用命令行的方式。 备份MySQ 阅读全文
posted @ 2021-07-19 23:20 wenxuehai 阅读(1005) 评论(0) 推荐(0) 编辑
摘要: 1、范式的基本介绍 设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和 阅读全文
posted @ 2021-07-19 22:34 wenxuehai 阅读(1025) 评论(0) 推荐(0) 编辑
摘要: 1、高可用的基本介绍 在使用 Nginx 做反向代理或者负载均衡的时候,都是以 Nginx 为入口,如果 Nginx 宕机了,那么所有的服务都无法正常提供,影响非常严重。所有我们需要保证 nginx 高可用,就是配置备份机,前一个挂了,还有后一个。 为了避免负载均衡服务器宕机造成严重影响,就需要建立 阅读全文
posted @ 2021-07-15 00:41 wenxuehai 阅读(9918) 评论(2) 推荐(1) 编辑
摘要: 1、准备工作 我们最终想实现的效果如下: 即访问以 /webTestProject 为前缀的资源时,我们认为是静态资源。我们把静态资源直接放在 Nginx 服务器上,通过 Nginx 来直接返回静态资源。 当访问的资源以 /serviceTestProject 为前缀时,我们认为是动态资源。此时通过 阅读全文
posted @ 2021-07-11 22:46 wenxuehai 阅读(2910) 评论(0) 推荐(0) 编辑
摘要: 1、准备工作 首先准备两台服务器,这里我们准备了两台虚拟机,ip 地址分别为 192.168.32.128 和 192.168.32.129,以此模拟两台服务器。 在这两台服务器上分别启动了 tomcat 服务器, 并且都在 tomcat 的 webapps 目录下新建 mySystem 目录,在该 阅读全文
posted @ 2021-07-11 17:25 wenxuehai 阅读(3656) 评论(0) 推荐(1) 编辑
摘要: 1、准备工作 1.1、Linux上安装tomcat 首先需下载 tomcat 安装包,可参考:https://www.cnblogs.com/wenxuehai/p/14133196.html#_label2,注意,下载 tar.gz 格式的安装包。 将安装包上传至 Linux 系统的 /usr/s 阅读全文
posted @ 2021-07-05 22:17 wenxuehai 阅读(14474) 评论(2) 推荐(0) 编辑
摘要: 1、安装Linux 目前安装操作系统方式有2 种:真机安装、虚拟机安装。 真机安装:使用真实的电脑进行安装,像安装windows 操作系统一样,真机安装的结果就是替换掉当前的windows 操作系统; 虚拟机安装:通过一些特定的手段,来进行模拟安装,并不会影响当前计算机的真实操作系统; 如果是学习或 阅读全文
posted @ 2021-07-03 17:52 wenxuehai 阅读(531) 评论(0) 推荐(0) 编辑
摘要: 1、Nginx的基本介绍 Nginx 就是一个服务器软件,它是俄罗斯人编写的十分轻量级的 HTTP服务器,它的发音为“engine X”,是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器。 其特点是占有内存少,并发能力强,易于开发,部署方便。Nginx 支 阅读全文
posted @ 2021-07-03 16:44 wenxuehai 阅读(1140) 评论(0) 推荐(1) 编辑
//右下角添加目录