自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

原创 mysql redolog和undolog

1 undo1.1 undo是什么undo日志用于存放数据修改被修改前的值,假设修改 tba 表中 id=2的行数据,把Name=‘B’ 修改为Name = ‘B2’ ,那么undo日志就会用来存放Name='B’的记录,如果这个修改出现异常,可以使用undo日志来实现回滚操作,保证事务的一致性。对数据的变更操作,主要来自 INSERT UPDATE DELETE,而UNDO LOG中分为两...

2019-06-17 09:13:15 484

转载 MySQL数据库事务MVCC

Innodb只是借了MVCC这个名字,提供了读的非阻塞而已。https://m.imooc.com/article/172901.单纯加锁是怎么实现 read committed 的?从此隔离级别效果入手:事务只能读其他事务已提交的的记录。数据库事务隔离级别的实现,InnoDB 支持行级锁,写时加的是行级排他锁(X lock),那么当其他事务访问另一个事务正在update (除select...

2019-06-15 14:06:27 363

原创 springboot项目引入hadoop-client包导致内置tomcat无法启动和日志jar冲突问题

移除相应jar包依赖 <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>2.7.7</version&...

2019-06-15 13:55:47 1169 2

原创 java操作ftp上传 vsftpd

package com.stylefeng.guns.core.util;import com.stylefeng.guns.modular.trip.util.UUIDUtils;import lombok.extern.slf4j.Slf4j;import org.apache.commons.net.ftp.FTPClient;import java.io.File;impor...

2019-06-01 16:27:17 276

原创 java操作HBase2.x增删改查

直接上代码package com.imooc.spark.project.utils;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.*;import org.apache.hadoop.hbase.client.*;import org.apache.hadoop.hbase.uti...

2019-06-01 10:16:21 1097

原创 java连接Hbase卡住不报错也不抛出异常的问题

在此之前请确保Hadoop和Hbase正确安装及启动,如果不是请移步到安装和配置Hbase相关文章中。本文解决服务器启动成功,并且Hbase shell创建表插入记录没问题,就是本地写java代码时连不上卡住并且不报错和抛出异常。第一步:查看服务器的主机名(以windows为例,linux例子很多):然后在你开发代码的环境中,C:\Windows\System32\drivers\etc目录找...

2019-05-28 16:04:11 2535 1

原创 启动HBase报错“java.lang.NoClassDefFoundError: org/apache/htrace/SamplerBuilder”问题的解决

问题1:java.lang.NoClassDefFoundError: org/apache/htrace/SamplerBuilder找到这个jarhtrace-core-3.1.0-incubating.jar放到hbase 的lib目录下错误2:java.lang.NoClassDefFoundError: Could not initialize class org.apache....

2019-05-25 16:16:01 1839

原创 nginx配置文件-配置https示例

#user diankong;worker_processes 1;#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx.pid;events {worker_connections 1024;}...

2019-05-06 14:11:04 332

原创 java操作16进制的各种方法

s

2019-05-05 15:25:57 9385

原创 java实现把mysql中数据导入elasticsearch

import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.ResultSetMetaData;import java.sql.SQLException;import java....

2019-04-18 17:19:50 3839 1

原创 elasticsearch整合springboot实现增删改查

<properties> <elasticsearch.version>6.7.1</elasticsearch.version> </properties> <dependencies> <dependency> <groupId>org.e...

2019-04-18 15:22:56 583

原创 Linux安装elasticsearch6.X的head插件

先安装nodejs和npmyum -y install nodejs npm然后安装gityum -y install gitgit clone https://github.com/mobz/elasticsearch-head.git然后进入clone下来的目录 npm installcd elasticsearch-head/npm install然后修改vim Grunt...

2019-04-17 17:28:38 203

原创 springboot统一异常处理

