自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 资源 (6)
  • 收藏
  • 关注

原创 git rebase操作

git rebase 算是git里的高级操作了,他主要用来解决两种情况。有时候我们对于一个简单的需求提交了多次,这样非常不利于code review,所以我们需要将多次提交合并成一次提交。(即多次commit合并成一次commit)你从master创建一个分支开发,然后你的同事又从master创建一个分支开发,但是他比你先提交,所以远程的master分支比你的本地master走的远,所以现在...

2019-07-04 00:03:50 4734

原创 MySQL优化查询

1. 分析查询语句通过对查询语句的分析,可以了解查询语句的执行情况,找出查询语句执行的瓶颈,从而优化查询语句。MySql提供列EXPLAIN语句和DESCRIBE语句,用来分析查询语句。EXPLAIN语法:EXPLAIN [EXTENDED] SELECT select_options;使用EXTENDED可以使EXPLAIN的查询结果包含附加信息。下面对EXPLAI...

2019-04-15 23:30:59 486

原创 Docker入门

什么是dockerdocker的思想 集装箱:将我们的程序放到集装箱,然后通过集装箱整体部署项目,减少重复配置 标准化:运输方式(开发环境->码头->测试或服务器) 存储方式(不需要关心应用存储的地址,通过命令就可以启动和停止服务) API接口(通过接口控制应用) 隔 离:与...

2019-03-17 22:34:01 372

原创 外部排序

当数据量特别大时,大到不可以一次性放入到内存中时,如果我们要对数据排序,那么就要使用外部排序,主要分为两个阶段1.将数据拆分成我们可以使用内部排序来排序的大小,比如10000,然后将结果写入到临时文件中                                                      2.使用归并排序的思想,将各个临时文件合并成一个代码实现:首先创建数据:...

2018-12-17 23:46:40 992

原创 elasticsearch搭建集群

1.先在本地解压多个(我这里三个)elasticsearch,其中1为主节点,其他为从节点2.配置主节点的yml# 集群的名字,免得跟别人的集群混在一起cluster.name: gqm# 换个节点名字node.name: node-001# 修改一下ES的监听地址,这样别的机器也可以访问network.host: 0.0.0.0# 默认的就好http.po...

2018-12-12 22:39:43 439

原创 MySQL索引

索引用于快速找出在某个列中有一特定值得行。不使用索引,MySQL必须从第1条记录开始读完整的表,直到找到相关行。表越大查询数据所花费的时间越多。如果表中查询列有一个索引MySQL能快速到达某个位置去搜寻数据文件而不必查看所有数据。索引是对数据库表中一列或多列的值进行排序的一种结构它们包含着对数据表里所有记录的引用指针。索引是在存储引擎中实现的,因此,每种存储引擎的索引都不一定完全相同并且每...

2018-11-18 20:37:05 493

原创 eclipse解决git本地与远程仓库冲突

初次接触到git,其他的操作都还好就是在解决冲突的时候,遇到了一些问题,网上找了好多,都感觉不是很明确。经过多次实验,终于搞明白了解决冲突的步骤,特此记录一下。1.首先我新建了一个空文本文件,然后push到远程仓库。这个时候远程仓库和本地仓库是同步的         2.我分别在本地和浏览器上对这个文本文件进行写操作    3.这个时候,test.txt在本地仓库和远程...

2018-11-10 23:23:12 5339 4

原创 elasticsearch的简单使用

一.基本概念索引:含有相同属性的文档的集合 (数据库名)类型:索引可以定义一个或多个类型文档必须属于类型 (数据库表)文档:是可以被索引的基本数据单位 (数据库记录) 分片:每个索引都有多个分片每个分片是一个Lucene索引备份:拷贝一份分片就完成列分片的备份 二.简单使用API基本格式:http://<ip>:<port>/<索引...

2018-11-04 17:56:23 531

原创 windows下安装elasticsearch-6.4.2和elasticsearch-head插件

ElasticSearch下载地址:https://www.elastic.co/cn/downloads/elasticsearch1.配置elasticsearch修改一下es使用的参数。编辑config/elasticsearch.yml:# 换个集群的名字,免得跟别人的集群混在一起cluster.name: gqm# 换个节点名字node.name: node-00...

2018-11-04 09:18:56 2270

原创 MySQL的一些函数

函数表示对输入参数值返回一个具有特定关系的值,MySQL提供了大量丰富的函数,在进行数据库管理以及数据的查询和操作时将会经常用到个种函数。通过对数据的处理,数据库功能变得更加强大,更加灵活得满足不同用户的需求。数学函数    1.绝对值函数ABS(X)、    2.返回圆周率函数PI()默认为小数点后六位、    3.平方根函数SQRT(X)、    4.求余函数MOD(X,Y)、...

