自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

bobozai86的博客

生活与技术

  • 博客(26)
  • 资源 (5)
  • 问答 (6)
  • 收藏
  • 关注

转载 MySQL之分布式事务

1.分布式事务原理在MySQL中,使用分布式事务的应用程序涉及一个或多个资源管理器和一个事务管理器1> 资源管理器(RM) 用于提供通向事务资源的途径。数据库服务器是一种资源管理器。该管理器必须可以提交或回滚由RM 管理的事务。2> 事务管理器(TM)用于协调作为一个分布式事务一部分的事务。TM于管理每个事务的RMs进行通信。在一个分布式事务中,各个单个事务均是分布式事务的...

2019-10-31 14:23:05 439

转载 MyBatis中使用流式查询避免数据量过大导致OOM

本文已springboot项目为例,要实现流式查询需要完成以下几步POM文件中的配置springboot中整合mybatis<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</art...

2019-10-30 11:00:10 2733

原创 数据库并发事物存在的问题(脏读、不可重复读、幻读等)

一个数据库可能拥有多个访问客户端,这些客户端并发访问数据库时,若没有采取必要的隔离措施,存在以下问题,这些问题分为5类,包括3类数据读问题:脏读、不可重复读和幻读。两类数据更新问题:第一类丢失更新、第二类丢失更新。1、脏读A事务读取B事务尚未提交的更改数据,并在这个数据的基础上进行操作,这个时候事务B回滚,那么A事务读到的数据是不被承认的,例如常见的取款事务和转账事务:2、不可重复...

2019-10-29 22:03:18 946

转载 spring事物——try{...}catch{....}中事物不回滚的几种处理方式

当希望在某个方法中添加事务时,我们常常在方法头上添加@Transactional注解@ResponseBody @RequestMapping(value = "/payment", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE) @Transactional publ...

2019-10-29 18:52:02 358

原创 mysql delete和truncate区别

项目 delete truncate 添加where条件 可以添加 不可以添加 执行效率 略高 高 自增长列 delete删除后,插入数据的自增长 列值从断点开始 truncate删除后,插入数据的自增长 列值由1开始 返回值 执行后有返回值 执行后没有返回值 事务回滚...

2019-10-29 18:39:04 211

原创 mysql concat实现简单多字段模糊查询

背景之前对于模糊查询使用like,like只能对单字段进行检索,如果使用多字段,必须使用or拼接,这样的话索引就会失效。网上查询大家都使用concat可以进行多个字段检索。concat功能 将多个字符串连接成一个字符串语法CONCAT(str1, str2,...)注意:返回值,由全体出入参数合并在一起而得到的字符串。只要输入的参数中有NULL值,就返回NUL...

2019-10-28 19:12:54 1643

原创 摘要认证和签名认证

1、摘要认证 经由HTTP协议进行通信的数据大都是未经加密的明文,包括请求参数、返回值、cookie、head等数据,因此,外界通过对通信的监听,便可以轻而易举的根据请求头和响应双方的格式,伪造请求与响应,修改和窃取各种信息。1.1摘要认证原理 对于普通的非敏感数据,我们需要更多关注其真实性和准确性,鉴于使用HTTPS性能上的成本以及额外需要申请CA证书,...

2019-10-27 17:56:26 546

转载 MySQL索引失效

1、like是以%开头的查询语句 假如有这样一列code的值为'AAA','AAB','BAA','BAB' ,如果where code like '%AB'条件,由于前面是模糊的,所以不能利用索引的顺序,必须一个个去找,看是否满足条件。这样会导致全索引扫描或者全表扫描。如果是这样的条件where code like 'A % ',就可以查找CODE中A开头的CODE的位置,当碰到...

2019-10-23 21:25:54 136

转载 mysql 主键和唯一索引的区别