package com.imooc.exception;import com.imooc.enums.ResultEnum;/** * 这里继承RuntimeException,spring框架对于抛出RuntimeException才会进行事务回滚,不要继承Exception */public class MyException extends RuntimeException{...

2019-04-16 16:21:58 142

原创 玩转数据结构从入门到进阶(一)数组、栈和队列

数组O(n)描述的是渐进时间复杂度,描述当n趋近于无穷的情况下的时间复杂度。防止复杂度振荡:resize方法是复杂度O(n)的,当数组大小处于满容量状态时,频繁调用添加和删除操作会频繁调用resize方法,为了避免这种情况,使用lazy的方法,当数组中实际元素为数组容量的四份之一时,再进行缩小容量的操作。缩小为数组大小的二分之一。栈栈相当于数组的子集。只不过入和出只能从一端进行操作,称...

2019-04-16 15:34:33 685 1

原创 玩转数据结构从入门到进阶笔记(二 链表)

链表Linked List:上一篇中的动态数组,栈和两种队列底层依然依托于静态数组,其中动态是对于该数据结构的使用者来说的,依靠resize方法解决动态扩容和缩容的问题。而链表是真正的动态数据结构,同时也是最简单的数据结构,是其他复杂数据结构的基础。它的数据储存在节点中,称之为Node,Node中储存了一个保存的数据和指向下一个节点的Node类型的引用next。下一个节点没有数据则指向n...

2019-04-16 15:34:23 474

原创 玩转数据结构从入门到进阶(三 链表、二叉树与递归)

链表与递归:项目源码:https://gitee.com/renqiqi/shujvjiegou递归:将原来的问题转化为更小的同一问题。链表具有天然的递归性质,可以看做链表头挂着一个更短的链表,,,解决递归问题时,应当注意函数的语义,才能更加容易的转换为更加简单一部的问题。比如删除链表中元素removeElement(ListNode head,int val)这个函数就是删除以head...

2019-04-16 15:34:16 243

原创 玩转数据结构从入门到进阶(四 集合set与映射map堆与优先队列,线段树:)

项目源码:https://gitee.com/renqiqi/shujvjiegou层序遍历:广度优先遍历使用非递归方式实现。更快的找到想要的元素,主要应用于搜索。删除任意节点:删除节点后,找到该节点的右子树中最小值,让他顶替该节点的位置,并在原来的位置上删除这个最小值用链表来实现set集合复杂度是O(n),而用二分搜索树来实现Set,复杂度是O(logn):其实是O(h),h就是树的高...

2019-04-16 15:34:09 490

原创 玩转数据结构从入门到进阶(五 平衡二叉树,2-3树,红黑树)

平衡二叉树:定义:对于平衡二叉树来说,任意一个节点的子树的高度差不超过一。条件比完全二叉树和满二叉树更为宽松。叶子节点的高度就是1.计算平衡因子。左子树减去右子树高度。当插入元素在不平衡节点的左侧的左侧的时候,需要进行右旋转。反之,当插入元素在不平衡节点的右侧的右侧的时候,需要进行左旋转。当插入元素在不平衡节点的左侧的右侧的时候,先将不平衡节点的左侧节点进行左旋转,转化为上面的那种情况。...

2019-04-16 15:33:58 535

原创 单个索引和联合索引

使用联合索引效率更高;当创建(a,b,c)联合索引时,相当于创建了(a)单列索引,(a,b)联合索引以及(a,b,c)联合索引想要索引生效的话,只能使用 a和a,b和a,b,c三种组合;当然,我们上面测试过,a,c组合也可以,但实际上只用到了a的索引,c并没有用到!需要加索引的字段,要在where条件中...

2019-04-16 15:33:49 448

原创 springboot如何使用aop

一些乱七八糟的技巧吧@Min(value=18,message=”未成年进制入内”)Private int age;//这样可以拦截,然后再controller中,参数对象前面加@Valid注解,错误信息会放在BindingResult bindResult这个对象里(@Valid Girl girl,BindingResult bindResult){if(bindResult.hasE...

2019-04-16 14:54:44 353

原创 java使用集合类应当注意的点

public static void main(String[] args) { String[] arr={"sdf","sdf"}; /** * 要将一个array转换成一个arraylist的时候,不要这样做,这样返回的是arrays的一个静态内部类,并不是java.util.Arraylist类 */ Li...

2019-04-16 09:21:57 181

转载 mysql什么情况下会触发表锁

原文链接https://www.cnblogs.com/sessionbest/articles/8689082.html在上面讲到的并发事务处理带来的问题中,“更新丢失”通常是应该完全避免的。但防止更新丢失,并不能单靠数据库事务控制器来解决,需要应用程序对要更新的数据加必要的锁来解决,因此,防止更新丢失应该是应用的责任。“脏读”、“不可重复读”和“幻读”,其实都是数据库读一致性问题,必须由...

2019-04-15 14:55:47 3995

转载 mysql该如何避免全表扫描(转)

全表扫描是数据库搜寻表的每一条记录的过程,直到所有符合给定条件的记录返回为止。通常在数据库中,对无索引的表进行查询一般称为全表扫描;然而有时候我们即便添加了索引,但当我们的SQL语句写的不合理的时候也会造成全表扫描。以下是经常会造成全表扫描的SQL语句及应对措施:使用null做为判断条件如:select account from member where nickname = null;建...

2019-04-15 13:35:01 574

原创 guns框架实现服务端分页

usersmapper层,这里写个简单查询语句,参数中加上page参数,@Select("SELECT * FROM users") List<Users> selectAllPages(@Param("page") Page<Users> page);业务简单,这里省略了service层下面是controller层,实体类名字是Users@Request...

2019-04-15 10:43:51 684 2

原创 创建数据库关于时间的小技巧

`create_time` timestamp not null default current_timestamp comment '创建时间',`update_time` timestamp not null default current_timestamp on update current_timestamp comment '修改时间',这样来创建:创建时间和修改时间这两个字段的时...

2019-04-07 21:30:10 224

转载 centos第一次安装mysql的正确步骤,不再踩坑

1、官方安装文档http://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/2、下载 Mysql yum包http://dev.mysql.com/downloads/repo/yum/下载到本地再上传到服务器,或者使用wget 直接下载wget http://repo.mysql.com/mysql57-community-releas...

2019-04-07 19:17:43 158

原创 一份基本的mysql规范

一、命名规范1、所有数据库对象名称必须使用小写字母并用下划线分割;2、临时库表必须以tmp_为前缀并以日期作为后缀。备份表必须以bak_为后缀并以日期为后缀3、所有存储相同数据的列明和列类型必须一致(一般作为关联列,如果查询是关联列类型不一致会自动进行数据类型隐式转换,会造成列上的索引失效。)二、基本设计规范1、所有表必须使用innodb存储引擎(没有特殊要求,即innodb无法满足的功...

2019-04-04 22:53:17 82

原创 linux查看端口和进程命令

netstat -anp|grep 8080查看端口ps -anx|grep tomcatps显示所有进程,anx显示所有状态

2019-04-04 21:41:27 1813

原创 netty与springboot结合无法使用autowired的解决办法

netty无法使用autowired的解决办法@Componentpublic class NettyWebSocketServerHandler extends SimpleChannelInboundHandler<TextWebSocketFrame> {public static NettyWebSocketServerHandler nettyWebSocketSe...

2019-04-04 21:39:45 1510 4

原创 docker基本命令

1、docker ps查看正在运行的docker2、docker stop 2345停止一个名字前面是2345的docker3、docker run -d -p 8080:80 hub.c.163.com/library/nginx 运行一个docker,docker的80端口映射到linux的8080端口,也就是说通过访问liunx的8080端口访问的就是docker中的80端口。后面hub...

2019-04-04 21:37:53 82

原创 redis常见知识点总结

一为什么要使用redis?主要是性能和并发两个方面,性能:redis响应迅速,可以将执行耗时特别久,且结果不频繁变动的sql,将运行结果放入缓存,后面的请求就会去缓存中读取。并发:在大并发的情况下,所有请求直接访问数据库,数据库就会连接异常,这个时候,久需要Redis做一个缓冲操作,而不是直接访问数据库。二优缺点?主要以下四个方面的问题:1缓存和数据库双写一致性的问题2缓存雪崩问题3缓...

2019-04-01 12:39:14 144

原创 linux使用rz

yum install -y lrzsz先安装这个,就可以用啦

2019-04-01 09:10:46 1346

原创 微信小程序接受服务器返回的json对象无法用点点出来的问题

小程序的大坑之一。。原因是小程序自动把json对象转换为json字符串来显示了,用JSON.parse()这个函数,将字符串转为对象之后,就可以用点点出来了

2019-03-28 15:58:04 920

原创 Redis底层数据结构以及持久化部分知识总结

一. 对象的类型与编码Redis使用对象来表示数据库中的键和值,每次在redis数据库中新创建一个键值对时,我们至少会创建两个对象,分别用作键值对的键和值Redis中的每个对象都由一个redisObject结构表示,该结构和保存数据有关的三个属性分别是type,encoding,和ptr属性。Type:包括五种:REDIS_STRING,REDIS_LIST,REDIS_HASH,REDIS...

2019-03-20 16:08:00 268

原创 深入理解Java虚拟机(下)

一, 类加载的时机类的生命周期包括:加载,连接(验证,准备,解析) ,初始化,使用,卸载,总共七个阶段。什么情况需要开始第一个阶段:加载?java虚拟机并没有进行强制约束,这点可以交给虚拟机的具体实现来自由把我。但是对于初始化阶段,有且只有5种情况必须对类进行初始化(加载,验证,准备自然需要在此之前开始):遇到new,getstatuc,putstatic或invokestatic这四条字...

2019-03-20 11:18:26 93

原创 深入理解Java虚拟机高度总结

JVM一. 自动内存管理机制1.1 程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。1.2 java虚拟机栈。与程序计数器一样,Java虚拟机栈也是线程私有的,它的生命周期与线程相同。虚拟机栈描述的是Java方法执行的内存模型:每个方法在执行的同时都会创建一个栈帧,用于存储局部变量表、操作数栈、动态链接、方法出口等信息。每一个方法从调用直至执行完成的过程,...

2019-03-19 16:19:18 74

原创 git创建新仓库的正确步骤

git init //初始化仓库git add .(文件name) //添加文件到本地仓库git commit -m “first commit” //添加文件描述信息git remote add origin + 远程仓库地址 //链接远程仓库,创建主分支git pull origin master // 把本地仓库的变化连接到远程仓库主分支git push -...

2019-03-07 20:16:56 1455

原创 mysql 各种锁的作用

①在mysql中有表锁,LOCK TABLE my_tabl_name READ; 用读锁锁表,会阻塞其他事务修改表数据。LOCK TABLE my_table_name WRITe; 用写锁锁表,会阻塞其他事务读和写。②Innodb引擎又支持行锁,行锁分为共享锁,一个事务对一行的共享只读锁。排它锁,一个事务对一行的排他读写锁。③这两中类型的锁共存的问题考虑这个例子:事务A锁住了表...

2019-02-28 16:22:30 1959

转载 ssm配置文件类型

https://www.cnblogs.com/black-spike/p/7872893.html

2019-02-23 09:34:03 107

原创 前端input输入框显示当前系统时间

&lt;#input id=“id” name=“上传时间” underline=“true”/&gt;

2019-01-31 14:38:36 6559 1

空空如也

空空如也

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

TA关注的人

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