自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ZHL's Blog

不积跬步无以至千里

原创 IDEA全局搜索快捷键失效

1、前言 我们经常在使用IDEA全局搜索快捷键的时候发现没有启作用,主要是输入法的简繁体切换的快捷键重复导致的。 2、做法 禁用输入法的繁简体切换的快捷键

2020-06-11 09:36:24 103 0

原创 分布式ID算法——snowflake(Java版)详解

1、前言

2020-03-30 11:02:12 73 0

原创 Hexo博客部署到服务器

1、安装git 在Centos系统上安装git yum install git 检测是否安装成功 $ git --version git version 1.8.3.1 添加git用户 adduser git 添加公钥 su git cd ~ mkdir .ssh cd .ssh touch...

2020-03-29 18:03:22 190 0

原创 Spring解决CORS问题

1、前言 出于安全原因,浏览器禁止AJAX调用当前来源之外的资源,跨域资源共享(CORS)是由大多数浏览器实施的W3C规范,使您可以灵活地指定对哪种跨域请求进行授权。 从Spring Framework 4.2开始,开箱即用地支持CORS。 CORS请求(包括带有OPTIONS方法的预检请求)将自...

2020-03-22 10:15:18 55 0

原创 部署Tomcat项目去除项目名称

1、前言 我们在部署项目到Tomcat中的时候,其访问路径一般为localhost:8080/projectName/接口,但是我们觉得这种很不方便,我们想要去除这个projectName,该怎么做呢? 2、修改server.xml 我们需要修改server.xml文件。在Host之间添加入下内容...

2020-03-15 14:15:17 61 0

原创 SpringBoot 打war包并部署到Tomcat

1、移除Tomcat依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifact...

2020-03-10 16:55:24 51 0

原创 Linux安装Java8

1、下载Java8 tar.gz包 上Java官网 下载Java压缩包 2、解压并配置路径 创建目录 mkdir -p /usr/local/java 解压到目标文件夹 tar -vzxf jdk-8u241-linux-x64.tar.gz -C /usr/local/java/ 3、添加...

2020-03-10 16:25:35 524 0

原创 MarkDown图片缩放

关于MarkDown处理的过程中,我们需要对上传的图片进行缩放以适应文档的格式。 1、HTML标签(推荐) <div align="center"> <img src="" width="50%"> </d...

2020-03-07 10:57:59 244 0

原创 网站备份脚本

1、前言 在我们自己搭建的网站中,我们经常需要去备份该网站的信息,包括网页信息和数据库。 2、备份网页信息 #!/bin/sh # 当天信息 DATENOW=$(date +"%Y%m%d") # 昨天时间 DATEPAST=$(date "+%Y%m%d"...

2020-03-06 12:30:48 74 0

原创 加密算法总结

文章目录1、前言2、对称加密和非对称加密3、数字签名4、常见算法4.1 MD5摘要算法4.2 SHA算法 1、前言 本文主要总结了常用的一些加密算法,对称加密算法和非对称加密算法以及数字签名 2、对称加密和非对称加密 对称加密算法:该算法又称为私钥加密、共享密钥加密。主要是加密和解密都用同一个...

2020-03-05 21:28:32 196 0

原创 使用INSERT INTO ... SELECT中null值插入问题

如果旧表中有null值,而新表不允许null值,这个问题就显现出来了。 根据MySQL的官方文档,在INSERT INTO中是改变不了什么的只能在select语句中改变了。 先看SQL语句: INSERT INTO st (id,name,source,date) SELECT id,ifnull...

2020-02-24 11:30:14 1323 0

原创 Java后端多级缓存写法
原力计划

1、前言 在我们开发项目的过程中经常会遇到一些读多写少的接口,在这些接口中会有很大批量的查询操作,如果我们这些查询操作都需要查询数据库的话,会造成数据库承受不了,以及数据库的响应比较慢导致该接口无法在规定时间进行相应,所以我们要减少数据库的查询操作,使用多级缓存机制。 2、架构 多级缓存的架构如图...

2020-02-24 11:26:52 230 0

原创 HTTP状态码详解

1、前言 我们在访问网页的时候,服务器会返回 HTTP 状态代码以响应该请求,在这里给常用的状态码进行详解。 2、状态码详解 1xx(临时响应) 2xx(成功) 3xx(重定向) 4xx(请求错误) 5xx(服务器错误) 1xx(临时响应) 状态码 说明 100(继续) 请...

2020-02-19 17:39:17 396 0

原创 分布式系统限流方案

1、前言 对于分布式系统而言,常常有很多高并发场景需要我们去处理,比如秒杀等等场景,而这些场景需要对某些接口进行限流然后进行操作。 2、限流算法 目前来说常用的三种限流算法如下所示: 计数器法 漏桶法 令牌桶法 2.1 计数器法 计数器法通常用来限制每秒的请求的数量,是最简单的限流算法。具...

