自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 微信支付的踩坑经历

继上次的《第三方支付订单修改金额的踩坑经历》之后,我又发现了新的坑。 背景:我们的系统接入了微信App支付、微信公众号支付以及微信小程序支付(至于为什么要接这么多微信支付,此处只需脑补:这个需求很简单,怎么实现我不管,不服你就找老板。PS:在微信浏览器中进行微信支付,只能使用微信公众号支付。在微信小程序中支付,只能使用微信小程序支付。在App内进行App支付,只能使用微信Ap...

2019-12-24 17:02:12 310

原创 记一次MySQL innodb引擎死锁问题

最近,在排查项目中服务端的报错时,发现服务端日志有死锁报错(偶发性)。 查看了具体的报错模块后,梳理出模拟表如下:CREATE TABLE `test_a` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, PRIMARY KEY (`id`)) ENGINE=I...

2019-08-23 14:18:38 177

原创 第三方支付订单修改金额的踩坑经历

近期所参与的商城项目在上线后遇到了这样一个问题: 业务背景是这样的:用户在商城下单后,选择使用微信支付(注意,我们系统的逻辑是客户下单选择支付方式后,后台直接会在第三方支付平台下订单,唤起第三方支付)。客户和客服经过沟通,客服需要对该订单进行改价后用户再行支付。但是修改订单金额后,客户再去支付时,弹出上图提示。 产生该问题时,我还不清楚客户和客服之间进行了这么一...

2019-05-17 12:02:20 5885 4

转载 IDEA设置RunDashboard

微服务项目的开发过程中,工程会非常多,经常要启动很多个服务,才能完成一项测试。启动的多了,容易开发者带来错乱的感觉,很不方便管理。在idea作为开发工具时,推荐一个很好用的功能--Run Dashboard。Run Dashboard面板如下设置打开Run Dashboard (View-》Tool Windows-》Run Dashboard)如果上述的选项里没有Run Dashboard,可以在工程目录下找.idea文件夹下的workspace.xml,在其中增加如下组件 &

2020-12-09 14:19:59 239

原创 前后台以Timestamp作为传参格式

该处理全部基于2.3.0.RELEASE版本返回参数Timestamp格式以Long格式返回在yaml配置文件中添加:spring: jackson: time-zone: GMT+8 serialization: WRITE_DATES_AS_TIMESTAMPS: true返回参数Timestamp格式以'yyyy-MM-dd HH:mm:ss'格式返回在yaml配置文件中添加:spring: jackson: time-zone:

2020-11-30 19:46:53 3540

原创 将Nginx设置为Windows服务

将Nginx设置为Windows服务需要借助"Windows Service Wrapper"小工具,项目地址:https://github.com/kohsuke/winsw下载地址:http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/1.18/winsw-1.18-bin.exe下载该工具后,将其放在 Nginx安装目录下,并重命名为nginx-service.exe,创建配置文件nginx-service.xml(名字要和工具..

2020-11-19 12:32:31 1629

原创 Linux脚本部署jar

start.sh文件(只需替换jar包名):#!/bin/bashAPP_NAME=jar包名echo 'Start the program : $APP_NAME' chmod 777 $APP_NAMEecho '-------Starting-------'cd /usr/local/project/nohup java -jar $APP_NAME >/dev/null 2>&1 &echo '$APP_NAME success'stop.sh文件

2020-11-18 17:09:21 244

原创 Springboot redis多数据源过期监听案例

在上一篇Springboot redis多数据源案例中,我们实现了springboot下多数据源的案例。本篇博客在此基础上,实现多数据源过期监听事件:监听器配置类:package com.xinx.redismultidatasource.config.redis;import com.xinx.redismultidatasource.listener.RedisDb1ExpiredListener;import com.xinx.redismultidatasource.listen

2020-09-14 11:12:09 406

原创 Springboot redis多数据源案例

以下为springboot多数据源案例,在此分享记录一下。pom文件:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://

2020-09-14 10:43:53 292

原创 快速排序算法

1.概念 快速排序由C. A. R. Hoare在1960年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。2.排序流程 快速排序算法通过多次比较和交换来实现排序,其排序流程如下: (1)首先设定一个分界值,通过该分界值将数组分成左右两部分。 (2)将大于或等于分界值的数据...

2020-08-27 12:12:42 158

原创 Spring源码解析

Spring官网读书笔记:https://blog.csdn.net/qq_41907991/category_9601507.htmlSpring源码解析:https://blog.csdn.net/qq_41907991/category_9907747.html

2020-08-04 10:18:04 161

原创 Spring Bean的生命周期

讲的通俗易懂:https://www.jianshu.com/p/1dec08d290c1

2020-07-24 17:23:29 130

转载 HTTP/3 来了 !HTTP/2 还没怎么用起来呢,先一起扫个盲吧!

