自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序带给我们的思考

Java软件开发程序员

  • 博客(34)
  • 收藏
  • 关注

原创 SpringBoot2整合MyBatis实现读写分离

一、CentOS7搭建MariaDB主从环境 CentOS7搭建MariaDB主从二、新建SpringBoot项目目录结构如下:三、pom.xml文件如下<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmln...

2019-11-02 23:11:54 706

原创 CentOS7安装MariaDB数据库,主从搭建

一、删除之前的MySQL/MariaDBrpm -qa | grep MariaDBrpm -e --nodeps MariaDB-*rpm -qa | grep mysql yum remove mysql mysql-server mysql-libs compat-mysql51#如果删不掉,就一个一个删二、两台机器分别安装MariaDB机器:192.168.174....

2019-11-01 23:34:02 326

原创 CentOS7安装之后的配置

一、配置静态IPvim /etc/sysconfig/network-scripts/ifcfg-ens33修改点:BOOTPROTO=staticONBOOT=yes#新增以下IPADDR=192.168.2.144NETMASK=255.255.255.0GATEWAY=192.168.2.254DNS1=8.8.8.8重启网络service netwo...

2019-11-01 22:57:42 307

原创 数据结构与算法(Java描述)-20、图、图的邻接矩阵、有向图的广度优先遍历与深度优先遍历

一、图的基本概念图:是由结点集合及结点间的关系集合组成的一种数据结构。结点和边:图中的顶点称作结点,图中的第i个结点记做vi。有向图: 在有向图中,结点对<x ,y>是有序的,结点对<x,y>称为从结点x到结点y的一条有向边,因此,<x,y>与<y,x>是两条不同的边。有向图中的结点对<x,y>用一对尖括号括起来,x是有向边的始点,y是有向边的终点,有向图中的边也称作弧。无向图 :在无向图中,结点...

2018-07-14 15:22:58 4435

原创 数据结构与算法(Java描述)-19、哈夫曼树、哈夫曼编码算法

一、哈夫曼树的基本概念在一棵二叉树中,定义从A结点到B结点所经过的分支序列叫做从A结点到B结点的路径。从A结点到B结点所经过的分支个数叫做从A结点到B结点的路径长度从二叉树的根结点到二叉树中所有叶结点的路径长度之和称作该二叉树的路径长度。如果二叉树中的叶结点都带有权值,我们可以把这个定义加以推广。设二叉树有n个带权值的叶结点,定义从二叉树的根结点到二叉树中所有叶结点的路径长度与相应叶结点权值的乘积...

2018-07-13 23:59:07 1287

原创 MySQL导入sql文件,过大导致错误(2006 - MySQL server has gone away)

今天从MySQL导入sql文件的时候发现出现错误,查看日志发现报2006 - MySQL server has gone away 错误,出现这个的原因一般是传送的数据过大,解决的办法是:查看通信缓冲区的最大长度:show global variables like 'max_allowed_packet';默认最大是1M,可以修改通信缓冲区的最大长度,修改为16M:set global max_...

2018-07-13 09:52:49 8646

转载 从输入URL到页面加载发生了什么

最近在进行前端面试方面的一些准备,看了网上许多相关的文章,发现有一个问题始终绕不开: 在浏览器中输入URL到整个页面显示在用户面前时这个过程中到底发生了什么。仔细思考这个问题,发现确实很深,这个过程涉及到的东西很多。这个问题的回答真的能够很好的考验一个web工程师的水平,于是我自问自答一番。总体来说分为以下几个过程:DNS解析TCP连接发送HTTP请求服务器处理请求并返回HTTP报文浏览器解析渲染...

2018-07-12 23:05:03 177

原创 数据结构与算法(Java描述)-18、树,二叉树以及二叉树的遍历,翻转二叉树

一、树的概念树是由n(n≥0)个结点构成的满足以下条件的结点集合:(1)当n&gt;0时,有一个特殊的结点称为根结点,根结点没有前驱结点;(2)当n&gt;1时,除根结点外的其他结点被分成m(m&gt;0)个互不相交的集合T1,T2,…, Tm,其中每一个集合Ti(1≤i≤m)本身又是一棵结构和树结构类同的子树。结点:结点由数据元素和构造数据元素之间关系的指针组成。 结点的度:结点所拥有的子树的个...

2018-07-12 20:42:31 234

原创 Linux redis5.0 集群版的搭建

