自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Big Smile

让梦想点亮我们的星空

原创 【MySQL】事务和事务引发的问题

        说起事务,肯定能够想到这样一句话,这个事情要么不做,要么做完;或者是好兄弟不求同年同月同日生,但求同年同月同日死。有点过分,但是是这个理儿。 四大特性 我们都知道,提到事务,就不能不提事务的四大特性,ACID,即原子性,一致性,隔离性,持久性。 原子性(Atom):事务的一组...

2018-08-25 10:54:25 3253 1

原创 【mysql】死锁-产生原因和解决方法

最近总结了一波死锁问题,和大家分享一下,我这也是从网上各种浏览博客得来,希望原作者见谅,参考博客地址都在下方。   一、Mysql 锁类型和加锁分析   1、锁类型介绍:      MySQL有三种锁的级别:页级、表级、行级。 表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲...

2018-08-14 16:21:28 27067 5

原创 【redis】内存回收机制

在redis4.0的配置文件中有这么一段被注释了的解释: 这个里面讲的是redis的内存回收配置,其中有这么几种: volatile-lru -> 根据LRU算法删除设置了超时属性(expire)的键,直到腾出足够空间为止。如果没有可删除的键对象,回退到noeviction策...

2018-07-29 10:10:35 4259 4

原创 【PageHelper】实现拦截pageNum和pageSize

        我们在使用pageHelper的时候,总是需要往后端传pageNum和pageSize,以便我们在后面做分页处理,但是我们在controller中也需要在方法参数中接收并带到我们的数据查询层,中间基本对于这两个变量没有任何操作,这样做是在的很麻烦。今天我们写一个拦截,让这两个变量可...

2018-05-31 16:38:53 6607 62

原创 在java重新认识TryCatch

敲过代码的同志们都知道,在程序中处理异常我们常用Try  Catch结构的代码来接收,处理异常,那么我们是否真的已经了解了try catch了呢? 一、问题的提出         在去面试的时候面试官曾经问过我这样的问题,如果我在try的方法体中写了一个return,在catc...

2017-07-16 21:56:00 490 63

原创 面向硬件编程的一些思考

最近小编这几天弄了弄硬件的编程,感觉很有趣,同时跟纯软件编程肯定是有很多区别的,所以在此和大家说道说道。 一、硬件编程         其实说道硬件编程,大家肯定乍一听感觉很难,很高大上,但是我想说的是除了需要了解一些硬件编程中对于各种机器工作状态的理解之外,剩下的就真没有什么...

2017-05-11 14:24:29 7871 31

原创 【LeetCode】最长回文子串

题目要求: 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设s 的最大长度为 1000。 示例 1: 输入: "babad" 输出: "bab" 注意: "aba" 也是一个有效答案。 示例 2: 输入: "c...

2020-06-02 21:30:31 13 0

原创 【java】使用注解加ASPECT实现拦截方法打印方法日志

为了熟悉AOP中的ASPECTJ的使用,为了方便我们在写数据搬运型代码时候观测的方便,自己学习并定义了一组切面方法和注解,来实现这个功能,啥都不说了,先上代码: 首先是注解定义: import java.lang.annotation.*; /** * @author wangxiao ...

2020-06-01 22:58:29 31 0

原创 【工具推荐】SSH客户端工具推荐

实在是很想写一篇关于SSH工具的吐槽和推荐,于是乎在笔者使用了各种平台以及经历了各种困难之后,终于整理出来了各平台笔者用过的,或者见过的一些工具汇总,都是开源免费的,希望可以给各位同学有所帮助!! 一、Windows 想来占有量最大的操作系统,得非莫属了吧,相信Windows系统肯定是...

2020-02-17 18:16:43 576 1

原创 【LeetCode】两数相加

题目要求: @lc app=leetcode.cn id=2 lang=java [2] 两数相加 https://leetcode-cn.com/problems/add-two-numbers/description/ algorithms Medium ...

2019-09-26 16:30:40 56 0

原创 【java】对list集合进行去重 传统方式 VS Lambda

说道集合的去重,我们就肯定能想到唯一元素集合set,还有map中的key。那么我们传统的去重的方式肯定是要选择set或者是map来实现了,另外在对实体对象类型进行去重的时候,我们可能会指定实体中的一个字段,这种情况也是属于多数的,那么我们要怎么实现呢? 一、传统map实现 首先我们来看...

2019-08-05 17:45:10 663 2

原创 【java】从Map中模糊匹配key值

如果我们想要从一个map集合中,模糊筛选出我们想要的key的集合应该如何处理呢?下面一个小例子解决此问题,但是性能上有待提高: 核心代码: /** * 从map中查询想要的map项,根据key */ public static Map<String, Object> pars...