2020-02-19 13:26:28 116 0

原创 在使用Mybatis插入或者更新数据的时候出现类似"??"的乱码

在jdbcurl中要插入“useUnicode=true&characterEncoding=utf8 url = jdbc:mysql://localhost:3306/zhanghanlun?useUnicode=true&characterEncoding=utf8

2020-02-17 18:47:15 74 0

原创 使用Python读写Excel文件

1、前言 我们经常使用Python来读写Excel文件,该怎么做呢,本篇文章为大家介绍一下如何使用Python进行Excel文件的读写。 2、引入Excel读写包 安装xlrd和xlwt包 $ pip install xlrd $ pip install xlwt 然后在Python程序中引用这...

2020-02-16 18:59:13 667 0

原创 Hexo博客摘要生成方法

1、前言 我们在使用Hexo和GithubPage搭建的博客中,常常需要在首页显示该文章的摘要。 2、方法 在Markdown编辑器中添加 <!-- more --> 例如 # 前言 github支持githubPage静态界面来搭建我们的个人博客,自己配置。 <!-- mo...

2020-02-14 15:04:17 437 0

原创 GitHubPage和Hexo搭建个人博客网站

1、前言 github支持githubPage静态界面来搭建我们的个人博客,自己配置。 2、创建github仓库 创建username.github.io仓库,同时setting中勾选githubpage 创建好后我们可以通过zhanghanlun.github.io来访问该博客 3、利用hex...

2020-02-09 08:36:19 147 0

原创 解决github打不开的问题

1、前言 我们经常遇到github在电脑上打不开的问题,下面我们通过添加host来解决 2、解决 windows下路径为:C:\Windows\System32\drivers\etc\hosts Linux下路径:/etc/hosts 192.30.253.113 github.com 192....

2020-02-08 11:37:54 733 0

原创 VSCode编译和运行C++程序

1、安装MinGW-w64 在官方网站上找到下载资源的地址下载链接 将压缩文件解压,然后添加环境变量到/bin目录,如图所示。 在命令窗口上运行gcc -v命令,如图所示 2、安装C++运行插件 2.1、安装C++ 2.2 安装Code Runnner 3、运行程序 ...

2020-01-29 19:26:42 299 0

原创 Java中变量、常量、静态变量、静态常量、局部变量

1、前言 在使用Java进行编程的过程中,我们经常碰到这些关于变量和常量的概念。如何区分变量、常量、静态变量、静态常量、局部变量等概念,下面看我一一道来。 2、变量 ...

2019-09-02 13:49:39 298 0

原创 计算机网络知识点总结

1、TCP和UDP协议的区别 TCP是面向连接的可靠的 UDP是无连接的不可靠的 2、在浏览器输入URL地址到显示网页的过程 查找域名的IP地址(浏览器缓存、路由缓存、DNS缓存) 建立TCP连接 发送HTTP请求 服务端处理HTTP请求 返回HTML相应 渲染页面显示HTML 3、 ...

2019-07-22 20:54:19 53 0

原创 Redis知识点总结

1、Redis常用数据结构 String(字符串) list(列表) set(集合) sort set(有序集合) hash(散列) 2、Redis持久化方式 RDB——Redis某个时间点的快照,常用于备份。 AOF——记录Redis中所有的写命令。每次有新的写可以追加到AOF文件尾部。 ...

2019-07-22 20:16:57 93 0

原创 一致性Hash算法

1、前言   一致性哈希算法在1997年由麻省理工学院提出,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP(公用地址冗余协议)十分类似。一致性哈希修正了CARP使用的简单哈希算法带来的问题,使得DHT(分布式哈希)可以在P2P环境中真正得到应用。 2、具体实现 ...

2019-07-03 16:37:47 76 0

原创 Linux 定时执行任务——crontab命令

1、前言   在Linux中我们经常会需要定时去执行一些任务脚本。在Linux中有这样一个命令就是帮助我们定时执行任务脚本的。它就是crontab。   cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业。 ...

2019-06-12 15:55:36 179 0

原创 使用EasyExcel读写Excel

这里写自定义目录标题1、前言2、引入jar包3、读Excel3.1 Student实体类3.2 读取Excel4、写Excel 1、前言 在没有EasyExcel之前我们经常使用Apache的poi jar包进行excel的读写,配置起来比较麻烦,也比较消耗内存,阿里开源了EasyExcel,配置...

2019-05-14 19:57:35 2122 0

原创 Java多线程