一、下载redis5.0wgethttp://download.redis.io/releases/redis-5.0.0.tar.gz二、解压、编译#解压tar -zxvf redis-5.0.0.tar.gz -C /usr/local/#编译cd /usr/local/redis-5.0.0make & make install PREFIX=/usr/lo...

2018-07-09 17:00:25 1346

原创 MySQL执行计划详解(图示每一列的含义)

一、执行计划是什么?执行计划,简单的来说,是SQL在数据库中执行时的表现情况,通常用于SQL性能分析,优化等场景。在MySQL中使用 explain 关键字来查看二、Explain 语法EXPLAIN SELECT ......三、解读MySQL执行计划EXPLAINSELECT * FROM tb_blog tbLEFT JOIN tb_user tu ON tb.userId = tu....

2018-07-09 14:02:04 734

原创 Windows安装MySQL5.7

一、下载mysql-5.7.19-winx64.zip 并解压到d:\盘下二、在D:\mysql-5.7.16-winx64\ 下新建my.ini 文件,文件内容:[client]port=3306[mysql]default-character-set=utf8[mysqld]port=3306basedir = D:\mysql-5.7.19-winx64d...

2018-07-04 15:32:18 199

原创 Linux源码安装MySQL5.7,修改编码,给root设置远程访问权限

使用源码安装MySQL 5.7,并且修改编码为UTF-8,给root账户授权,使其能远程访问一、上传mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz二、解压至/usr/local/下tar -zxvf mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz -C /usr/local/三、改名mv mysql-...

2018-07-04 15:23:44 382

原创 Linux源码安装jdk,配置环境变量

一、  上传jdk至/usr/local/software,解压至/usr/local    tar -zxvf/usr/local/software/jdk-8u151-linux-x64.tar.gz -C /usr/local/ 二、  配置环境变量    vim /etc/profile    最后面加入:    export PATH=$PATH:/usr/local/jdk1.8.0_...

2018-07-04 15:10:41 326

原创 MySQL存储过程中的游标的使用以及双层游标嵌套循环实例

一、游标简介1、游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。2、游标充当指针的作用3、尽管游标能遍历结果中的所有行,但他一次只指向一行。4、游标的作用就是用于对查询数据库所返回的记录进行遍历,以便进行相应的操作二、游标使用1、声明游标declare cur_name CURSOR for table; ...

2018-07-04 14:52:48 14387 3

原创 阿里云OSS(对象存储服务)简介

最近公司想要使用阿里云OSS来存储精准客流图片,所以提前熟悉一下,做一个记录注:阿里云官方文档已经很详细的阐述了OSS、以及开发流程,本文大多都是参考官方文档OSS官方介绍地址:https://help.aliyun.com/document_detail/31947.html阿里云对象存储服务(Object Storage Service,简称OSS),是阿里云对外提供的海量、安全、低成本、高可...

2018-06-15 11:13:24 31580 2

转载 IntelliJ IEDA 常用快捷键介绍

IntelliJ Idea 常用快捷键列表Ctrl+Shift + Enter,语句完成“!”,否定完成,输入表达式时按 “!”键Ctrl+E,最近的文件Ctrl+Shift+E,最近更改的文件Shift+Click,可以关闭文件Ctrl+[ OR ],可以跑到大括号的开头与结尾Ctrl+F12,可以显示当前文件的结构Ctrl+F7,可以查询当前元素在当前文件中的引用,然后按 F3 可以选择Ctr...

2018-06-14 16:01:02 688 1

原创 IntelliJ IDEA中自定义类、方法注释