主键是一种约束,唯一索引是一种索引,两者在本质上是不同的。主键创建后一定包含一个唯一性索引,唯一性索引并不一定就是主键。唯一性索引列允许空值,而主键列不允许为空值。主键列在创建时,已经默认为非空值 + 唯一索引了。主键可以被其他表引用为外键,而唯一索引不能。一个表最多只能创建一个主键,但可以创建多个唯一索引。主键和唯一索引都可以有多列。主键更适合那些不容易更改的唯一标识...

2019-10-23 21:02:43 6030 1

转载 MyBatis insert后返回自增主键,报错org.apache.ibatis.binding.BindingException: Parameter 'id' not found

1、modelpublic class UserInfo { private int id;//主键自增ID private String userName;//姓名 private String account;//登陆账号 private String password;//密码}2、UserInfoMapper.javapublic inte...

2019-10-22 20:29:44 1056

转载 MySQl索引

索引目的 索引的目的在于提高查询效率,可以类比字典,如果要查“mysql”这个单词,我们肯定需要定位到m字母,然后从下往下找到y字母,再找到剩下的sql。如果没有索引,那么你可能需要把所有单词看一遍才能找到你想要的,如果我想找到m开头的单词呢?或者ze开头的单词呢?是不是觉得如果没有索引,这个事情根本无法完成?索引原理 除了词典,生活中随处可见索引的例子,如...

2019-10-21 23:00:42 101

转载 基本类型和包装类型的区别

1、包装类型可以为 null,而基本类型不可以别小看这一点区别,它使得包装类型可以应用于 POJO 中,而基本类型则不行。POJO 是什么呢?这里稍微说明一下。POJO 的英文全称是 Plain Ordinary Java Object,翻译一下就是,简单无规则的 Java 对象,只有属性字段以及 setter 和 getter 方法,示例如下。class Writer {...

2019-10-21 22:30:01 156

转载 SpringMVC的流程

(1)用户发送请求至前端控制器DispatcherServlet;(2) DispatcherServlet收到请求后,调用HandlerMapping处理器映射器,请求获取Handle;(3)处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet;(4)DispatcherServlet 调用 HandlerAd...

2019-10-19 14:22:01 109

转载 MySQL left join操作中on与where放置条件的区别

优先级两者放置相同条件,之所以可能会导致结果集不同,就是因为优先级。on的优先级是高于where的。首先明确两个概念:LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。 数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。在left join下,两...

2019-10-18 14:17:19 193

原创 数据库存储引擎(主要分析对比InnoDB和MyISAM)

一、存储引擎的概述(1)为什么要合理选择数据库存储引擎 MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。 这些不同的技术以及配套的相关功能在MySQL中被称作存储引擎(...

2019-10-17 11:18:23 218

原创 mysql中char与varchar的区别

在mySQL 中char 和 varchar 都是存储字符串的,区别在于char有固定的长度,而varchar属于可变长的字符类型。char(M)类型的数据列里,每个值都占用M个字节,如果某个长度小于M,MySQL就会在它的右边用空格字符补足.(在检索操作中那些填补出来的空格字符将被去掉)在varchar(M)类型的数据列里,每个值只占用刚好够用的字节再加上一个用来记录其长度的字节(即总长度为...

2019-10-17 09:36:49 3512

转载 Swagger介绍

导语: 相信无论是前端还是后端开发,都或多或少地被接口文档折磨过。前端经常抱怨后端给的接口文档与实际情况不一致。后端又觉得编写及维护接口文档会耗费不少精力,经常来不及更新。其实无论是前端调用后端,还是后端调用后端,都期望有一个好的接口文档。但是这个接口文档对于程序员来说,就跟注释一样,经常会抱怨别人写的代码没有写注释,然而自己写起代码起来,最讨厌的,也是写注释。所以仅仅只通过强制来...

2019-10-16 14:36:27 190

转载 SpringBoot学习之整合Mybatis(注解&配置文件)

今天主要介绍一下SpringBoot与MyBatis框架的整合,主要介绍两种方式的整合,一种是我们传统的xml配置文件的方式,另外一种是我们springBoot推崇的配置文件的方式整合。配置文件方式首先来介绍一下基于配置文件的整合; 首先需要我们创建一个SpringBoot的Maven项目,这里使用的是IDEA工具,选择需要的模块,Maven会默认的下载好;无需我们再去关心引...

2019-10-16 11:21:22 202

转载 springboot 项目配置扫描mapper接口类的两种方法

一种是在启动类上加@MapperScan({"com.**.dao","com.**.dao.*"}) 扫描mapper接口文件所在的包,多个包的时候用英文半角逗号隔开;一种是在mapper接口文件上加@Mapper注解。如下...

2019-10-16 10:19:50 1477

转载 maven打包的几种形式

1、maven打包相关命令package命令完成了项目编译、单元测试、打包功能,但没有把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库 install命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库,但没有布署到远程maven私服仓库 deploy命令完成了项目编译、单元测试...

2019-10-14 17:16:19 988

原创 线程池

1、什么是线程池线程池的基本思想是一种对象池,在程序启动时就开辟一块内存空间,里面存放了众多(未死亡)的线程,池中线程执行调度由池管理器来处理。当有线程任务时,从池中取一个,执行完成后线程对象归池,这样可以避免反复创建线程对象所带来的性能开销,节省了系统的资源。2、为什么要使用线程池降低资源消耗 通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 运用线程池能有效的控制线程...

2019-10-12 22:21:22 147

转载 JVM内存管理

既然是 Java 开发面试,那么对 JVM 的考察当然也是必须的,面试官一般会问你对 JVM 有了解吗?我通常都会把我所了解的都说一遍,包括:JVM 内存划分、JVM 垃圾回收的含义,有哪些 GC 算法,年轻代和老年代各自的特点统统阐述一遍。01. JVM 内存划分:方法区(线程共享):常量、静态变量、JIT(即时编译器) 编译后的代码也都在方法区; 堆内存(线程共享):垃圾回收的主...

2019-10-11 20:33:37 86

转载 maven仓库中心mirrors配置多个下载中心(执行最快的镜像)

在日常生活中,我们使用maven下载需要的jar包,但是很多的时候由于中央仓库没有,所以我们没有办法下载到需要的jar包,手动去下载上,然后放入到lib下,然后build path有的时候会感到很不舒服,不是很是不实用。所以此处可以在maven的设置中心添加多个下载仓库,这样丰富了中央仓库的下载地址。1、配置idea指定本地仓库的mavenfile-->Other Settings-...

2019-10-09 20:07:43 489

转载 Elasticsearch客户端transport vs rest

Elasticsearch(ES)有两种连接方式:transport、rest。transport通过TCP方式访问ES(只支持java),rest方式通过http API 访问ES(没有语言限制)。Transport引入maven依赖<dependency> <groupId>org.elasticsearch.client</groupId&g...

2019-10-09 19:20:34 1514

原创 Elasticsearch-sql安装

1、node安装到官网下载最新版本的node,这里我下载的是v10.16.3,网址为:https://nodejs.org/dist/在/usr/local目录下创建node文件夹,把下载的文件拷贝到此文件夹下,并解压:把bin目录下的node、npm命令软链接到/usr/local/bin目录下,这样可以使用相对路径执行node命令,进入bin目录:ln -s node...

2019-10-08 20:26:19 864

原创 Ubuntu下载安装kibana

1、下载Kibana每个版本的es都有一个对应的Kibana版本,我们可以去下面的地址查找最新的版本,建议和es相同版本,下载地址:https://www.elastic.co/cn/downloads/past-releases#kibana由于我的es版本为6.8.3,因此我下载的Kibana版本也为6.8.3。点击Download,进入下载页面,点击下载Linux 64-...

2019-10-08 18:37:55 2347

TCP/IP详解

这是tcp、ip实现的代码,希望能给网络爱好者带来帮助,大家一起学习。

2013-05-18

数据结构试验报告

数据结构试验报告,里面有线性表,树的遍历,图的遍历,排序等代码

2013-01-10

基于VC++的MP3

这是基于MFC做的MP3,希望能能给初学者带来好处,大家一起进步

2013-01-10

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

TA关注的人

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