自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

虎口脱险

菜鸟的进阶之路

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

原创 SpringBoot自定义/error路径失效

背景最近使用SpringBoot做controller统一异常处理的时候,配置好映射路径(/error),使用SpringBoot自带的异常通知注解@ControllerAdvice配置好异常处理类,按理说在Controller发生异常的时候重定向到自定义错误页面(这里是重定向到SpringMVC的映射路径),可实际调试的时候却定向到了SpringBoot默认的错误页面。配置信息此处配置...

2020-01-03 10:24:30 4408 1

原创 每天进步一点点:ThreadLocal源码解读

ThreadLocalThreadLocal是在 JDK1.2 之后提供的一个类,为解决多线程程序的并发问题提供了一种新的思路。可以这么理解,ThreadLocal是与线程绑定的局部变量,即每个线程都对应一个ThreadLocal实例,各个线程互不干扰。我们可以利用ThreadLocal的特性编写出更加简洁优美的多线程程序。接下来让我们通过ThreadLocal的源码来解析ThreadLocal...

2019-12-21 18:53:24 275

原创 MyBatis代码生成器

写作前面关于MyBatis代码生成器,笔者接触过的有三个:MyBatis-Generator、通用Mapper、MyBatis-Plus。这三个插件或多或少都能简化基于MyBatis的开发过程。下面通过一个小案例演示一下这三款插件的基本使用。环境maven依赖<parent> <groupId>org.springframework.boot</gr...

2019-12-01 10:22:31 322

原创 SpringBoot实现自定义Redis序列化

问题在使用RedisTemplate存储对象时,如果采用JDK默认的序列化方式,数据会出现许多编码字符,辨析度不高。比如一个空的User对象,存储到redis后如下:这些使用JDK默认序列化方式序列化后的数据简直惨不忍睹,在使用命令行查询数据时会很头疼。如何使数据更容易辨别呢?一种办法是使用StringRedisTemplate,在存入redis前先将数据处理成字符串格式再存入redis,但...

2019-10-16 16:31:22 979

原创 排序算法