我们在开发项目的时候会要求加入代码注释,所以需要自定义注释模板,下面提供类、方法的自定义注释一、在类上加入注释模板,Ctrl+Alt+S 打开Settings,选择Editor--&gt;File and Code Templates--&gt;Class ,如下图类注释模板:/*** @Description:* @Author: Author * @CreateDate: ${DATE}...

2018-06-14 15:45:56 1049

原创 数据结构与算法(Java描述)-17、递归转化成非递归算法以及迷宫算法

一、递归算法的效率分析我们以斐波那契数列递归函数的执行效率为例来讨论递归算法的执行效率问题。斐波那契数列Fib(n)的递推定义是:fib(5)的递归调用树:二、递归算法转换为非递归算法一般来说,如下两种情况的递归算法可转化为非递归算法:(1)存在不借助堆栈的循环结构的非递归算法,如阶乘计算问题、斐波那契数列的计算问题、折半查找问题等(2)

2017-10-26 20:48:35 728

原创 数据结构与算法(Java描述)-16、递归算法及其应用

一、递归的概念若一个算法直接地或间接地调用自己本身,则称这个算法是递归算法。问题的定义是递归的  例如:阶乘函数的定义                 1               当n=1时       n! =                   n*(n-1)!        当n>1时递归算法的设计方法:适宜于用递归算法求解的问题的充分必要条件

2017-10-26 17:49:04 225

原创 数据结构与算法(Java描述)-15、稀疏矩阵以及稀疏矩阵的三元组实现

一、稀疏矩阵对一个m×n的矩阵,设s为矩阵元素个数的总和,有s=m*n,设t为矩阵中非零元素个数的总和,满足t<<s的矩阵称作稀疏矩阵。符号“<<”读作小于小于。简单说,稀疏矩阵就是非零元素个数远远小于元素个数的矩阵。相对于稀疏矩阵来说,一个不稀疏的矩阵也称作稠密矩阵。 二、稀疏矩阵的压缩存储稀疏矩阵的压缩存储方法,是只存储矩阵中的非零元素。稀疏矩阵中每个非零元素及

2017-10-24 12:43:52 4773 1

原创 数据结构与算法(Java描述)-14、矩阵类以及对称矩阵的压缩算法

一、矩阵类矩阵是工程设计中经常使用的数学工具。 矩阵的运算主要有矩阵加、矩阵减、矩阵乘、矩阵转置、矩阵求逆等。矩阵用两维数组处理最为方便。 二维数组存储结构。 实现:import java.util.Random;//自定义矩阵类public class MyMartrix { //矩阵数组 int martrix[][]; //随机对象 R

2017-10-24 12:32:33 799

原创 数据结构与算法(Java描述)-13、对象数组以及MyVector类、MySet类实现

一、数组数组是n(n≥1)个相同数据类型的数据元素a0,a1,a2,...,an-1构成的占用一块地址连续的内存单元的有限集合。数组通常以字节为内部计数单位。对一个有n个数据元素的一维数组,设a0是下标为0的数组元素,Loc(a0)是a0的内存单元地址,k是每个数据元素所需的字节个数,则数组中任一数据元素ai的内存单元地址Loc(ai)可由下面公式求出:  Loc(ai) =

2017-10-24 11:27:44 606

原创 数据结构与算法(Java描述)-12、串的模式匹配算法(Brute-Force与KMP算法)

一、串的模式匹配操作在字符串匹配问题中,我们期待察看S串中是否含有串T(模式串)。其中串S被称为主串,串T被称为子串。如果在主串中查找到子串,则称为模式匹配成功,返回模式串的第一个字符在主串中出现的位置。如果在主串中未找到子串,则称为模式匹配失败,返回-1。Brute-Force与KMP算法是两种最经典的模式匹配算法。二、Brute-Force算法也称简单匹

2017-10-24 11:03:09 475

原创 数据结构与算法(Java描述)-11、串的基本概念以及串存储结构

一、串的基本概念串(也称作字符串)是由n(n≥0)个字符组成的有限序列。 一个串中任意个连续的字符组成的子序列称为该串的子串。 包含子串的串称为该子串的主串。一个字符在一个串中的位置序号(为大于等于0的正整数)称为该字符在串中的位置。当且仅当这两个串的值完全相等时,称这两个串相等。二、串抽象数据类型数据集合:串的数据集合可以表示为字符序列s0, s1,… , s

2017-10-23 17:10:08 607

原创 数据结构与算法(Java描述)-10、链式队列以及优先级队列的应用

一、链式队列链式存储结构的队列称作链式队列。链式队列的存储结构如下图所示二、链式队列的实现//队列接口public interface Queue { //入队 public void append(Object obj) throws Exception; //出队 public Object delete() throws Exception

2017-10-23 16:21:44 311

原创 数据结构与算法(Java描述)-9、队列以及顺序循环队列的应用

一、队列基本概念队列(简称作队,Queue)也是一种特殊的线性表,队列的数据元素以及数据元素间的逻辑关系和线性表完全相同,其差别是线性表允许在任意位置插入和删除,而队列只允许在其一端进行插入操作在其另一端进行删除操作。队列中允许进行插入操作的一端称为队尾,允许进行删除操作的一端称为队头。队列的插入操作通常称作入队列,队列的删除操作通常称作出队列。下图是一个依次向队列中插入数据元

2017-10-22 22:31:07 357

原创 数据结构与算法(Java描述)-8、中缀表达式转换后缀表达式算法

一、表达式的三种形式中缀表达式:运算符放在两个运算对象中间,如:(2+1)*3后缀表达式:不包含括号,运算符放在两个运算对象的后面,所有的计算按运算符出现的顺序,严格从左向右进行(不再考虑运算符的优先规则,如:2 1 + 3 *前缀表达式:同后缀表达式一样,不包含括号,运算符放在两个运算对象的前面,如:* + 2 1 3 二、表达式的转换将中缀表达式转换为后缀表

2017-10-22 22:18:39 306

原创 数据结构与算法(Java描述)-7、链式堆栈及其栈的应用

一、链式堆栈链式存储结构的堆栈称作链式堆栈。与单链表相同,链式堆栈也是由一个个结点组成的,每个结点由两个域组成,一个是存放数据元素的数据元素域element,另一个是存放指向下一个结点的对象引用(即指针)域next。堆栈有两端,插入数据元素和删除数据元素的一端为栈顶,另一端为栈底。链式堆栈都设计成把靠近堆栈头head的一端定义为栈顶。依次向链式堆栈入

2017-10-21 11:09:14 287

原创 数据结构与算法(Java描述)-6、栈的基本概念以及顺序栈的实现

一、堆栈的基本概念堆栈(也简称作栈)是一种特殊的线性表,堆栈的数据元素以及数据元素间的逻辑关系和线性表完全相同,其差别是线性表允许在任意位置进行插入和删除操作,而堆栈只允许在固定一端进行插入和删除操作。堆栈中允许进行插入和删除操作的一端称为栈顶,另一端称为栈底。堆栈的插入和删除操作通常称为进栈或入栈,堆栈的删除操作通常称为出栈或退栈从输入和输出数据元素的位置关系看,堆栈的功能和

2017-10-21 10:13:02 279

原创 数据结构与算法(Java描述)-5、循环链表仿真链表以及循环链表应用

一、单向循环链表单向循环链表是单链表的另一种形式,其结构特点是链表中最后一个结点的指针不再是结束标记,而是指向整个链表的第一个结点,从而使单链表形成一个环。和单链表相比,循环单链表的长处是从链尾到链头比较方便。当要处理的数据元素序列具有环型结构特点时,适合于采用循环单链表。       和单链表相同,循环单链表也有带头结点结构和不带头结点结构两种,带头结点的循环单链表实现插入和删除操作

2017-10-21 09:37:07 335

原创 数据结构与算法(Java描述)-4、单链表以及单链表的应用

一、链表类型根据链表的构造方式的不同可以分为:1.单向链表2.单向循环链表3.双向循环链表二、单链表结构单链表是构成链表的每个结点只有一个指向直接后继结点的指针。单链表的表示方法:单链表中每个结点的结构:单链表有带头结点结构和不带头结点结构两种。我们把指向单链表的指针称为单链表的头指针。头指针所指的不存放数据元素的第一个结点称作头结点。存

2017-10-20 13:56:04 272

原创 数据结构与算法(Java描述)-3、线性结构与顺序表

一、线性结构定义如果一个数据元素序列满足:(1)除第一个和最后一个数据元素外,每个数据元素只有一个前驱数据元素和一个后继数据元素;(2)第一个数据元素没有前驱数据元素;(3)最后一个数据元素没有后继数据元素。 则称这样的数据结构为线性结构。二、线性表抽象数据类型线性表抽象数据类型主要包括两个方面:即数据集合和该数据集合上的操作集合。数据集合可以表示为a0,a1,a2,...

2017-10-20 13:36:52 323

原创 数据结构与算法(Java描述)-2、算法的设计目标与性能指标

一、算法的设计目标1、正确性:满足具体问题的解,基本目标。2、可读性:有利于人去理解算法。3、健壮性:输入非法数据,能适当做出处理,不产生莫名其妙的输出。4、高效性:包括时间的高效性和空间的高效性。二、算法性能指标1、算法的时间效率也称为时间复杂度。算法的时间复杂度反映了算法执行的时间长短。度量一个算法在计算机上执行的时间通常有两种方式:(1

2017-10-19 14:48:27 1561

原创 数据结构与算法(Java描述)-1、数据结构与算法总述以及抽象数据类型

之前在学校就已经学习过数据结构,但那时都是用C语言来描述的,现在本着复习的目的,结合平时收藏的笔记,重新用Java来描述一下!一起学习,一起进步!(不是大牛,如有错误,还请指正!)一、什么是算法?算法:Algorithm,是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或者多个操作。  二、算法的特性有穷性:指令序列是有限的确定性:每条语句的含义明

2017-10-19 14:01:21 395

空空如也

空空如也

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

TA关注的人

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