2019-05-10 16:55:21 3608 2

原创 【java】List分割工具

我们在使用mybatis批量插入数据库的时候,在数据量过大的时候,肯定碰到过一个错误,详见另外一个老兄的博客 https://blog.csdn.net/qq_36773257/article/details/79895819 在mybatis中使用foreach拼接sql语句,很常见...

2019-04-16 14:14:18 773 2

原创 【SpringBoot】给redis配置String序列化器,防止key变为二进制

我们在springboot中使用redis的时候,如果使用了springboot自带的redis管理,没有进行特殊配置的话,会出现一种情况,就是我们set到redis中的值,所有的key值我们获取到的,或者通过工具看到的,都是一堆乱码,根本 无法识别,其原因,是因为,springboot默认给r...

2019-03-19 22:37:42 1364 5

原创 【SpringBoot】web加载地址默认跳转设置

我们在设置完springboot项目之后,需要让他默认跳转一个地址,需要怎么做呢?答案很是简单,可以通过springboot-web的configuration配置,把默认的'/' 路径的路由,转换为你想要指定的controller的view跳转地址就行了。 首先我们...

2019-03-19 22:21:38 1607 2

原创 【java】生成二维码的util

这两天接到了一个生成二维码的需求,和大家分享一下用工具生成二维码的快感: 1、首先我们需要在maven中引入依赖: &lt;dependency&gt; &lt;groupId&gt;com.google.zxing&lt;/groupId&am...

2019-01-20 22:06:57 384 2

原创 【redis】集群伸缩(添加删除节点)

注:本文知识点全部来自于《redis开发与运维》这本书在加上博主本人对于redis的理解构成   一、集群伸缩原理           Redis集群提供了灵活的节点扩容和收缩方案。在不影响集群对外服务的情况下,可以为集群添加节点进行扩容也可以下线部分节点进行缩容: 我们都指导,这样...

2018-09-16 11:26:45 941 0

原创 【Java】内存问题——内存溢出