2018-10-07 20:00:35 574

原创 MySQL运算符

运算符是告诉MySQL执行特定算数或逻辑操作的符号。MySQL的内部运算很丰富,主要有四大类,分别是:算数运算符、比较运算符、逻辑运算符、位操作运算符算数运算符算数运算符用于各类数值运算,包括加(+)、减(-)、乘(*)、除(/)、求余(%)比较运算符比较运算符的结果总是1、0或NULL,比较运算符经常在select的查询条件子句中使用,用来查询满足指定条件的记录。1.等于运算符...

2018-10-04 21:48:14 739

原创 MySQL数据类型

整数类型浮点数类型和定点数类型日期与时间类型文本字符串类型CHAR和VARCHAR类型:    CHAR(M)为固定长度字符串,在定义时指定字符串长度。当保存时在右侧填充空格以达到指定长度。当检索CHAR值时,尾部的空格将被删除。    VARCHAR(M)是长度可变的字符串,M表示最大长度。它的最大实际长度由最长的行和使用的字符集确定,而实际占用的空间为字符串...

2018-10-02 21:35:00 683

原创 MySQL创建语句和修改语句

创建表1.创建表的语法规则:    create table <表名> (        字段名1 数据类型 [列级别约束条件] [默认值],        字段名2 数据类型 [列级别约束条件] [默认值],        ......        [表级别约束条件]    );    使用create table 创建表时,必须指定以下信息:要创建表的名称。不区...

2018-10-01 20:54:31 1968

