自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 服务预热配置化在泛型化方法上的实践

结合spring实现的服务预热配置化,在代理bean泛型化方法上的探索与实践!

2023-03-03 17:48:57 691

原创 axios的delete操作你踩过坑吗?

axios的delete请求使用body参数,你是否也和我一样犯错了!

2022-08-23 19:52:04 1604

原创 我的Go语言之旅

前言关于本篇文章的几点说明:本文的内容基本都来自网站:Go旅行中文版同时文章中,也加入了少量自己的认知(结合自身目前所 “擅长” 的Java语言的特点进行了简单的类比),这些认知,或多或少的也会存在一定的误区或者不当的地方,欢迎擅长Go语言的你,来为我指正或纠错,我定不胜感激至于为什么会写下这篇看似 “剽窃” 的博文呢,因为我本人坚信 “好记性,不如烂笔头” 的观点(当然我本人也没有完全履行这个信念,但是我还是很认可这个!)。最后呢,我也希望这篇文章或多或少的能给正在学习Go我们一

2022-04-30 20:50:45 630

原创 采用数据流的方式来上传文件,HttpUtils样例

背景开发过程中,总会遇见你从来没有尝试过的技术或者是已有技术的使用,更可能是你在用的技术的变种使用。工作还是要完成的,但是这些东西我们又不知道如何使用,那么就只有“速学”了,拥有一个良好的学习,探索习惯是我们每个人成长的必要充分条件!接下来,就让我们来看看如何使用采用数据流的方式通过代码来上传文件吧!基于数据流方式上传的httpUtils样例这里采用gradle来构建项目,如果你使用maven构建项目,找到响应的GAV信息添加到项目的pom.xml文件即可。(这里不得不说一下,gradle真的好用,很

2021-12-26 17:39:10 2257

原创 使用Java的Gzip压缩时,发现的小秘密

背景:一次偶然的项目开发中,因为数据量大,为了有效利用缓存空间来缓存数据。采用将源数据压缩的方式来缓存,于是乎,我便开始使用java中的gzip流,由于史无前例,所以我也开始了面向百度编程。但是我并没有老老实实的按照百度的做法来使用,我使用了jdk7提供的新特性(稍后演示给你看),也就是这个新特新把我坑惨了,话不多说,直接上案例!!!用例下面是我使用gzip的代码(采用新特性,自认为没问题):public class GzipUtil { private static final

2021-10-15 20:26:53 1081

原创 正则表达式捕获组在Java中居然不起作用了

场景:我在使用正则表达式非捕获组的过程中,居然出现了失效的情况,之前都是好用的,怎么突然就不好用了呢,没办法匹配了呢。带着这个疑问我开始google,但是并没有什么有效的数据来解释,都是和我一样的用法,但是为什么我失效了呢?到现在我也不知道为什么,但是我找到了让它生效的办法。java版本信息:非捕获组:顾名思义就是通过正则表达式匹配捕获的内容,但是不捕获我们的匹配结果,也就是不存储匹配结果到分组中。失效图例:搜索网上的帖子,基本都会说这个是匹配的,应该是为true才对的,但是事实反转了,不是理

2021-06-01 20:30:32 596

原创 有关于用户签到小功能的思考

public class Continue { public static void main(String[] args) { // 方案-: // 通过用户ID来区分每个用户的 redis key达到唯一 long userId = 0; String key = "oil:water:game:" + userId; //--------------redis key 不过期或者过期时间为活动结束时

2021-03-18 21:10:13 132

原创 Cookie的过期时间如何设定的呢?

在实际的开发工作中,需要在多次请求中携带一些带有生命期的数据信息,以及需要和前端协作存储少量含有过期值的必须数据。那么就需要使用到cookie了,有了cookie大家可能会想到,session也可以完成会话时数据的存储呀。他们确实都可以,只是用法,范围以及场景都略有却别!cookie的过期时间如何设置的呢,很简单掉用setMaxAge(seconds)即可,再通过httpServletResponse.addCookie(cookie)完成cookie的种植即可。虽然只是简单的两步,如果没了解过期值设置的

2021-01-08 19:52:34 3388

原创 Java中常见的垃圾回收算法与垃圾回收器

引言垃圾在大家的眼里并不陌生,我们称不再在关心,暂时没有可用价值的事物为垃圾。了解过JVM的内存结构后,我们知道了JVM的内存使用率也是限度的,那么如何控制有限的内存,保证Java程序的健壮呢?答案:自然就是垃圾回收咯,在JVM中已经植入了对应的垃圾收集器,并默认配置了。为了系统中更好的发挥不同的收集器的特性,提供更好的服务。我们就来一起认识一下这些垃圾收集器,了解它们的特性与原理。垃圾回收(Garbage Collection)是Java虚拟机(JVM)垃圾回收器提供的一种用于在空闲时间不定时回收无

2020-11-02 15:08:10 350

原创 JDK8中使用LocalDateTime出现异常UnsupportedTemporalTypeException: Unsupported unit: Months

背景:最近开发项目的时候,需要对项目中的时间做计算(加, 减操作)。最近的方式就是采用JDK8中提供的API,非常的方便与简洁。但是,因为之前的日期采用的是Date处理的,当然这也不是什么难事,可以转化为LocalDateTime来计算,最后转化回去就好了。于是乎,就出现了下面的代码:// 将时间设置为三个月后,看似没问题是吧?Date.from(new Date().toInstant().plus(3, ChronoUnit.MONTHS));运行代码之后,竟然出错了。出现了如下图的异常信息

2020-09-30 16:34:21 2554

原创 通过使用JDK默认AES工具加解密数据出现Illeage key size的异常

简述在网络中传递数据时,我们多少都会做出一些加密操作,并非直接将明文数据在网络中传输,多数都会通过简单的对称加密操作,传递密文。这样做的好处可以避免在请求被抓包或者拦截的同时,将重要信息暴露给“敌人”,保证了用户的数据安全。实际案例最近在做公司接入百度API获取用户信息,百度提供的用户信息,采用了对称加密算法,进行了加密处理(虽然与微信采用了相同的加密方式,但是不同的是,百度加密的数据包含有补位字符需要移除后才会得到真实的数据)。使用百度提供的解密方式,本地解密成功,但是在公司测试环境上无法解密,查看

2020-09-17 16:04:49 376

原创 安装Git遇见drive or UNC问题

安装git出现下列错误提示信息,无法完成安装!重新安装git时,之前安装了git的磁盘不存在导致的问题,可以使用subst 盘区:%TEMP%,临时构建模拟盘区,安装完成后,可以使用subst 盘区:/D来删除。...

2020-09-13 19:35:02 1358

原创 RocketMQ使用filter失败,报The broker does not support consumer to filter message by SQL92

在实践 RocketMQ 的基于 UserProperty 来对消息进行过滤消费时,启动 consumer 时出现了如下的报错信息:导致无法正常启动 consumer,通过查看 RocketMQ 中的BrokerConfig 类,发现了问题的原因如下:在 MQ 的默认配置里,关闭了对 property filter 的支持。来到 RocketMQ 安装目录的 conf 目录下修改 broker 的属性文件broker.conf,添加下面的属性配置即可正常启动。# 开启对 propertyfilt

2020-09-03 17:01:05 1283 1

原创 深度理解JVM中垃圾收集器的工作原理与特点

引言       垃圾在大家的眼里并不陌生,我们称不再在关心,暂时没有可用价值的事物为垃圾。了解过JVM的内存结构后,我们知道了JVM的内存使用率也是限度的,那么如何控制有限的内存,保证Java程序的健壮呢?答案:自然就是垃圾回收咯,在JVM中已经植入了对应的垃圾收集器,并默认配置了。为了系统中更好的发挥不同的收集器的特性,提供更好的服务。我们就来一起认识一下这些垃圾收集器,了解它们的特性与原理。垃圾回收(Garbage Colle

2020-08-24 11:30:12 213

原创 使用shell完成数据的批量导入及接口批量写入数据

需求背景在日常的开发工作中,新的需求或者活动的开启,需要对用户的各类数据进行更新,用来支持后续的业务以及对活动的参与。因此,我们需要来刷新用户的数据,待刷新的用户数据可能涉及到上千,上万,甚至十几万条,一条条的去修改,显然很不现实,也很愚昧。就需要我们去批量的请求接口来写入数据。方法有很多种,例如:Postman工具,HttpClient,Shell脚本,Python脚本等等。这里采用了Shell脚本,有两个原因:1)可在Linux上运行(服务器多半都是Linux系统);2)熟悉Shell编程,实践Lin

2020-08-17 10:51:42 1635

原创 shell利器awk介绍与使用小案例

强大的awk指令1. awk简介awk 是一个强大的文本分析工具,它是 Linux 中功能强大的数据处理引擎之一,可能这么说非常抽象,awk 可以非常轻松地处理比如每行都是相同格式的文本,比如日志,cvs 格式等等。相对于 grep 的查找,sed 的编辑,awk 在其对数据分析并生成报告时,显得尤为强大。本文,只是简单介绍如何使用awk完成简单的日常任务需求。2. awk特性语句格式# 统配模式awk [options] 'script' fileoptions 这个表示一些可选的参数选

2020-08-14 17:46:21 191

原创 探究Spring中Mapping原理,并自定义实现HandlerMapping

前言最近,准备查一下Spring中的Interceptor的实现原理,以及运行机制,怎么在Spring中发挥作用。无意间就手动搜索了handler,结果就开始了handler的探究。这也算是一个意外的收获吧!如果,此时你也在了解探究Handler,希望这篇文章可以给你一点帮助哦,我也希望在评论区留下你的见解,一起学习探究!探究Mapping机制1. 初识HandlerMapping在了解Spring的Handler之前,我们先来了解一下Spring MVC的运行原理与机制,学习与使用过Spring的

2020-08-13 19:22:59 3453 7

原创 MySQL的下载与安装教程

MySQL简介MySQL关是一种关系数据库管理系统,所使用的 SQL 语言是用于访问数据库的最常用的标准化语言,其特点为体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,在 Web应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一,同时也是最为流行的结构化数据管理系统。下载、配置与安装下载步骤(zip方式)1)进入MySQL官网,移动到最下面,选择社区版下载。2)进入下载页面后,可以看到有

2020-08-06 17:28:12 188

原创 安装MySQL出现由于找不到vcruntime140_1.dll,无法继续执行代码的提示

问题描述:在安装MySQL服务的时候,执行安装命令提示如下的错误信息。解决方法:通过分析可以知道,是由于缺少了vcruntime140_1.dll动态链接库文件,这是 windows 缺少vc_redist.x64.exe程序导致的服务安装错误,与我们要安装的MySQL服务并没有关系。(如果您的安装过VS类型的工具,就不会提示该问题)下载文件下载链接地址:vc_redist.x64.exe官网下载地址。该链接咋在下载时,可能需要登录官网,否则会被拦截。安装双击下载的 vc_redist.x

2020-08-06 16:05:52 8740 2

原创 版本控制工具Git的安装与简单配置

介绍

2020-08-03 15:56:43 120

原创 官网最新方式下载指定版本JDK(Java),完成安装并配置Java的环境变量

最近换了新电脑,由于自己没有对之前的JDK安装包做备份,于是,便开始重新下载JDK。都知道Oracle收购了sun公司,所以我们直接前往Oracle公司的官网【网站入口】下载即可,由于Oracle的限制,需要用户注册Oracle账户才可以完成下载,注册很简单,it`s so easy!Oracle还不错,提供了中文版的官网,不过我觉得英文的也不错哦!1. 通过官网下载指定JDK程序按照下面的步骤,即可进入任意版本的下载界面中:进入官网,在产品菜单选择Java:点击进入之后,向下滑动页面将看到如下

2020-07-29 18:43:20 1669 2

原创 容器化开发工具docker的介绍与安装步骤(CentOS 7)

一、初识docker二、docker安装(CentOS 7)三、常用指令操作四、小案例

2020-06-15 12:00:00 180

原创 使用git上传项目时,出现error: src refspec master does not match any的错误提示

问题描述:

2020-06-04 19:46:26 336

原创 版本控制工具Git的基础使用及常用命令的介绍

Git介绍最初,在进行项目的开发时,常常是一个人就可以完成所有的工作。那是因为项目工程量相对较小,项目的复杂度也较低。当我们进入公司工作之后,接手的项目具有体积大,业务复杂,功能模块多,开发周期长,工作量大。面对这样的项目开发,我们就需要进行团队协作,清晰职责,那么Git就出场了。它可以使我们将项目托管到对应的代码管理平台中,例如:GitHub,码云等。同时又具有冲突检测,版本控制,协同开发的特...

2020-05-29 08:55:48 147

原创 Centos7.x启动postfix服务失败,提示 Job for postfix.service failed because the control process exited with

失败提示信息为:Job for postfix.service failed because the control process exited with error code. See “systemctl status postfix.service” and “journalctl -xe” for details.执行journalctl -xe命令获得如下信息:修改/etc/postfix/main.cf文件中的inet_interfaces = localhostinet_prot

2020-05-27 21:10:00 2557

原创 Shell编程入门,运算符的介绍与使用

运算符在shell编程中的所使用的运算符与其他编程环境中采用的运算符,基本一致。主要有:算数运算符、关系运算符、布尔运算符。在shell编程中,我们大多数时间都在和Linux系统进行指令的交互,为了提高开发效率,方便开发者使用,又扩展了两类运算符类别,它们分别是:字符串运算符、文件测试运算符。下面,我们就来认识一下这些运算符,并如何使用它们!算术运算符在进行算术运算时,我们涉及到表达式的书写问题。shell中不支持原生的算术表达式书写来计算,所以它为我们提供了expr与$((表达式)) 两种方式。

2020-05-27 18:30:06 141

原创 Shell编程入门,变量及特殊符号使用

前言概述shell编程在工作中以及面试的过程中,难免都会碰到。那么掌握它、运用它、理解它,则是一种必要的选择。正所谓:在编程的道路上,学无止境!对于shell编程,我同样也是一位学生,希望记录自己的学习过程,为自己查漏补缺,也希望可以帮到正在学习中的你。什么是shell?我想作为一名后端开发者来说,在接触了虚拟机,Linux系统之后,都不会感到陌生吧。shell是建立在Linux内核与应用程序之间的命令解释器。用户可以通过在应用程序软件使用shell编程来调用Linux内核的指令完成一定的逻辑操作。

2020-05-14 18:58:58 284

原创 flutter中build.gradle仓库的配置,解决外网下载速度过慢,失败的问题

问题描述在进行flutter项目开发时,我们常常会碰见我们在执行flutter run指令的情况下,出现资源下载过慢的问题,最终导致下载失败,无法build项目,抛出异常运行终止的现象。这些都会成为新手入门flutter开发的第一道难关,还可能劝退你进入flutter的世界中。俗话说:“车到山前必有路,船到桥头自然直”。不经历风雨,那得见彩虹呢!解决途径通过更改flutter项目中的build.gradle的仓库地址即可得到解决,当然如果你可以翻墙,大可不必管这些。(我想如果你 可以翻墙了,那你也就

2020-05-12 15:29:08 1298

原创 flutter结合Spring boot开发app实战所遇问题及解决方法

背景该项目为毕业的课程设计,针对校园信息的处理,开发一款具有针对性的APP,来完成校园内部的信息共享与传递。同时,也是作为初步入门flutter的小项目吧,当然了,这也是我本人第一次接触移动端开发。实不相瞒,很喜欢APP开发,于是,自己就开始琢磨flutter,为什么没有选择原生Android呢,主要还是因为,对于UI的布局渲染能力有限,会难许多吧(个人理解啦)所运用到的主要技术与框架后端则采用了java语言来编写,使用Spring boot来搭建项目,其他技术还有,aliSMS,JPush,Red

2020-05-12 12:34:53 3614 6

原创 2020春招字节跳动编程题

前言刚刚做完字节的笔试,就赶紧来记录一下。字节确实题好难的,这可能就是大佬们的常规操作吧。还是要提高自己才可以,为自己蓄力,也希望大家指正不足之处。题目:对于两个长度为n的数组a,b。通过某种操作将a数组变成为b数组。这个操作就是:从L-R区间段为每个数字都加上相同的值k。其中:1<=L<=R<=n,k>=0;输入描述:首先输入一个数字t,表示有t组数据,每组数...

2020-04-12 22:27:38 495

原创 Spring boot使用@JsonFormat时间偏差

在项目的开发中,想要在前端获得已经格式化完成的时间字符串。使用Jackson中的@JsonFormat注解即可完成。例如:@JsonFormat(format = "yyyy-MM-dd HH:mm:ss")注解在想要格式化的日期上即可。由于忽略了时区问题,会发现时间和数据库中显示的不一致。所以我们继续这样做@JsonFormat(format = "yyyy-MM-dd HH:mm:ss", ...

2020-04-12 19:03:49 761

原创 Jacoco增量代码覆盖率工具使用心得

写在前面这是本人第一次写博文,之前有很多问题及学习过程均没有通过博客来记录,这也是个人感觉比较遗憾的。以后会坚持写博文的习惯,也欢迎各位在每篇博文留言处指正错误和提出建议。Jacoco是什么?Jacoco 是一个开源的覆盖率工具。Jacoco 可以嵌入到 Ant 、Maven 中,并提供了 EclEmma Eclipse 插件,也可以使用 Java Agent 技术监控 Java 程序。很...

2019-12-04 19:09:52 3217

空空如也

空空如也

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

TA关注的人

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