自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Blake的博客

星辰大海的征途,也从足履实地开始! 取其上者,得乎其中!

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

原创 Centos7上搭建MySQL主从

Centos7上搭建MySQL主从1.环境准备和说明主库所在机器IP:192.168.41.128从库所在机器IP:192.168.41.129保证主库和从库的databases、tables必须存在(即databases和tables的DDL语句必须保持一致且已完全执行完毕!)或者直接 GRANT ALL PRIVILEGES ON . TO ‘repl’@’%’ ; 这里的repl是从库用于同步数据的用户名,自定义即可!2.MySQL主从搭建的详细步骤:# 1 在主数据库上创建同步账

2020-12-01 15:55:55 351

原创 SpringBoot 收集并记录接口调用过程信息的Aop实践

1.需求拆解2.自定义注解3.定义切面4.Demo调试

2019-09-29 16:18:58 1612

原创 企业付款到零钱「微信小程序别样发放红包」

目录一、开发前的准备工作二、接入微信企业付款到零钱API1)接入「企业付款到零钱」API2)接入「查询企业付款」API三、开发过程的参数封装以及工具类封装四、调试注意事项汇总一、开发前的准备工作前往商户平台开通「企业付款到零钱」。 配置好API密钥和生成API证书。「企业付款到零钱」介绍:开通注意事项见下图。详情请戳:企业付款场景介绍&操作...

2019-05-25 11:52:24 2427

原创 论阿里easyexcel导出Excel的优雅性,会否超乎您的预期呢?

我们直奔主题:阿里easyexcel导出Excel文件的优雅性有哪些具体表现?准备工作之引入Jar依赖:Gradle:// https://mvnrepository.com/artifact/com.alibaba/easyexcelcompile group: 'com.alibaba', name: 'easyexcel', version: '1.0.2'Maven:...

2019-04-24 23:03:14 2869

原创 MySQL 的 datetime 对应 Java 中的哪种数据类型?

MySQL vs Java MySQL Java datetime java.sql.TimeStamp

2019-01-24 23:08:30 24922

原创 JsonNode 读取数据

