自定义博客皮肤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

不积跬步无以至千里

  • 博客(56)
  • 资源 (10)
  • 收藏
  • 关注

原创 Python超时机制两种办法

目录1、问题2、Python超时控制的两种办法(简单不复杂)2.1 引入eventlet2.2 引入func-timeout3、总结1、问题最近做项目有一个问题,需要使用Python自动化测试apk,需要控制自动化测试的时间,设置超时时间,超时后直接跳过不运行,以及判断超时的时候可以打印日志记录2、Python超时控制的两种办法(简单不复杂)2.1 引入eventlet例子如下:import eventletimport timedef test_timeout(timeout_time)

2021-03-07 15:33:02 10388

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

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

2020-06-11 09:36:24 1415

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

1、前言

2020-03-30 11:02:12 487

原创 Hexo博客部署到服务器

1、安装git在Centos系统上安装gityum install git检测是否安装成功$ git --versiongit version 1.8.3.1添加git用户adduser git添加公钥su gitcd ~mkdir .sshcd .sshtouch authorized_keysvim authorized_keys将公钥id_rsa.pub...

2020-03-29 18:03:22 803

原创 Spring解决CORS问题

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

2020-03-22 10:15:18 1644

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

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

2020-03-15 14:15:17 649

原创 SpringBoot 打war包并部署到Tomcat

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

2020-03-10 16:55:24 201

原创 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、添加环境变量vim /etc/profile添加入下内容,并保存export JAVA_HOME=...

2020-03-10 16:25:35 8059 2

原创 MarkDown图片缩放

关于MarkDown处理的过程中,我们需要对上传的图片进行缩放以适应文档的格式。1、HTML标签(推荐)<div align="center"> <img src="" width="50%"></div>将图片按比例缩小为原来的50%2、云存储处理我的图片存储是用的又拍云,它有对应的图片处理的功能。...

2020-03-07 10:57:59 6367 2

原创 网站备份脚本

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

2020-03-06 12:30:48 233

原创 加密算法总结

文章目录1、前言2、对称加密和非对称加密3、数字签名4、常见算法4.1 MD5摘要算法4.2 SHA算法1、前言本文主要总结了常用的一些加密算法,对称加密算法和非对称加密算法以及数字签名2、对称加密和非对称加密对称加密算法:该算法又称为私钥加密、共享密钥加密。主要是加密和解密都用同一个密钥进行。一旦密钥落入别人的手中,该算法就被破解了。主要的加密算法有DES算法、Blowfish算法、...

2020-03-05 21:28:32 461

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

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

2020-02-24 11:30:14 10340

原创 Java后端多级缓存写法

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

2020-02-24 11:26:52 1147

原创 HTTP状态码详解

1、前言我们在访问网页的时候,服务器会返回 HTTP 状态代码以响应该请求,在这里给常用的状态码进行详解。2、状态码详解1xx(临时响应)2xx(成功)3xx(重定向)4xx(请求错误)5xx(服务器错误)1xx(临时响应)状态码说明100(继续)请求者应继续进行请求。服务器返回此代码以表示,服务器已收到某项请求的第一部分,正等待接收剩余部分。...

2020-02-19 17:39:17 701

原创 分布式系统限流方案

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

2020-02-19 13:26:28 1145

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

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

2020-02-17 18:47:15 349

原创 使用Python读写Excel文件

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

2020-02-16 18:59:13 1917

原创 Hexo博客摘要生成方法

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

2020-02-14 15:04:17 2327

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

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

2020-02-09 08:36:19 486

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

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

2020-01-29 19:26:42 1250

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

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

2019-09-02 13:49:39 1031

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

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

2019-07-22 20:54:19 102

原创 Redis知识点总结

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

2019-07-22 20:16:57 154

原创 一致性Hash算法

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

2019-07-03 16:37:47 233

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

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

2019-06-12 15:55:36 326

原创 使用EasyExcel读写Excel

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

2019-05-14 19:57:35 3562

原创 Java多线程

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

2019-04-10 00:08:39 100

原创 Java基础知识

1、Object类的方法toString()getClass()clone()equal()notify()notifyAll()wait()finalize()2、ArrayList和LinkedList区别底层结构ArrayList的底层结构是数组LinkedList的底层结构是双向链表执行效率ArrayList随机存取 O(1),插入删除效率低Lin...

2019-04-09 22:53:57 135

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

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

2019-04-01 19:47:50 132

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

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

2019-02-22 11:50:49 1997

原创 常用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 117

原创 IDEA开启远程dubug模式

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

2019-01-15 10:39:35 657

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

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

2018-11-30 17:25:48 7861

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

1、前言我们在rabbitMq的时候经常会用到exchange来分发我们的消息,在使用exchange的时候要了解其常见的三种模式:fanout模式direct模式topic模式2、exchange的fanout模式这个模式的要点是:忽略routing key,将消息发送到绑定到交换机的所有队列中fanout 例子交换机为:zhanghanlun其绑定的状态为:生产者...

2018-11-27 16:27:32 2775 1

原创 Java 保存两位小数

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

2018-10-24 10:53:30 5802

原创 Java之Date类和Calendar类比较

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

2018-10-23 17:32:47 4097

原创 Linux安装Redis

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

2018-09-19 10:00:44 182

原创 可重入锁ReetrantLock源码分析

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

2018-09-03 10:19:39 351

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

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

2018-08-30 10:40:18 12082

原创 单例模式总结

1.定义  单例模式,顾名思义,在该设计模式中,一个类只能存在一个实例。不能有超过一个实例的情况。   下面的图片就是单例模式的类图: 2.应用场景  单例模式的应用场景还挺多的。举个例子吧 windows系统的任务管理器 回收站 网站计数器 3. 单例模式的写法3.1 懒汉式(线程不安全)  在我们学习单例模式的时候,第一次给出我们...

2018-08-28 16:59:53 251

精通SpringMVC

精通SpringMVC精通SpringMVC精通SpringMVC 清晰可打印

2018-08-08

2015年王道数据结构复习指导-王道论坛编写

2015年王道数据结构复习指导-王道论坛编写 清晰可打印

2018-03-18

Octave入门教程

吴恩达《机器学习》课程制定工具Octave的入门教程 吴恩达《机器学习》课程制定工具Octave的入门教程

2018-03-15

Scrapy框架爬取51job和智联招聘数据信息

Scrapy框架爬取51job和智联招聘数据信息 Scrapy框架爬取51job和智联招聘数据信息

2018-02-28

台大林轩田learning from data机器学习基石参考教材

台大林轩田learning from data 机器学习基石参考教材 台大林轩田learning from data

2018-02-07

吴恩达机器学习课件

吴恩达机器学习课件 吴恩达机器学习课件 吴恩达机器学习课件

2018-02-07

Python简明教程PDF版

Python简明教程PDF版 Python简明教程PDF版 Python简明教程PDF版

2018-02-06

中科大岳丽华老师高级数据库系统作业答案(完全版)

中科大岳丽华老师高级数据库系统作业答案(完全版)中科大岳丽华老师高级数据库系统作业答案(完全版)

2018-02-06

java连接mysql的依赖库 jar包mysql-connector-java-5.1.17-bin.jar

java连接mysql的依赖库 jar包mysql-connector-java-5.1.17-bin.jar

2018-02-04

空空如也

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

TA关注的人

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