2015 年 HTTP/2 标准发表后,大多数主流浏览器也于当年年底支持该标准。此后,凭借着多路复用、头部压缩、服务器推送等优势,HTTP/2 得到了越来越多开发者的青睐,不知不觉的 HTTP 已经发展到了第三代。本文基于兴趣部落接入 HTTP/3 的实践,聊一聊 HTTP/3 的原理以及业务接入的方式。1. HTTP/3 原理1.1 HTTP 历史在介绍 HTTP/3 之前,我们先简单看下 HTTP 的历史,了解下 HTTP/3 出现的背景。随着网络技术的发展,1999 年设计的 HT

2020-07-07 23:41:09 243

转载 TCP性能调优实战

前言TCP 性能的提升不仅考察 TCP 的理论知识,还考察了对于操作系统提供的内核参数的理解与应用。TCP 协议是由操作系统实现,所以操作系统提供了不少调节 TCP 的参数。Linux TCP 参数如何正确有效的使用这些参数,来提高 TCP 性能是一个不那么简单事情。我们需要针对 TCP 每个阶段的问题来对症下药,而不是病急乱投医。接下来,将以三个角度来阐述提升 TCP 的策略,分别是: TCP 三次握手的性能提升; TCP 四次挥手的性能提升; TCP 数

2020-07-07 23:30:23 744 1

原创 二叉树——树的遍历

最近在复习数据结构相关的知识,并准备用Java撸一下常见的数据结构算法。先从简单的开始,分享一下二叉树的三种遍历方式。先简单的介绍一下三种遍历方式(Java编程实现在文末):1.前序遍历前序遍历首先访问根结点然后遍历左子树,最后遍历右子树。在遍历左、右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。若二叉树为空则结束返回,否则:(1)访问根结点。(2)前序遍历左子树。(3)前序遍历右子树 。需要注意的是:遍历左右子树时仍然采用前序遍历方法。如右图所...

2020-05-15 11:16:46 262

原创 深入AbstractQueuedSynchronizer

看了一系列介绍AQS的文章,记录一下本人感觉写的比较好的一个:一行一行源码分析清楚AbstractQueuedSynchronizer

2020-04-09 13:57:40 154

原创 springboot集成ElasticSearch

Linux搭建ElasticSearch请参阅:https://blog.csdn.net/NewxCJY/article/details/105265169继上次搭建好ElasticSearch后,本篇博文介绍springboot集成ElasticSearch,使用swagger2作为Api测试工具。JDK版本:openJDK8springboot版本:2.2.1demo目录:...

2020-04-03 15:06:13 240

原创 CentOS7下ElasticSearch搭建

最近在项目中需要搭建ElasticSearch,因此记录一下搭建过程,文末付springboot集成es的demo:服务器操作系统版本:CentOS7.4JDK版本:openJDK8springboot版本:2.2.1ElasticSearch版本:6.8.3注意:由于因为考虑到springboot与ElasticSearch版本兼容性的问题,博主只亲测了如上配置的环境搭建及集...

2020-04-02 11:11:14 240

原创 阿里程序员常用的 15 款开发者工具

从人工到自动化,从重复到创新,技术演进的历程中,伴随着开发者工具类产品的发展。阿里巴巴将自身在各类业务场景下的技术积淀,通过开源、云上实现或工具等形式对外开放,本文将精选了一些阿里巴巴的开发者工具,希望能帮助开发者们提高开发效率、更优雅的写代码。由于开发者涉及的技术领域众多,笔者仅从自己熟悉的领域,以后端开发者的视角盘点平时可能用得到的工具。每个工具按照以下几点进行介绍: 工具名称和...

2020-04-01 23:21:22 206

原创 IDEA实用插件

IDEA实用插件:https://blog.csdn.net/jing_xifeng/article/details/82665175

2020-03-17 11:16:20 119

原创 解决Jackson转换BigDecimal数据经度缺失

import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;import org.springframework.context.an...

2019-11-14 18:33:13 2053

原创 Swagger2接口排序问题

在使用swagger2与swagger-bootstrap-ui时,发现排序字段tag注解的position属性已过期。需要实现文档排序参见:http://www.360doc.com/content/19/0818/21/39194723_855731736.shtml...

2019-11-14 17:22:33 4388

原创 spring boot1.x升级到2.x问题——timestamp序列化问题

在spring boot 1.x的时候,被@ResponseBody修饰的返回值中如果存在java.util.Date类型,则会默认被序列化为timestamp的形式,如:@RestControllerpublic class TestController { @GetMapping("/test") public Object test(){ retur...

2019-11-01 16:19:07 423

原创 Linux安装redis

1.获取redis资源  wget http://download.redis.io/releases/redis-4.0.8.tar.gz(如果下载失败,请自行调整版本,或者手动下载压缩包上传至服务器)2.解压  tar xzvf redis-4.0.8.tar.gz3.安装  cd redis-4.0.8  make  cd src  make install ...

2019-09-18 14:46:58 120

原创 centos安装tomcat

一、安装JAVA环境1.安装JAVAmkdir -p /usr/local/java下载jdk1.7.0_67.tar.gz包,并解压到tar xf jdk1.7.0_67.tar.gz -C/usr/local/java2.配置环境变量 1 2 3 4 5 cd/etc/profile.d vim ...

2019-09-17 16:38:59 520

原创 微服务概述

1.什么是微服务1)一组小的服务(大小没有特别的标准,只要同一团队的工程师理解服务的标识一致即可)2)独立的进程(java的tomcat,nodejs等)3)轻量级的通信(不是soap,是http协议)4)基于业务能力(类似用户服务,商品服务等等)5)独立部署(迭代速度快)6)无集中式管理(无须统一技术栈,可以根据不同的服务或者团队进行灵活选择)ps:微服务的先行者Ne...