1、synchronized关键字 1.1 作用范围 修饰普通方法,作用于当前对象,进入同步代码前要获取当前对象实例的锁。 修饰静态方法,作用于当前类对象,进入同步代码前要获取当前类对象的锁。 修饰代码块,指定加锁对象,对给定对象加锁,进入同步代码前要获得给定对象的锁。 1.2 具体使用(单例...

2019-04-10 00:08:39 35 0

原创 Java基础知识

1、Object类的方法 toString() getClass() clone() equal() notify() notifyAll() wait() finalize() 2、ArrayList和LinkedList区别 底层结构 ArrayList的底层结构是数组 LinkedLi...

2019-04-09 22:53:57 54 0

原创 String、StringBuffer和StringBuilder之间的区别

前言 在平常使用Java语言中的字符串的时候,会有三个数据结构供使用,String、StringBuffer和StringBuilder该使用哪一个呢?下面探讨一下其中的异同点。 String 先看下其Java源码 public final class String implements ...

2019-04-01 19:47:50 57 0

原创 get请求中文中文乱码问题

这里写自定义目录标题请求乱码解决办法 请求乱码解决办法 name= new String(name.getBytes(), "utf-8");

2019-02-22 11:50:49 1501 0

原创 常用SQL总结

1. 按月份统计数据 select month(date),sum(visit_times) from t_table_exapmle where year(date)= '2018' and group by month(date);

2019-01-17 15:14:02 65 0

原创 IDEA开启远程dubug模式

目录Tomcat配置Linux服务器Window服务器IDEA配置 Tomcat配置 Linux服务器 在catalina.sh中添加一行 export JAVA_OPTS=&amp;quot;-Xdebug -Xrunjdwp:transport=dt_socket,server=y,s...

2019-01-15 10:39:35 324 0

原创 普通索引转唯一索引,数据重复问题解决

1、前言 在数据库的设计的时候经常会遇到这种问题,建立了普通索引想转唯一索引,但是数据库有重复数据了。而且数据不好找和删除。这个时候怎么办呢? 2、纯SQL解决 这里给一个例子: 表 student 其数据结构如下: id name grade score 1 zhanghanlu...

2018-11-30 17:25:48 3384 0

原创 RabbitMQ exchange(交换机)的三种模式

1、前言 我们在rabbitMq的时候经常会用到exchange来分发我们的消息,在使用exchange的时候要了解其常见的三种模式: fanout模式 direct模式 topic模式 2、exchange的fanout模式 这个模式的要点是:忽略routing key,将消息发送到绑定...

2018-11-27 16:27:32 675 0

原创 Java 保存两位小数

前言 在Java开发过程中,我们经常会遇到需要保留double类型的数字的位数问题,这里以保存两位小数为例,阐述一下Java开发中,保留小数点后小数位数问题的几种做法。 做法(1)使用DecimalFormat类 用0.00表示保存两位小数 double a = 100.2365; Decimal...

2018-10-24 10:53:30 3544 0

原创 Java之Date类和Calendar类比较

前言 目前Java版本的Date类中已经逐步抛弃getDate()、getDay()的方法了,取而代之的是Calendar类的get()方法。所以在这边对Date类和Calendar类做一个总结。 Date类 这个类的来源非常的古老,从JDK1.0就有了,但是因为后面不支持国际化,Java逐渐向C...

2018-10-23 17:32:47 2444 0

原创 Linux安装Redis

前言 安装redis在windows平台很好安装,这里就不多介绍了,主要介绍在Linux平台安装redis 获取redis安装包 wget http://download.redis.io/releases/redis-4.0.11.tar.gz 安装gcc yum install ...

2018-09-19 10:00:44 117 0

原创 可重入锁ReetrantLock源码分析

前言 关于锁,大家都清楚的是synchronized,和lock接口。关于lock显式锁,我们常用的是ReentrantLock类中的公平锁和非公平锁。本篇文章根据ReentrantLock和AbstractQueuedSynchronizer的源码来分析可重入锁中的公平锁和非公平锁的实现机制。...

2018-09-03 10:19:39 198 0

原创 Bug之javax.imageio.IIOException: Error reading PNG metadata

问题描述 在用thumbnailator包的时候遇到一个问题:就是png文件元数据有损坏,但是在电脑上该png文件是可以显示的。 问题代码如下: File file = new File("D:\\data\\1.png"); try { ...

2018-08-30 10:40:18 4384 0

原创 单例模式总结

1.定义   单例模式,顾名思义,在该设计模式中,一个类只能存在一个实例。不能有超过一个实例的情况。   下面的图片就是单例模式的类图: 2.应用场景   单例模式的应用场景还挺多的。举个例子吧 windows系统的任务管理器 回收站 网站计数器 3...

2018-08-28 16:59:53 101 0

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