jsonResponse ={ "status":"success", "data":{ "id":1, "dealerInfoId":1, "dealerName":"北京长怡汽车销售服务有限公司", "address":"广州市", "active":true, "created...

2019-01-24 22:55:50 10091 6

原创 微信小程序码生成并存储至七牛云COS Java版本

文章要点描述:1. 调用微信API获取接口请求凭证信息;2. 调用微信API并获取小程序码二进制流信息;3. 使用字节流解析,并转换成图片,随即上传至七牛云;4. 手动拼接图片的访问URL. private static final String ACCESS_TOKEN_KEY = "MINI_PROGRAM_ACCESS_TOKEN";// URL=> 获取...

2019-01-16 12:22:38 1329

原创 借助Zookeeper实现分布式锁

我们都知道,在JDK中,我们可以通过synchronized关键字和Lock实现同步锁,也称本地锁。一般我们用其在多线程环境中控制对资源的并发访问。本地锁有其局限性,本地锁仅适用于单个JVM进程。试想,随着业务的快速发展,单机应用势必会被替代,取而代之的将是分布式集群部署。在分布式环境中,本地锁将失去其应有效用。由此,分布式锁应运而生!

2020-05-06 14:02:48 241

原创 docker进阶实践之compose集成式应用组合

一、Compose简介Compose是docker官方开源项目之一。负责实现快速编排docker容器集群,其定位是 定义和运行多个docker容器的应用。稍微有docker基础的小伙伴们,应该都知道借助Dockerfile模板文件可以非常方便地定义一个单独的docker应用容器。但是,日常工作中,我们经常需要多个容器相互配合来完成某项任务。(例如:要实现一个Web项目,除了Web服务容器本...

2020-02-12 15:34:39 292

原创 叨叨缓存中间件之Redis持久化机制

一、Redis持久化的必要性相信大家普遍都知道,Redis是NoSQL中的一员,其数据都保存在内存中。那我们知道,内存有一个特性就是断点即失!所以,Redis的数据如果只是单纯存储在内存中话,数据的安全性和可靠性是无法得到保证的!故而,引申出Redis持久化机制。那么,有关Redis持久化机制的详细解读又是怎样的呢?其实就是Redis的数据除了存储在内存中,还可以配置持久化策略,将Redis的...

2020-01-05 18:34:53 250

原创 Linux机器上使用源码安装软件 配置./configure --prefix选项的必要性及魅力所在

1.使用源码安装软件,不执行./configure --prefix的效果源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install)。Configure是一个可执行脚本,它有很多选项,在待安装的源码路径下使用命令./configure –help输出详细的选项列表。其中 --prefix 选项是用于指定软件安装的路径。如果不配置该选项,安装后...

2019-11-25 15:19:31 466

原创 Unable to access ActiveMQ admin page /admin/. Reason: Unauthorized 401

问题背景:本地安装好 activemq 并成功启动后,迫不及待想去看看 Web 控制台长啥样!于是,在 Google 浏览器地址栏输入http://192.168.205.133:8161/admin之后,回车。不料报错如下:Unable to access ActiveMQ admin page /admin/. Reason: Unauthorized这里说下排查思路:systemc...

2019-11-20 08:59:52 1091

原创 浅谈 Netty 线程模型

1.Netty简单介绍Netty是 一个 异步事件驱动 的 网络应用程序 框架,用于快速开发可维护的高性能协议服务器和客户端。这里,抛出一个问题:Netty 和 NIO 究竟有没有关系呢?Netty是一个NIO客户端服务器框架,可以快速轻松地开发网络应用程序,例如协议服务器和客户端。它极大地简化和简化了TCP和UDP套接字服务器等网络编程。2.Reactor线程模型和NIOReac...

2019-11-10 21:44:44 339

原创 comm技能秀,你绝对要学会!

comm 命令的妙用

2019-10-24 11:53:00 191

原创 Java内存模型与volatile关键字不为人知的关系

1 博文主旨行文主要围绕以下3个问题展开阐述:volatile关键字作用有哪些?volatile关键字有哪些运用场景?Java内存模型与volatile之间究竟有何关联?2 Java内存模型 VS JVM运行时数据区2.1 Java内存模型Java虚拟机支持多线程任务的执行。在多线程运行场景下,若线程间未能保证同步的正确性,线程的行为可能会出现混淆和违反直觉。在这种情况下,我...

2019-10-09 23:21:19 217

原创 ThreadLocal和线程栈封闭

1.线程栈是什么?2.什么叫线程封闭?线程栈封闭又是什么?3.ThreadLocal是什么?怎么使用?

2019-09-30 11:40:47 358

原创 Java线程的4种创建方式

Java中创建线程有几种方式?继承Thread类实现Runnable接口实现Callable接口使用线程池创建线程(有多种方式)

2019-06-30 07:44:52 436

原创 OutOfMemoryError是什么错误?

1.OutOfMemoryError是什么错误?OutOfMemoryError 表示堆内存溢出也即我们启动Java程序时,通过 -Xmx 参数指定的最大堆内存都用光了2.请编写一个Java程序使其发生OutOfMemoryError错误在while(true)循环体当中,不断创建新线程,最终将产生OutOfMemoryError错误,示例代码如下:public class Ou...

2019-06-29 22:44:57 4226

原创 StackOverflowError 是什么错误?

StackOverflowError 是什么错误?1.StackOverflowError是什么错误?又是什么原因引起的呢?StackOverflowError 称为栈内存溢出。常发生于方法的无限递归调用(即方法递归没有带上结束递归的条件)2.请编写一个Java程序产生StackOverflowErrorpublic class StackOverflowErrorDemo { ...

2019-06-29 13:09:32 5112

原创 location指令在Nginx中的配置使用

Nginx使用示例之location指令1.location 指令的作用将request请求路由至文件系统的正确位置即当请求URL与location配置规则相匹配时,location指令将告知Nginx应该如何查找资源(文件或者文件夹)2.location 指令语法location可以配置在一个server指令块或者另外一个location指令块(存在某些限制)之内locati...

2019-06-29 12:20:57 392

原创 String convert to BigDecimal in Java

public class StringToBigDecimalDemo { public static void main(String[] args) { String currency="13.14"; BigDecimal bigDecimalCurrency=new BigDecimal(currency); System.out.println("String to ...

2019-05-28 22:33:31 1749

原创 MySQL索引之创建、查看和删除

一、索引的目的索引的目的在于提高查询效率,可以类比字典,如果要查“mysql”这个单词,我们肯定需要定位到m字母,然后从上往下找到y字母,再找到剩下的sql。如果没有索引,那么你可能需要把所有单词看一遍才能找到你想要的。二、MySQL索引语法相关 创建索引 -- MySQL创建索引的2种方式-- 1) CREATE INDEX-- CREATE INDEX可对数据表增加普...

2019-05-19 11:01:56 788

原创 MySQL主从复制原理及上机实践

一、主从复制的基本原理 Slave会从master读取binlog来进行数据同步。 master会将自身的改变记录到二进制日志(binary log)。这些记录过程称为二进制日志事件(binary log event)。 slave将master的binary log events拷贝到它的中继日志(relay log)。slave参照中继日志,将改变应用到自身。 ...

2019-05-19 09:31:24 234

原创 掌握这些Git命令,助你在开发中驾轻就熟

本文要点:从项目代码的clone到内容修改、提交和远程推送等展开,力争详细讲解Git在日常开发中的常用命令。假定我们的项目使用gitlab来托管代码,那么我们才能使用Git进行版本管理。1.第一阶段使用 git clone xxx.git 将版本库的代码克隆至本地的某个路径,该路径将作为本地的仓库路径。接下来,一般是将项目导入IDE开发工具,如IDEA,Eclipse等。等待Jar...

2019-04-24 22:53:55 313

原创 SpringBoot快速集成Mybatis并轻松上手调试

本篇主题:SpringBoot如何快速集成Mybatis并上手调试?引入相关Jar依赖这里使用Gradle作为构建工具,构建脚本build.gradle见下图:事实上,SpringBoot与Mybatis的集成由 org.mybatis.spring.boot:mybatis-spring-boot-starter:2.0.0 完成。因此,org.mybatis.spring.bo...

2019-04-08 21:27:48 772

原创 MySQL命令行增强版mycli应运而生

本文主题:介绍mycli,如何在Mac下安装mycli及常规用法等。mycli是什么稀罕物?mycli是一款能够实现mysql语句自动补全且兼具语法高亮的MySQL命令行客户端。参考链接HomePage: http://mycli.netDocumentation: http://mycli.net/docsMac下如何安装mycli?$ brew update &a...

2019-04-07 14:58:04 327

原创 git commit但未git push的情况下,git reset 的最佳实践是?

本文主题:在执行git commit 成功且并未执行git push 将本次提交推送到远程仓库的情况下,若想撤销本次提交,最佳实践是怎样的呢?下面,请看:图1 git commit后,git push前的提交记录假定,git commit后(还未执行git push),我们执行git log看到的提交记录如图1所示。我们可以看到:最新一次的commit_id: dbd770...

2019-03-25 08:59:04 557

原创 SpringBoot读取properties文件配置项最常用2种方式

使用SpringBoot开发过程中,难免需要配置相关数据项,然后在Java代码中@Autowired注入并使用。基于SpringBoot项目,配置项一般都存放在application.properties文件中。我们应该如何读取properties文件中的配置项呢?有2种常用的方法:使用@Value注解标注在Field上面 使用@ConfigurationProperties注解标注...

2019-03-17 22:27:23 5051

原创 SpringBoot中这样定义全局异常处理器Global Exception Handler

在SpringBoot中,我们使用@ControllerAdvice注解定义全局异常处理器。详见下方代码块:@ControllerAdvicepublic class GlobalExceptionHandler { private static final Logger logger = LoggerFactory.getLogger(GlobalExceptionHandler.c...

2019-03-13 22:55:45 6891

原创 Java8 实现ArrayList求交集并集差集

本文借助Java8的Stream API完成ArrayList集合运算:求交集、并集和差集!以下代码可立刻复制至IDE运行调试!public class CollectionUtil { /** * 判断为空 */ public static boolean isEmpty(Collection<?> collection) { ...

2019-03-05 21:26:52 2859

原创 Java 批量打包文件 Zip下载

本篇文章主题:如何批量压缩指定目录的文件成Zip包并下载。以下附上ZIP压缩打包的关键编码:友情说明:ZIP打包下载功能,行文中将其作为一个Service服务对外开放。测试验证的话,可自行创建Controller层,建议使用REST风格API,传入HttpServletResponse对象以及指定特定目录下的图片文件名称数据集(数据类型:List),即可完成测试!public cla...

2019-03-05 21:14:28 965

原创 Nginx 访问指定端口如8080报 404

Nginx 正常启动,在浏览器地址栏访问配置好的端口却无法进入Nginx的欢迎页面,报错见下图:原因:listen 配置的监听端口有可能出现冲突情况,建议修改端口再试试!...

2019-02-21 14:56:57 2831

原创 基于Gradle修改Spring Boot项目打包生成的Jar名称

使用Gradle构建Spring Boot 项目。Spring Boot 基于2.x版本。默认情况下,Mac下执行命令行 ./gradlew clean assemble(Windows下执行 ./gradle clean assemble) 打包,最终会在 build/libs/ 路径下自动生成形如 Xxx-0.0.1-SNAPSHOT.jar 的Jar包。那么,如果我们想要修改打包生成的...

2019-02-21 12:04:03 5086

原创 Java文件renameTo()重命名失败并返回false的原因分析

最近,手头上有一个图片添加水印的功能点,水印处理完成,需要对原文件进行重命名后再返回给前端,但重命名的过程并不顺利!以下,记录下问题的解决方法:// 原文件名String originalFilename = file.getOriginalFilename();// 原文件扩展名String originalFilenameExtension = org.springframewor...

2019-02-20 14:54:18 10587

原创 原图片基础上添加图片水印和文字水印 Thumbnails Java版

水印要求:左上角为文字水印,左下角为Logo图片水印,右下角为图片水印(如百度定位静态图)。一、引入Jar依赖Gradle语法:compile 'net.coobird:thumbnailator:0.4.8'Maven语法:<!-- https://mvnrepository.com/artifact/net.coobird/thumbnailator -->&...

2019-02-19 23:12:11 6442 3

原创 cannot find package "fmt" in any of: 在Mac下的解决方案

背景说明:Mac安装golang,是通过brew进行安装的,因此,本文提出的解决方案并非适用所有情况。故事先声明!一、通过brew安装golang首先查看golang的可用版本有哪些➜ ~ brew search go==> Formulaealgol68g go gocr ...

2019-02-15 20:40:14 4511

原创 单元测试Junit Test 聚焦Dao层 Java版

一、单元测试为什么要针对Dao层呢?其实,Dao层的单元测试,目的在于保证数据交互的准确无误,有了这个基础,那么上层的单元测试才有更高的可靠性!二、步骤说明准备好测试数据的sql脚本文件,存放在test/resource/ 目录下。当然,为了方便管理,建议按照功能模块建立细分目录,如banner。执行insert操作前,务必先执行 truncate table tableName;以防...

2019-02-13 18:29:11 1749

原创 单元测试Junit Test 聚焦Controller层 Java版

概要:演示如何从Controller层完成单个API的单元测试任务 单个API单元测试编写规范:一个Api对应一个测试类class,应尽可能包含Api调用会出现的状况 聚焦Controller的测试模板代码块讲解细化 涉及 Assertions , AssertJ 等Api的常规用法 先展示Controller层代码,再展示Tests代码,方便对照着查看Controller/**...

2019-02-13 18:25:49 1057

原创 单元测试Junit Test 中 Assertions 使用 Java版

业务场景描述:盘库操作中需要使用具备有效期限的动态码登录系统,接下来是结合 动态码更新API 的单元测试,讲解Assertions 的常规用法。项目采用 Spring Boot + Gradle 集成,下面使用gradle 语法引入依赖:testCompile group: 'org.springframework.boot', name: 'spring-boot-starter-te...

2019-01-25 22:10:50 3675 4

原创 POI 导入Excel Java版 兼容2003&2007

Excel文件导入数据库思路解析:准备好需要import的Excel文件 准备Excel文件数据对应的Bean 引入POI相关的Jar依赖 做好.xls和 .xlsx 的兼容处理 读取sheet数量为N,进行N轮迭代处理 每一轮迭代处理,都是先获取Row对象,接着对Row中的每个单元格Cell进行数据类型判断匹配,按需处理 将第6步的数据初始化成一个个bean实例 将bean实例...

2019-01-25 22:08:44 434

空空如也

空空如也

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

TA关注的人

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