原创 MySQL存储引擎

   数据库存储引擎是数据库底层软件组件,数据库管理系统(DBMS)使用存储引擎进行创建、查询、更新和删除数据操作。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以获得特定的功能。现在许多的数据库管理系统都支持多种不同的存储引擎。MySQL的核心就是存储引擎。使用 show engines 命令查看MySQL支持的存储引擎(下面是MYSQL 5.7支持的存...

2018-09-30 22:03:34 1318

原创 非递归中序遍历二叉树

我们经常会使用递归的方法去遍历一棵二叉树,这个实现起来也非常简单,但要使用非递归去遍历二叉树还是需要一些编程技巧的。我们很容易想到了使用栈去处理,下面是具体实现import java.util.Stack;public class Test { public static void main(String[] args) { TreeNode root = new TreeNod...

2018-09-17 22:44:40 3810

原创 MySQL8.0.11源码分析之mysql关键函数和执行流程

mysql是命令行客户端程序 ,交互式输入SQL语句或从文件以批处理模式执行它们的命令行工具。入口函数int main(int argc, char *argv[]) { if (get_options(argc, (char **)argv)) { //获取密码 my_end(0); return EXIT_FAILURE; } ...

2018-09-11 09:05:49 1361

原创 MySQL8.0.11源码分析之mysqld关键函数和执行流程

mysqld是SQL后台程序(即MySQL服务器)。要想使用客户端程序,该程序必须运行,因为客户端通过连接服务器来访问数据库。//Linux下入口函数int mysqld_main(int argc, char **argv){ ...... //初始化操作 //循环连接 mysqld_socket_acceptor->connection_event...

2018-09-09 00:00:02 1658

原创 字符串的排列与组合

在做编程题时经常遇到字符串的排列与组合问题,特此总结一下1.字符的全排列(无重复字符) /** * 字符串的全排列,无重复字符 * @param list 字符数组 * @param n 当前交换的位置(初始为0) */ public static void permute(char[] list,int n){ if(n==list.length){ ...

2018-09-07 16:38:13 1210

原创 Linux常用命令

将文件test.txt重命名为wbk.txt:$ mv test.txt wbk.txt使用得最多的压缩格式:# tar -zcvf archive_name.tar.gz directory_to_compress解压:# tar -zxvf archive_name.tar.gz解压到:# tar -zcvf archive_name.tar.gz -C /tmp/extract_he...

2018-09-05 15:14:55 888

原创 java final关键字详解

由于语境(应用环境)不同,final 关键字的含义可能会稍微产生一些差异。但它最一般的意思就是声明“这个东西不能改变”。之所以要禁止改变,可能是考虑到两方面的因素:设计或效率。由于这两个原因颇有些区别,所以也许会造成final 关键字的误用。我们将讨论final 关键字的三种应用场合:数据、方法以及类。一.final 数据许多程序设计语言都有自己的办法告诉编译器某个数据是“常数”。常数主要应...

2018-08-10 20:07:08 2294

原创 Java方法重载

1. 区分过载方法若方法有同样的名字,Java 怎样知道我们指的哪一个方法呢?这里有一个简单的规则:每个过载的方法都必须采取独一无二的参数列表。2. 基本数据类型的过载若我们的实参范围比型参窄,则能从一个“较小”的类型自动转变成一个“较大”的类型。若我们的实参范围比型参宽,就必须用括号将其转为适当的类型。如果不这样做,编译器会报告出错。3. 返回值过载(为什么不可以)因为我们也可能调...

2018-08-04 20:10:16 2400

原创 JAVA 异常详解

1.引言在java中,异常会导致运行时错误。异常就是一个表示阻止程序正常执行的错误或情况。如果异常没有被处理,那么程序将会非正常终止。一个简单的例子是“除法”。如可能被零除,就有必要进行检查,确保程序不会冒进,并在那种情况下执行除法。但具体通过什么知道分母是零呢?在那个特定的方法里,在我们试图解决的那个问题的环境中,我们或许知道该如何对待一个零分母。但假如它是一个没有预料到的值,就不能对其进行...

2018-08-02 19:55:25 1414

转载 Java IO

一、java io 概述1.1 相关概念Java IOJava IO即Java 输入输出系统。不管我们编写何种应用,都难免和各种输入输出相关的媒介打交道,其实和媒介进行IO的过程是十分复杂的,这要考虑的因素特别多,比如我们要考虑和哪种媒介进行IO(文件、控制台、网络),我们还要考虑具体和它们的通信方式(顺序、随机、二进制、按字符、按字、按行等等)。Java类库的设计者通过设计大量的类来...

2018-07-30 10:58:47 634

转载 Java NIO 详解(二)

原文链接:https://blog.csdn.net/suifeng3051/article/details/48441629上一篇文章中介绍了关于标准输入输出NIO相关知识, 本篇将重点介绍基于网络编程NIO(异步IO)。异步IO异步 I/O 是一种没有阻塞地读写数据的方法。通常,在代码进行 read() 调用时,代码会阻塞直至有可供读取的数据。同样, write()调用将会阻塞直至...

2018-07-30 10:13:53 598

转载 Java NIO 详解(一)

一、基本概念1.1 I/O简介I/O即输入输出,是计算机与外界世界的一个借口。IO操作的实际主题是操作系统。在java编程中,一般使用流的方式来处理IO,所有的IO都被视作是单个字节的移动,通过stream对象一次移动一个字节。流IO负责把对象转换为字节,然后再转换为对象。1.2 什么是NIONIO即New IO,这个库是在JDK1.4中才引入的。NIO和IO有相同的作用和目的,但...

2018-07-30 09:41:29 613

原创 CentOS 7下编译mysql-8.0.11源码

1、去官网下载源码并解压到/usr/local下  地址https://dev.mysql.com/downloads/mysql/2、安装依赖 yum  -y install wget  cmake gcc gcc-c++ ncurses  ncurses-devel  libaio-devel openssl openssl-devel3、下载boost_1_66_0,并解压到...

2018-07-20 09:35:08 1128

原创 数据结构之不相交集

不相交集(并查集)是解决等价问题的一种有效数据结构。这种数据结构实现起来简单,每个例程只需要几行代码,而且可以使用一个简单的数组实现。  等价关系  若对于每一对元素(a,b),a,b属于集合S,aRb或为true或为false,则称在集合S上定义关系R,如果aRb是true,那么我们说a与b有关系  等价关系是满足下列三个性质的关系R:     1.(自反性)对于所有a属于S,aRa;     ...

2018-07-09 00:13:02 1653

原创 几种排序算法的实现

常见排序算法的c语音实现头文件sort.h#ifndef SORT_H_#define SORT_H_typedef int ElemetType;//插入排序void insertSort(ElemetType list[],int n);//希尔排序void shellSort(ElemetType list[],int n);//堆排序void heapSo...

2018-07-03 01:33:02 590

原创 数据结构之散列

    散列是一种以常数平均时间执行插入、删除和查找的技术。理想的散列表数据结构只不过是一个包含有关键字的具有固定大小的数组。典型情况下,一个关键字就是一个带有相关值得字符串。我们把表的大小记作tableSize。每个关键字经过散列函数都会被映射到0到tableSize-1范围内。通常是保证表的大小为素数。如果不同的关键字映射到了相同的值,这时候就会产生冲突。解决冲突的方法有分离链接法和开放定址法...

2018-06-19 23:53:33 647

原创 数据结构之二叉平衡树

二叉平衡树(AVL树),是带有平衡条件的二叉树查找树,这个平衡条件必须要容易保持,且必须保证树的深度是O(logN).。这里的平衡条件是左右子树高度差最多差1的二查找树。如果插入一个节点后破坏了平衡条件,那么就要做一些操作去恢复AVL树, 这里的操作一般称为旋转。第一种情况是插入的节点在外面,即(左-左或右-右)、另一种是节点插在里面,即(左-右或右-左), 对于第一种情况我们采用单旋转,第二种采...

2018-06-16 00:22:07 2334

原创 数据结构之根据前序遍历和中序遍历构建二叉树

思路:先在前序序列找到根节点,然后根据根节点在中序序列找到左子树和右子树,这样便可采用递归去构建左、右子树上代码头文件application.hstruct Node;typedef struct Node *ptrToNode;typedef struct Node *BinaryTree;typedef int ElementType;//根据前序遍历和中序遍历构建二叉树Binar...

2018-06-14 00:14:12 961

原创 数据结构之二叉搜索树

二叉搜索树又叫二叉查找树,一个重要应用是他们在查找中的使用。对于二叉搜索树要求对于每个节点X,左子树中所有节点的关键字要小于X的关键字,右子树中所有节点的关键字要大于X的关键字。所以对于二叉搜索树的中序遍历正好是各个元素从小到大的排序。代码实现头文件 "bst.h"typedef int ElementType;struct Node;typedef struct Node *ptrToNod...

2018-06-10 01:01:40 593

原创 数据结构之队列实现

队列是一种特殊的表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的表。进行插入操作的端称为队尾,进行删除操作的端称为队头队列的实现同栈一样,都可以通过链表和线性表实现。下面是链表实现的队列头文件queue.hstruct Node;typedef int Element;typedef struct Node *...

2018-06-02 00:28:09 918 1

原创 中缀表达式转后缀表达式

后缀表达式又称逆波兰表达式,指的是不包含括号,运算符放在两个运算对象的后面,所有的计算按运算符出现的顺序,严格从左向右进行(不再考虑运算符的优先规则)#include <stdio.h>#include "stack.h" //点击查看栈的创建int compare(char a,char b);void centerToBack(char array[]);int ...

2018-05-29 00:09:04 653

原创 数据结构之栈的实现

定义栈是限制插入和删除只能在一个位置的上进行的表(→叫做后进先出表),该位置是表的末端,叫做栈顶。对栈的基本操作是push(入栈)和pop(出栈),前者是插入元素到栈顶,后者是将栈顶元素删除栈的应用1.平衡符号:编译器检查程序的语法错误,看看一些符号是否匹配如“([])”是匹配的,而“[(])”是不匹配的2.计算后缀表达式:在输入表达式过程中,遇到操作数就入栈,遇到操作符就从栈中弹出两个操作数进行...

2018-05-24 23:42:09 11984 1

原创 数据结构之链表实现

抽象数据类型(ADT)表有顺序表和链表两种,顺序表可以通过使用数组来实现,链表则是由一系列不必在内存中相连的节点组成。每个节点均含有表元素以及指向后继节点的指针,我们称其为next指针。下面是单链表的c语言实现头文件 linklist.hstruct Node;typedef int Element;typedef struct Node *ptrToNode;//创建链表ptrToN...

2018-05-22 22:06:21 518 1

基于java socket网络编程实现的五子棋游戏,可多人在线玩耍

基于java socket网络编程实现的五子棋游戏,可多人在线玩耍。下载后,把源码复制到项目,便可直接编译运行

2018-06-15

基于java socket网络编程实现的简单模拟qq聊天的程序,可实现并发聊天

基于java socket网络编程实现的简单模拟qq聊天的程序,可实现并发聊天,分为服务器和客户端两个部分

2018-06-10

java mysql驱动

java mysql驱动,版本为mysql-connector-java-5.1.40-bin

2018-04-03

基于jsp+servlet+javabean的java web开发

基于jsp+servlet+javabean的java web开发,是一个简单的小练习

2018-01-16

struts1.3 jar包

antlr.jar commons-beanutils.jar commons-digester.jar commons-fileupload.jar commons-validator.jar freemarker-2.3.8.jar jakarta-oro.jar jstl.jar ognl-2.6.11.jar standard.jar struts.jar xalan

2017-10-22

计算机程序设计艺术

计算机程序设计艺术,看了之后,会使你的代码更加优美

2017-10-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除