模拟内存溢出         我们通过自己写代码,模拟一下两种内存溢出的情况,一种是堆内存溢出,一种是栈内存溢出。 堆内存溢出 代码: public class Heap { public static void main(String[] args) { ...

2018-08-31 20:42:16 465 1

原创 【Java】内存问题——内存泄漏

分类 常发性内存泄漏。发生内存泄漏的代码会被多次执行到,每次被执行的时候都会导致一块内存泄漏。  偶发性内存泄漏。发生内存泄漏的代码只有在某些特定环境或操作过程下才会发生。常发性和偶发性是相对的。对于特定的环境,偶发性的也许就变成了常发性的。所以测试环境和测试方法对检测内存泄漏至关重要。  ...

2018-08-30 21:03:28 260 3

原创 【nginx】CentOs7下安装nginx以及配置负载均衡

首先我们会去官网下载最新的nginx的tar.gz的包:http://nginx.org/en/download.html 我们在官网会看到有如下的三个部分的安装包可以提供下载:        其中mainline version就是我们的主线版本,也就是刚刚开发上线完成的版本,可能存在b...

2018-08-12 10:50:07 1690 0

原创 【MySQL】表锁和行锁

  一、表锁           特点:偏向MyISAM存储引擎,开销小,加锁快;无死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。        我们在编辑表,或者执行修改表的事情了语句的时候,一般都会给表加上表锁,可以避免一些不同步的事情出现,表锁分为两种,一种是读锁,一种是写锁。...

2018-08-01 10:13:07 6359 0

原创 【MySQL】索引失效以及explain应对

        我们都知道在数据表中建立索引是可以增加查询的效率的,但是不知道同志们有没有注意过索引失效的情况,就是你明明建立了索引,但是却和没有建立索引的时候查询的时间是一样的。   前提          索引是什么?         MySQL官方对索引的定义为:索引(Index)...

2018-08-01 00:31:40 2773 0

原创 【MySQL】主从复制-从机Slave_SQL_Running: No

问题现象:  我们可以明显的发现,我们的sql线程已经挂掉了。          导致这个问题的原因是因为由于数据的不同步,导致我们在执行主从同步的时候出现了执行不了的sql,导致从机事务回滚了,所以sql的进程就被关闭了,常见的这个问题的出现方式: 在从机上进行了写操作(非双机热备情况...

2018-07-31 16:47:51 3592 4

原创 【MySQL】MySQL From主从复制To双机热备

        安装完mysql之后,有了新的需求,就是需要有一台服务器用来做数据备份使用,以达到容灾的目的,这样需要怎么做呢?还有我们需要进行多点访问来减小单点压力的时候又要怎么办呢?这个时候我们就引入了主从复制和双机热备的概念了。         其实从实现上来讲,双机热备就是我们做了两个机...

2018-07-31 16:33:39 1571 3

原创 【MySQL】解除mysql5.7.X版本弱密码限制

        mysql数据库从5.7的版本开始对密码进行了严格的限制,因为他默认安装了一个validate_password的插件,我们在命令行中输入 mysql&gt; show plugins; 即可看到,一般在最下方: 状态为AVTIVE,说明为启用状态。 我们可以...

2018-07-31 11:44:22 3300 4

原创 【MySQL】initialize specified but the data directory has files in it. Aborting

我们在安装mysql的时候可能会遇到这个问题: 是不是执行了这个命令呢? mysqld --initialize --user=mysql         报这个错误的原因是因为你的mysql数据库已经进行初始化了,所以不能用这种方式再进行初始化用户了,因为mysql在初始化的时候会自...

2018-07-29 15:56:54 17404 6

原创 CentOs7下安装mysql5.7.23(rpm安装)

准备         一台装有centos7.3的电脑(或虚拟机),mysql-5.7.23-1.el7.x86_64.rpm-bundle.tar   mysql的rpm安装集合包 下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#dow...

2018-07-29 15:42:46 12599 9

原创 【redis】cluster集群的故障转移机制实验

曾经只是知道redis可以故障转移,但是不知道怎么转移,这次来见识一下:   前提      搭建了一个如下图的三主三从的集群。       并且集群处于运行中   一、故障模拟           我们首先停止一个主服务,看有什么变化: 我们停止了7002主服务器: ...

2018-07-28 21:24:01 2461 4

原创 CentOs7 安装redis4.0 遇到的坑

这次尝试了一下安装和使用redis4,结果遇到了不少的坑,和大家分享一下。   一、CentOs7连接网络           由于是新安装的centos7,所以什么都没有配置,也没有连接过网络,使用ip addr查看,只有一个网卡开启了,就是127.0.0.1的网卡,然后另外一个网卡的网...

2018-07-28 16:25:17 529 4

原创 【java】初识注解

        注解这个东西,只要是一个java的开放人员都不会陌生,但是我们用了那么多的注解,我们的注解是怎样为我们工作的呢?通过前段时间的学习,我对注解有了一点新的理解。   一、什么是注解           注解在我们通俗的看来,就是一个对于Annotation接口的一个实现,他和...

2018-07-22 21:38:33 106 6

原创 YAML常用语法

        前几天,小编学习了springboot和springcloud中的一些配,其中有很多的博客和书籍都使用的yml文件来作为项目配置文件编写的,小编在github上创建的博客,hexo框架也是用yml编写的,所以小编觉得很有必要学习和总结一下yaml类型文件的格式和写法,所以出此文。一...

2018-07-15 20:34:57 1239 2

原创 java.util.ConcurrentModificationException

有这么一段代码:for (QuestionMainModel questionMainModel : questionMainModels) { if (detailEntity.getQuestionMainId().equals(questionMainModel.getId())) ...

2018-06-29 23:12:45 104 5

原创 【GitHub】如何删除存在的项目repository

首先进入你的repository的主页面:然后点击上面的settings设置页面:然后找到最下面的DangerZone:点击Delete this repository按钮:出现警告的页面,并且需要填写理由并同意consequence,然后就能删除你的repository了。...

2018-06-24 23:01:37 756 9

原创 创建GitHub博客主页(仓库主页)绑定域名问题There isn't a GitHub Pages site here

出现这个404 的错误,一般表示你的域名已经能够解析到了XXX.github.io,但是你的github还需要进一步配置。首先,我们需要先进入到你的项目中去:点击settings进行我们的仓库配置,之后找到GitHubPages进行页面的配置:上图中的 domain就是我们需要设置域名的地方,我们...

2018-06-17 20:39:13 7653 12

原创 如何学习java多线程和jvm虚拟机

首先,在网上搜索了几篇关于如何学习jvm和多线程的文章:jvm:https://www.douban.com/doulist/2545443/多线程:https://www.zhihu.com/question/19884663

2018-06-10 21:46:03 662 8

原创 【mysql】Centos7安装mysql8.0删除MariaDB

在安装mysql8.0并且使用最新版的centos7的时候出现了不少坑,这个是其中之一。         由于MySQL在CentOS7中收费了,所以已经不支持MySQL了,取而代之在CentOS7内部集成了mariadb,而安装MySQL的话会和MariaDB的文件冲突,所以需要先卸载掉Mari...

2018-05-25 19:46:49 2544 17

原创 【java基础】基本数据类型

上图:        以上的就是java带的,非对象类型的,数字类型,其中也有很多是有对应的对象型的类型的,比如String就是char的对象型的类型,里面包函了很对对象的操作等等。        Java还提供了三个特殊的浮点数值:正无穷大、负无穷大和非数,用于表示溢出和出错。例如,使用一个正数...

2018-05-20 23:11:55 139 19

原创 【tomcat】配置指定文件夹发布项目

        在我们发布项目的时候,通常都是打一个war包,然后上传到tomcat的webapp目录下,然后启动tomcat服务器,这个时候,我们想要访问我们的项目,通常是用“IP:PORT/项目名”的方式来访问的。        但是由于项目要部署在正式的服务器上,并且我们的访问地址就只能是甲...

2018-05-13 16:41:39 11613 17

原创 【java】支付宝实现退款功能

        最近完成的差不多的项目突然需要加退款的流程需求了,所以来小小的实现以下。其实对比其他的支付和退款来说,支付宝算是特别专业,也是特别简单的一个了,所以,先拿他来开刀了。一、引入支付宝SDK        在这里说一下,其实每种支付都会有一个官方带的SDK,我们可以把这个sdk引入到我...

2018-05-06 22:58:48 9563 24

原创 【ngxin】配置实现apk和ipa文件的下载

默认的情况下,nginx代理是不支持apk和ipa文件的下载的,那么这是为什么呢?1、MIME类型没有识别        我们存储的每种文件都是有格式才能被正确读取的,那我们又是怎么去识别这些格式的文件的呢?那就要用到MIME类型来规范对于文件的识别了。nginx不能很好的识别apk和ipa类型的...

2018-04-29 20:24:24 2636 21

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