前言在很多场景下都要对数据进行排序,在数据量很大的情况下对于算法性能的要求就会比较高,了解并掌握常用的排序算法及应用场景可以让我们编写出更高效的代码。这里通过一些的例子介绍一些常见的排序算法。排序模板以下所有排序都实现Example接口,该接口代码如下:/** * 排序算法模板类 * @author: Charviki * @create: 2019-09-05 21:44 **...

2019-10-16 10:26:03 131

原创 SpringBoot中Hibernate-validator的使用

前言Hibernate-validator可以让我们通过注解的方式在实体类中指定一些校验规则和默认的校验失败的错误信息。在SpringBoot中有两种方式可以实现Hibernate-validator校验实体类,一种是结合使用Srping的默认实现自动校验,一种是手动封装工具栏进行校验。下面的例子都是基于SpringBoot2.0.5版本。首先引入hibernate-validator的依...

2019-10-06 09:33:30 848

原创 OpenResty + Tomcat + Redis实现多级缓存

为什么要使用缓存?其实在大部分场景中都需要使用缓存,比如购物网站上商品详情页的信息。如果不使用缓存,用户每发起一起请求,都需要到服务端数据库查询,数据库的每一次操作都会涉及到磁盘IO,这样不仅增加服务端的压力,同时也降得了响应速度。而缓存存在于内存中,对缓存的操作比对磁盘的操作要快得多。但也不是什么数据都可以存入缓存中。首先内存大小有限,不可能将所有数据都存入内存中。其次对于那些更新比较频繁的数...

2019-10-04 08:45:43 407

原创 抛开公式谈KMP算法

在介绍KMP算法之前,先尝试解决一道题目:给出一个主串abcdabcba和模式串bcba,请确认模式串是主串的字串。在主串和模式串规模较小的情况下,我们可以很快看出模式串在主串的位置。但当转换成计算机语言,又该如何实现呢?现有主串和模式串如下:暴力匹配法一种最简单的思路就是依次按位比较,即我们所说的暴力匹配法。依次按位匹配,当出现不匹配项时:[外链图片转存失败,源站可能有防盗链机制,...

2019-09-26 23:39:14 101

原创 Spring-Session + Redis实现分布式Session管理

在传统的单tomcat容器中,用户访问服务器,tomcat会为该用户创建一个session,并将该session的sessionid通过cookie传送给用户,当用户再次访问时如果cookie中携带sessionid,则会到tomcat中寻找指定session。如下图所示:但是当tomcat容器不止一台时,这种模式下就会出现问题。在分布式环境下,后台服务器往往有多台,用户在访问后台资源时往往...

2019-09-26 23:38:13 182

原创 【LeetCode题解】141.环形链表

题目给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。可参考下图:解题思路有两种:哈希表和快慢指针。假设已有链表节点实现:class ListNode { int val; ListNode next; ListNode(int x...

2019-09-11 21:49:19 125

原创 使用ajax + jQuery-validate提交表单

今天在使用ajax+jQuery-validate往后台提交表单时遇到了点小问题,在提交表单时并未对表单数据进行校验。这里通过一个demo来演示遇到的问题。这个demo的代码如下:<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title>注册</tit...

2019-08-31 23:56:25 294

原创 union-find算法

前言  在介绍union-find算法前,先引入一个场景。输入有N个整数对,对于每一个整数对,判断p,q是否是同一个连通分量(直接或间接相连)。如果是,则不对该整数对做处理,进行下一个整数对的判断。如果不是,则使p,q所在的连通分量合并(即把p,q直接或间接相连)。可以参考下图,我们将直接或间接相连的元素组成的集合称为一个连通分量(如图中的0,5,6)。当输入为0和6,通过图我们可以看出0和6是...

2019-08-29 23:39:40 224

原创 Redis学习笔记

前言  关于NoSQL的介绍和为什么使用NoSQL,可以参考孙立先生写的文章《NoSQL 开篇——为什么要使用 NoSQL》。1. Redis概述1.1 什么是Redis?  Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库,它能通过提供多种键值数据类型来适应不同场景下的存储需求。官方提供测试数据,50个并发执行100000个请求,读的速度是110000次/s...

2019-08-16 19:34:39 88

原创 多重for循环嵌套中语句的执行次数

实例代码for (int i = 0; i < n; i++) { for (int j = i + 1; j < n; j++) { for (int k = j + 1; k < n; k++) { count++; } }}以上代码中,求count++语句的执行次数。其实这段代码中求count++...

2019-08-11 20:13:23 10680

原创 关于通用mapper中的的insertList()方法

关于通用mapper中的的insertList()方法通用mapper中的insertList()方法有两个:1. tk.mybatis.mapper.common.special.InsertListMapper包下的insertList()方法:       使用该方法的实体类主键必须是自增的(需要在实体类中指出)。如果实体的主键名为’id’,同...

2019-07-21 20:13:59 17158 10

原创 SpringMVC中关于跨服务器的文件上传

SpringMVC中关于跨服务器的文件上传      文件上传服务器中controller层的部分代码如下: /** * springMVC 跨服务器上传 * @param upload * @return */ @RequestMapping("fileUpload3") ...

2019-06-28 07:36:09 386 7

原创 Spring基于注解的AOP配置中的事务控制

Spring基于注解的AOP配置中的事务控制        在Spring基于注解的AOP事务控制配置中,使用四个通知(前置、后置、异常、最终)进行事务控制是出现以下异常:         事务控制代码如下:package com....

2019-06-22 10:46:55 896 1

原创 eclipse连接8.0.11版mysql

eclipse连接mysql&nbsp;&nbsp;&nbsp;&nbsp;我使用的是8.0.11版的mysql,安装教程可参考文档:http://www.cnblogs.com/xiongzaiqiren/p/8970203.html&nbsp;&nbsp;&nbsp;&nbsp;对于eclipse连接mysql,从mysql6以后的连接方式就有一些不同了。笔者一开始使用的是mysql5.1...

2019-02-04 17:12:40 473

原创 JavaScript代码执行顺序

JS代码执行过程分为以下两个步骤:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.预处理过程&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.代码执行&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;预处理过程主要是跳过执行语句,先按顺序处理声明语句。即使声明是在调

2019-01-22 17:48:51 375

空空如也

空空如也

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

TA关注的人

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