2019-09-12 14:21:30 573

原创 数据结构学习

参见链接:https://blog.csdn.net/javazejian/article/details/53362993

2019-09-05 14:14:13 209

转载 mysql之show engine innodb status解读

注:以下内容为根据《高性能mysql第三版》和《mysql技术内幕innodb存储引擎》的innodb status部分的个人理解,如果有错误,还望指正!!  innodb存储引擎在show engine innodb status(老版本对应的是show innodb status)输出中,显示除了大量的内部信息,它输出就是一个单独的字符串,没有行和列,内容分为很多小段,每一段对应in...

2019-08-21 17:37:12 438

原创 JMeter测试教程

参见:JMeter测试教程

2019-08-20 16:18:19 145

原创 史上最全SQL优化方案

近期,在项目中进行了sql优化,在网上搜索的资料中,下面的链接感觉受益匪浅,记录一下。 参见链接:史上最全SQL优化方案 特别注意:在表关联查询时,倘若两个表关联时所用的字段字段类型不一致,则须将其中一个转换成另外一个的字段类型(至于将哪个转成哪个,视具体情况而定)。否则,不进行类型转换直接进行表关联,会导致索引失效。...

2019-08-08 19:45:06 299

原创 spring boot动态数据源

项目中用到了多数据源的问题,在此将自己项目中使用到的技术做一下记录。 pom文件:<dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>...

2019-07-02 19:45:09 251

原创 关于表分区与分表的讨论

单表数据量方面建议采用表分区策略以上截图虽非出自权威机构,但也有一定的道理。我个人建议使用表分区的原因如下:可行性方面:明细数据数据量大,与其相关度最高的属性为时间。对数据明细表的统计都带有时间维度,数据库可以明确的知道查询的数据分布在哪个分区。因此,可以按照时间进行表分区。 便捷性方面:明细表表分区携带时间维度的查询由数据库层面解决了路由方面的问题,不用...

2019-07-02 18:52:43 457

原创 设置mvn阿里云镜像

设置mvn阿里云镜像,找到mvn的配置文件,在对应的地方增加如下配置即可 <mirrors> <!-- mirror | Specifies a repository mirror site to use instead of a given repository. The repository that | this mirror serve...

2019-06-19 17:48:17 492

原创 MySQL的分区表(Partitioned Table)功能详解

MySQL分区简介数据库分区数据库分区是一种物理数据库设计技术。其主要目的是为了在特定的SQL操作中减少数据读写的总量以缩减sql语句的响应时间,同时对于应用来说分区完全是透明的。分区的作用数据库性能的提升和简化数据管理,在扫描操作中MySQL优化器只扫描数据的那个分区以减少扫描范围获得性能的提高。分区技术使得数据管理变得简单,删除某个分区不会对另外的分区造成影响。MySQL从5....

2019-06-18 11:26:25 5340

转载 sqlserver数据(表)导出到mysql(最简单的方法)

mysql我们有时候需要大量的数据表做实验,但是会出现mysql的数据量不够的情况,如果自己写代码编数据多痛苦啊,我这里是直接找了服务器里面的sqlserver的数据表导出到mysql,sqlserver这个表的数据有171万条啊我的天!这里说明我的工具:Navicat Premium1首先navicat连接到sqlserver数据库,也就是我要从这里导出那个170万条数据的表,然后选中...

2019-06-17 12:01:26 4655

原创 sqlserver安装教程

sqlserver安装教程:参见:sqlserver安装教程

2019-06-04 10:29:06 5965

原创 短链接转换

记一个在线转换短链接的网址http://suo.im/非常好用

2019-05-31 18:02:50 2592 1

转载 Java实现DFA算法实现敏感词过滤

DFA简介 在实现文字过滤的算法中,DFA是唯一比较好的实现算法。DFA即Deterministic Finite Automaton,也就是确定有穷自动机,它是是通过event和当前的state得到下一个state,即event+state=nextstate。下图展示了其状态的转换在这幅图中大写字母(S、U、V、Q)都是状态,小写字母a、b为动作。...

2019-05-31 17:28:06 991

原创 mysql explain用法和结果的含义

explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。使用方法,在select语句前加上explain就可以了:如:explainselectsurname,first_nameforma,bwherea.id=b.idEXPLAIN列的解释:table:显示这一行的数据是关于哪张表的type:...

2019-04-16 11:27:11 153

原创 CentOS系统安装Java

通过下载Oracle官网的jdk来安装不使用openjdk访问http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html把jdk-8u171-linux-x64.tar.gz下载到本地cd /usr/local进入/usr/local目录mkdi...

2019-04-11 20:47:20 574

空空如也

空空如也

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

TA关注的人

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