- 博客(47)
- 收藏
- 关注
原创 盛最多水的容器
地址:https://leetcode-cn.com/problems/container-with-most-water/题目:给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能
2020-10-23 23:54:09 1323
原创 mybatis入门
1. 入门篇需求:根据用户id查询一个用户信息根据用户名称模糊查询用户信息列表插入用户信息根据用户id更新用户信息根据用户id删除用户信息开工:新建maven工程mybatis-demo引入相关依赖(pom.xml)<dependencies> <!-- mybatis依赖 --> <dependency> <groupId>org.mybatis</groupId>
2020-10-17 00:09:14 279 2
原创 zookeeper和kafka集群安装
下载zookeeper官网地址:https://zookeeper.apache.org/下载kafka官网地址:http://kafka.apache.org/将下载好后的文件上传到服务器上,我这开了三台虚拟机,将文件上传到3台虚拟机上解压zookeeper# -C 后面对应自己的安装目录,可以自定tar -zxvf zookeeper-3.4.14.tar.gz -C /home/mw/修改zookeeper的配置文件# 进入 zookeeper的配置目录下cd..
2020-07-27 22:58:17 243
原创 15. InnoDB 架构
上图详细展示了InnoDB存储引擎的体系结构,从途中可见,InnoDB 存储引擎由 内存池、后台线程和磁盘文件三大部分组成。1. Buffer Pool缓冲池InnoDB存储引擎是基于磁盘存储的,并将其中的记录按照页的方式进行管理。但是由于CPU速度和磁盘速度之间的鸿沟,基于磁盘的数据库系统通常使用缓冲池记录来提高数据库的的整体性能。在数据库中进行读取操作,将从磁盘中读到的页放在缓冲池中,下次再读相同的页中时,首先判断该页是否在缓冲池中。若在缓冲池中,称该页在缓冲池中被命中,直接读取该页。否则,读.
2020-07-05 20:09:25 177
原创 14. MySQL锁介绍
1. 锁介绍按照锁的粒度来说,MySQL主要包含三种类型(级别)的锁定机制:全局锁:锁的是整个database。由MySQL的SQL layer层实现的表级锁:锁的是某个table。由MySQL的SQL layer层实现的行级锁:锁的是某行数据,也可能锁定行之间的间隙。由某些存储引擎实现,比如InnoDB。按照锁的功能来说分为:共享读锁和排他写锁。按照锁的实现方式分为:悲观锁和乐观锁(使用某一版本列或者唯一列进行逻辑控制)表级锁和行级锁的区别:表级锁:开销小,加锁快;不会出现死锁;
2020-07-05 16:44:19 213
原创 13. 索引失效分析
1. 全值匹配# 条件与索引一一对应explain select * from tuser where name = 'zhaoyun' and age = 1 and sex = '1';2. 最左前缀组合索引中要遵守最左前缀法则。指的是 查询从索引的最左列开始,并且不跳过索引中的列。# 错误案例,没有最左列explain select * from tuser where age = 23;# 中间索引断(带头索引生效,其他索引失效)explain select * from t
2020-07-03 20:40:41 213
原创 12. 查看执行计划
查看执行计划 MySQL 提供了一个 EXPLAIN 命令, 它可以对 SELECT 语句的执行计划进行分析, 并输出 SELECT 执行的详细信息, 以供开发人员针对性优化。 查看该SQL语句有没有使用上了索引,有没有做全表扫描,这都可以通过explain命令来查看。 可以通过explain命令深入了解MySQL的基于开销的优化器,还可以获得很多可能被优化器考虑到的访问策略的细节,以及当运行SQL语句时哪种策略预计会被优化器采用。 EXPLAIN 命令用法十分简单, 在 SELECT 语句
2020-07-03 20:31:05 3292
原创 11. MySQL索引原理
索引存储结构索引是在存储引擎中实现的,也就是说不同的存储引擎,会使用不同的索引MyISAM和InnoDB存储引擎:只支持B+ TREE索引, 也就是说默认使用BTREE,不能够更换MEMORY/HEAP存储引擎:支持HASH和BTREE索引B Tree 和 B+ Tree1. B Tree图示B Tree是为了磁盘或其他存储设备而设计的一种多叉平衡查找树。B树的高度一般都是在2-4这个高度,树的高度直接影响IO读写的次数。如果是三层树结构—支撑的数据可以达到20G,如果是四层树结构—支
2020-07-03 19:24:15 141
原创 10. MySQL索引介绍
索引介绍 索引是帮助MySQL高效获取数据的数据结构。更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度。 一般来说索引本身也很大,不可能全部存储在内存中,因此索引往往是存储在磁盘上的文件中的(可能存储在 单独的索引文件中,也可能和数据一起存储在数据文件中)。我们通常所说的索引,包括聚集索引、覆盖索引、组合索引、前缀索引、唯一索引等,没有特别说明,默认都 是使用B+树结构组织(多路搜索树,并不一定是二叉的)的索引。索引的优势和劣势1. 优势:可以提高数据检索的效率,降低
2020-07-03 17:51:38 113
原创 9. 更新语句执行流程
前面我们系统了解了一个查询语句的执行流程,并介绍了执行过程中涉及的处理模块。相信你还记得,一条查询语句的执行过程一般是经过连接器、分析器、优化器、执行器等功能模块,最后到达存储引擎。那么,一条更新语句的执行流程又是怎样的呢?从一个表的一条更新语句说起,下面是这个表的创建语句,这个表有一个主键 ID 和一个整型字段 c:mysql> create table T(ID int primary key, c int);如果要将 ID=2 这一行的值加 1,SQL 语句就会这么写:mysql
2020-07-03 17:32:28 122
原创 4. MySQL语法:DQL
准备工作# 商品表create table product( pid int primary key auto_increment, # 自增加 pname varchar(20), # 商品名称 price double, # 商品价格 pdate date, # 日期 cid int # 分类ID);# 目录表create table category( id int primary key, cname varchar(100));INSERT INTO product
2020-07-02 19:13:46 126
原创 MySQL文章概览
基础篇linux安装、配置及卸载MySQLMySQL基本语法一:DDLMySQL基本语法二:DMLMySQL基本语法三:DQLSQL解析顺序表与表之间的关系
2020-07-02 17:40:34 126
原创 8. MySQL物理结构
mysql是通过文件系统对数据和索引进行存储的。mysql从物理结构上可以分为日志文件和数据索引文件。mysql在linux中的数据索引文件和日志文件都在/var/lib/mysql目录下。日志文件(顺序IO)mysql通过日志记录了数据库操作信息和错误信息。常用的日志文件包括***错误日志、二进制日志、查询日志、慢查询日志和事务Redo日志、中继日志***等。可以通过命令查看当前数...
2019-06-28 08:20:20 450
原创 linux安装jenkins并进行配置
安装jenkins安装tomcat从官网下载jenkins.war包,放到tomcat的webapps目录下scp jenkins.war root@ip地址:/要存放的位置启动tomcat,可以在本地访问 ip:8080/jenkins(记得关闭防火墙或者开放端口)进入主页,要求解锁jenkins,页面会给出提示一串地址more /root/.jenkins/secre...
2019-06-26 23:18:17 181
原创 6、mysql逻辑架构
逻辑架构图Connectors连接器,指的是不同语言中与SQL的交互Management Serveices & Utilities系统管理和控制工具Connection Pool:连接池管理缓冲用户连接,线程处理等需要缓存的需求。负责监听对mysql服务器的各种请求,接收连接请求,转发所有连接请求到线程管理模块。每一个连接上mysql服务器的客户端请求都会被分配(或创建...
2019-06-24 19:54:05 128
原创 5. MySQL 解析顺序
mysql语法顺序SELECT DISTINCT < select_list >FROM < left_table > < join_type >JOIN < right_table > ON < join_condition >WHERE < where_condition >GROUP B...
2019-06-22 00:39:17 286
原创 3. MySQL语法:DML
DQL语句(查询)准备工作:创建表,插入数据#商品表CREATE TABLE product ( pid INT PRIMARY KEY AUTO_INCREMENT, # 自增加 AUTO_INCREMENT pname VARCHAR(20),#商品名称 price DOUBLE, #商品价格 pdate DATE, # 日期 cid int #分类ID);#目...
2019-06-22 00:15:31 202
原创 2. MySQL语法:DDL
DDL语句数据库操作 database创建数据库create database 数据库名;create database 数据库名 character set utf8;查看数据库查看数据库服务器中所有的数据库show databases;查看某个数据库的定义的信息show create database 数据库名;删除数据库(慎用)drop database 数据库名...
2019-06-20 20:09:18 133
原创 1. MySQL 5.6 的安装与卸载
安装mysql#下载rpm文件wget http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm#执行rpm源文件rpm -ivh mysql-community-release-el6-5.noarch.rpm#执行安装文件yum install mysql-community-server启动mysqlsys...
2019-06-20 19:33:19 288
原创 多线程一、基础API
继承Thread类创建线程public class MyThread extends Thread{ @Override public void run(){ super.run(); System.out.println("MyThread"); } public static void main(String[] args){ MyThread myThread =...
2019-04-21 03:17:33 108
原创 RocketMQ安装及验证
1.下载http://mirrors.tuna.tsinghua.edu.cn/apache/rocketmq/4.4.0/rocketmq-all-4.4.0-source-release.zip2.依赖系统:Linux、Unix、MAC、(Winodws不兼容)JDK 1.8Maven 3.2.XGit3.安装unzip rocketmq-all-4.4.0-source-...
2019-04-11 15:44:53 3435
原创 linux 安装 rabbitmq
1.安装erlang依赖rpm -Uvh http://download.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-8.noarch.rpmyum install erlang2.下载rpm文件wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbi...
2019-03-21 13:45:59 100
原创 linux安装sonarqube
linux安装sonar需要有mysql和jdk的支持,mysql可以连接远程的1.下载sonar,并将下载的压缩包上传至服务器https://www.sonarqube.org/2.安装unzip并解压sonar,移动到/usr/local## 下载unzipyum install unzip## 解压sonar压缩包unzip sonarqube-6.7.4.zip## 移动...
2019-03-15 21:50:31 498
原创 linux安装maven
1.下载maven安装包2.将maven安装包上传到linux服务器3.解压安装包tar -zxvf apache-maven-3.5.3-bin.tar.gz -C /usr/local/4.配置maven环境变量vim /etc/profile在最下面,按i进入insert模式,添加以下内容MAVEN_HOME=/usr/local/apache-maven-3.5.3exp...
2019-03-14 20:30:08 249
原创 linux安装jdk1.8
1.下载jdk1.82.将下载好的jdk上传到linux服务器3.解压jdk安装包tar -zxvf jdk-8u91-linux-x64.tar.gz -C /usr/local/4.配置环境变量vim /etc/profile在最下面,按i进入insert模式,添加以下内容JAVA_HOME=/usr/local/jdk1.8.0_91export JAVA_HOMECLA...
2019-03-14 20:20:06 92
原创 linux安装tomcat
1.在windows下下载tomcat安装包http://tomcat.apache.org/download-90.cgi2.将安装包上传到linux服务器中3.添加tomcat用户并设置密码useradd tomcatpasswd tomcat 4.将tomcat解压到相应位置tar -zxvf apache-tomcat-9.0.8.tar,gz -C /usr/local...
2019-03-14 19:57:04 89
原创 SpringBoot系列十二、整合模版引擎freemarker
一、添加freemarker相关依赖pom文件中添加以下依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId>&...
2019-01-27 18:30:56 226
原创 SpringBoot系列十一、部署war包到tomcat
一、更改maven打包方式<packaging>war</packaging>二、更改项目名称并加入maven打包工具<build> <finalName>springboot-tomcat</finalName> <plugins> <plugin>
2019-01-21 21:21:21 107
原创 SpringBoot系列十、异常处理及自定义异常
一、设置全局异常处理测试类:@RestControllerpublic class TestController { @GetMapping(value = "/v1/test_exception") public Object hello(){ int i = 1/0; return "Hello World!"; }}当启动项...
2019-01-21 00:22:00 137
原创 SpringBoot系列九、SpringBoot单元测试
一、使用junit进行单元测试@RunWith(SpringRunner.class)@SpringBootTest(classes = {SpringbootTestsApplication.class})public class SpringBootTestDemo { @Test public void testOne(){ System.out.pri...
2019-01-20 23:05:27 148
原创 SpringBoot系列八、文件上传
一、创建上传页面upload.html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body&g
2019-01-20 21:40:36 122
原创 SpringBoot系列七、静态资源文件配置
一、目录介绍:src/main/java:存放代码src/main/resourcesstatic:存放静态文件,比如 css、js、imagetemplates:存放静态页面,比如jsp、html、tplconfig:存放配置文件,application.properties二、同个文件的加载顺序(静态资源文件)SpringBoot默认会挨个从META/resource>&g...
2019-01-19 22:55:54 187
原创 SpringBoot系列六、常用json框架介绍和Jackson返回结果处理
一、常用json框架介绍常用框架 阿里 fastjson,谷歌gson等JavaBean序列化为Json,性能:Jackson > FastJson > Gson > Json-lib 同个结构Jackson、FastJson、Gson类库各有优点,各有自己的专长空间换时间,时间换空间二、测试Jackson返回结果处理创建springboot项目,添加web依赖,和h...
2019-01-19 17:53:01 239
原创 SpringBoot系列五、Http协议开发
一、创建SpringBoot项目,添加web依赖pom文件如下:&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XM
2019-01-19 17:12:02 670
原创 activiti 初体验
一、准备环境jdk 1.8tomcat 8.5activiti-6.0.0.zip二、环境部署将activiti-6.0.0.zip解压,打开wars文件夹,将activiti-admin.war和activiti-app.war复制到tomcat路径下的webapps中,启动tomcat打开网页http://localhost:8080/activiti-app初始账户名:adm...
2019-01-15 13:46:47 144
原创 gitlab安装
在防火墙里开放http和ssh端口yum install lokkityum install curl opensh-server openssh-clients postfix cronie -yservice postfix startchkconfig postfix onlokkit -s http -s ssh添加gitlab仓库,并安装crul -sS http://p...
2018-12-27 23:06:18 105
原创 SpringBoot系列四、SpringBoot常用注解介绍
1.@RestController@RestController = @Controller + @ResponseBody@ResponseBody主要用于返回一个Json字符串,可以将其他类型转换成Json类型来输出。@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Controller...
2018-12-03 23:50:53 152
原创 SpringBoot系列三、使用工具自动创建Web项目
使用工具自动创建基于Maven的Web项目打开网页:https://start.spring.io/填写相应的信息,点击Generate Project,会下载生成的项目。选择Maven Project,选择SpringBoot的版本,这里选择的是最新的版本,填写Group和Artifact(或者使用默认的),添加需要的依赖,这里只选择了一个最基础的web依赖,各位可以根据自己的需要来添...
2018-12-03 22:19:43 192
原创 SpringBoot系列二、手工搭建SpringBoot项目
Eclipse使用Maven搭建SpringBoot项目1.使用Eclipse创建Maven项目,点击next2.勾选Create a Simple project,点击next3.填写Group Id和Artifact Id,点击Finish4.现在Maven项目创建完成,修改pom文件,在pom文件中添加SpringBoot相关依赖 <parent> <gro...
2018-12-02 21:21:37 389
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人