自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小倪子

想拥有一眼就喜欢上的东西,那就趁现在努力!

原创 MessageFormat.format()用法

MessageFormat.format()用法MessageFormat模式FormatElement{ ArgumentIndex }:是从0开始的入参位置索引{ ArgumentIndex , FormatType }{ ArgumentIndex , FormatType , FormatStyle }FormatType:指定使用不同的Format子类对入参进行格式化处理。值范围如下:number:调用NumberFormat进行格式化date:调用DateF.

2020-08-06 19:10:26 4

原创 RandomStringUtils工具类

RandomStringUtils工具类[b]//产生5位长度的随机字符串,中文环境下是乱码[/b]RandomStringUtils.random(5);[b]//使用指定的字符生成5位长度的随机字符串[/b]RandomStringUtils.random(5, new char[]{'a','b','c','d','e','f', '1', '2', '3'});[b]//生成指定长度的字母和数字的随机组合字符串[/b]RandomStringUti...

2020-07-16 14:17:24 46

转载 Guava RateLimiter限流

Guava RateLimiter限流限流:目的是通过对并发访问/请求进行限速,或者对一个时间窗口内的请求进行限速来保护系统,一旦达到限制速率则可以拒绝服务、排队或等待、降级等处理。Google开源工具包Guava提供了限流工具类RateLimiter,该类基于令牌桶算法实现流量限制,使用十分方便,而且十分高效。更多内容请查看转载的内容,博主写得非常详细。...

2020-07-02 19:02:54 61

原创 WechatPay-API-v3接口规则

WechatPay-API-v3接口规则1、官方文档https://wechatpay-api.gitbook.io/wechatpay-api-v3/2、下面是Java 接入过程:第一步: 阅读微信支付分给的接口规则 说明: https://wechatpay-api.gitbook.io/wechatpay-api-v3/第二步: 微信支付API v3要用第三方CA的证书 所以涉及到 API证书升级新接入商户请参考什么是API证书?如何获取API证书?。已经接入并使用微信..

2020-06-20 15:22:21 401

原创 34. 在排序数组中查找元素的第一个和最后一个位置

34. 在排序数组中查找元素的第一个和最后一个位置给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是O(log n) 级别。如果数组中不存在目标值,返回[-1, -1]。示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出: [3,4]示例2:输入: nums = [5,7,7,8,8,10], target = 6输出: [-1,-1]...

2020-05-23 12:04:14 125

原创 38. 外观数列

38. 外观数列「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。前五项如下:1. 12. 113. 214. 12115. 1112211被读作"one 1"("一个一") , 即11。11 被读作"two 1s"("两个一"), 即21。21 被读作"one 2", "one 1"("一个二","一个一"), 即1211。给定...

2020-05-23 11:17:39 58

原创 35. 搜索插入位置

35. 搜索插入位置题意:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0输出: 0code:class ...

2020-05-23 10:51:19 66

转载 Base64算法、Base64Encode、UrlEcode编码及应用

Base64算法、Base64Encode、UrlEcode编码及应用目录Base64算法的由来Base64算法的原理Base64编码与urlEncode编码的区别Base64算法的由来Base64算法最早应用于解决电子邮件传输问题,在早期,电子邮件只支持ASCII码字符。如果要传输一封带有非ASCII码字符的电子邮件,当它经过部分网关时就可能出现问题,这个网...

2020-04-28 17:04:04 82

原创 前端浏览器 UA 客户端信息识别模块 -- uadetector

前端浏览器 UA 客户端信息识别模块 -- uadetectormaven依赖如下:<dependency> <groupId>net.sf.uadetector</groupId> <artifactId>uadetector-resources</artifact...

2020-04-20 14:35:52 146

原创 如何确保分布式场景下的并发锁幂等

如何确保分布式场景下的并发锁幂等目录1、数据库的唯一索引2、分布式锁1、数据库的唯一索引例如:退款服务 和支付服务出账流水记录表通过设置退款编码字段,判断是否存在这笔退款的已支付的出账流水记录。存在即返回,不存在即插入,进入接下来的处理流程。缺点:当遇到分库分表的方案时,需要先查询数据库,判断约束资源字段是否重复,不存在再执行插入操...

2020-04-19 17:45:41 74

原创 Java 8 stream练习

Java 8 stream练习Mapmap 方法用于映射每个元素到对应的结果,以下代码片段使用 map 输出了元素对应的平方数:List<Integer> numbers = Arrays.asList(3, 2, 2, 3, 7, 3, 5);// 获取对应的平方数List<Integer> squaresList = numbers.stream(...

2020-04-12 21:44:07 68

原创 无感支付及相应技术规范

无感支付及相应技术规范

2020-04-10 09:04:41 225

原创 Token2.0助力数字支付发展新实践

Token2.0助力数字支付发展新实践

2020-04-10 09:04:34 352

原创 B2C网关支付方案介绍

B2C网关支付方案介绍一、B2C网关概述业务概述: 银联B2C网关业务是指个人客户在 商户侧发起交易申请时,支付界面通过收单机构跳转至网上银行,由发卡银行验证客户身份和账户信息后,完成客户个人银行账户支付或授权的交易。业务场景:适用于网络购物、便民支付、机酒预定等应用场景交易类型: 主要交易:个人网关支付,个人网关预授权完成,网关跳转,交易状态通知,交易结果通知。...

2020-04-10 09:04:25 266

原创 贷记业务及相应技术规范

贷记业务及相应技术规范

2020-04-10 09:04:17 128

原创 B2B网关支付方案介绍

B2B网关支付方案介绍目录一、B2B网关概述二、B2B网关方案一、B2B网关概述业务背景:近年来,随着互联网支付业务逐步进化,C端已成红海,而B端成为群蓝海。市场上普遍存在的对B端支付需求又得不到满足。业务场景:适用于商户消费、企业缴费、金融服务及账户充值等cha场景。业务流程:制单 》 复核(可选) 》 支付二、B2B网关方...

2020-04-10 09:03:33 592

原创 账户验证业务规则及改造要点介绍

账户验证及相应技术规范

2020-04-10 09:03:21 82

原创 条码支付互联互通介绍

条码支付互联互通介绍

2020-04-10 09:03:07 343

原创 人脸识别线下技术应用与分析

人脸识别线下技术应用与分析

2020-04-10 09:02:46 260

原创 xlrd和xlwt模块进行Excel文件的读取与写入

xlrd和xlwt模块进行Excel文件的读取与写入目录安装使用介绍使用中遇到的问题code安装pip install xlrdpip install xlwt使用介绍1、导入模块import xlrd2、打开Excel文件读取数据data = xlrd.open_workbook('excelFile.xls')...

2020-03-17 13:52:38 140

原创 常见线程类面试题

常见线程类面试题1.并行和并发有什么区别?--并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔发生。--并行是在不同实体上的多个事件,并发是在同一实体上的多个事件。--在一台处理器上“同时”处理多个任务,在多台处理器上同时处理多个任务。如hadoop分布式集群。所以并发编程的目标是充分的利用处理器...

2020-03-16 13:50:13 87

原创 redis的应用场景

redis的应用场景目录1、充值订单超时队列2、缓存系统3、计数器4、消息队列系统5、Bitmap6、HyperLogLog7、list集合的使用8、hash的使用9、sunionstore1、充值订单超时队列创建充值订单时,将订单号chargeOrderId、账号信息id、超时开始时间timeou...

2020-03-03 21:02:49 220 2

原创 测试屏蔽访问redis

测试屏蔽访问redis服务器iptable执行iptables命令需要root权限,通过iptables来限制应用服务器到redis的访问。// 屏蔽机器到redis地址的访问iptables -A OUTPUT -p tcp -d127.0.0.1--dport6380-j DROP//开启机器到redis地址的访问i...

2020-03-03 12:53:02 183

转载 JedisClusterMaxRedirectionsException:Too many Cluster redirections

JedisClusterMaxRedirectionsException:Too many Cluster redirectionsRedis异常信息:redis.clients.jedis.exceptions.JedisClusterMaxRedirectionsException: Too many Cluster redirections? atredis.clients.je...

2020-03-03 00:16:37 347

原创 周期性Full GC的解决

周期性Full GC的解决目录背景原因参数说明背景线上应用的垃圾收集出现定时Full GC的异常现象。1) 每隔10小时触发一次Full GC;2) 每次Full GC持续时间约为2~3秒;3) 与环境无关,线上环境、测试环境都会出现此问题;原因1. 很多NIO框架,比如netty会有很多内存映射的代码(mem...

2020-02-26 13:24:36 195

原创 time和datetime

time和datetimehttps://blog.csdn.net/evillist/article/details/50522505https://blog.csdn.net/xxm524/article/details/48055275https://blog.csdn.net/jiahao1186/article/details/89487704?ops_request_misc=%7B"...

2020-02-18 14:20:55 151

原创 python连接数据库处理数据,写入文本

python连接数据库处理数据,写入文本freezed_user_record.txt对应的内容123324 2015-04-15 13:52:00数据表refund的字段(id,last_update_time)脚本内容如下:#!/usr/bin/python# -*- encoding:utf-8 -*-#读取freezed_user...

2020-02-18 14:00:17 200

原创 maven打包出现乱码问题

maven打包出现乱码问题目录方案一方案二:改平台编码格式在测试环境运行mvn -U clean package指令部署到测试环境的机器上时,出现服务可用,但机器打印不出日志。查看了一下log4j2.xml的日志,发现中文字体出现了乱码导致日志文件解析出错,如下图。方案一查看了pom.xml的配置文件,有设置encoding为UTF...

2020-02-11 11:47:08 321

原创 redis的数据结构

redis的数据结构目录简单动态字符串(SDS)链表(list)字典(dict)跳跃表(zskiplist)整数集合(intset)压缩列表(ziplist)对象简单动态字符串(SDS)redis的默认字符串:简单动态字符串(simple dynamic string, SDS)的抽象类型每个sds.h/sdshd...

2020-01-22 16:53:21 169

原创 Redis缓存雪崩、穿透、击穿、降级、预热、更新和限流

Redis缓存雪崩、穿透、击穿、降级、预热、更新和限流目录关键词解释缓存雪崩缓存穿透缓存击穿缓存降级缓存预热缓存更新限流关键词解释缓存:将数据库的数据也在内存存入一份,使请求可以直接访问内存,无法再次访问数据库。降级:就是在高并发高负载情况下,选择动态的关闭一下不重要的服务,拒绝访问等,来为重要的服务节省资源,比如电商平台秒杀当天可关闭推荐等...

2020-01-21 15:45:36 473

原创 Redis杂谈

Redis杂谈目录redis典型应用场景数据结构和内部编码慢查询pipeline发布订阅BitmapHyperLogLogGEOredis典型应用场景一、缓存系统例如,缓存视频的基本信息public VideoInfo get(long id) { String redi...

2020-01-18 21:45:52 171

转载 支付系统设计

支付系统设计大佬(凤凰牌老熊)已经都整理好了,好赞。链接如下:http://doc.cocolian.cn/essay/overview/2017/04/01/concept-01-overview/...

2020-01-11 10:42:06 154

原创 Ubuntu安装pip

Ubuntu安装pip目录一、python2.7安装pip二、python3.6安装pip一、python2.7安装pip我下载的ubuntu自带python3.6 和python3.7,可以在/usr/lib目录下查看到。安装python2.7 版本apt-get install python进入python2...

2019-12-28 17:26:21 174

原创 concat和group_concat的区别

concat和group_concat的区别1、concat和group_concat都是用在sql语句中做拼接使用的,但是两者使用的方式不尽相同,concat是针对以行数据做的拼接,而group_concat是针对列做的数据拼接,且group_concat自动生成逗号。2、concat的使用select concat(id, ","...

2019-12-23 12:22:20 233

原创 Windows常用快捷键

Windows常用快捷键Alt键 + 双击文件: 打开文件属性Alt键 + Ctrl键 + Delete键 : 打开任务管理器Alt键 + Tab键 : 切换已打开的视图Alt键+ F4键:关闭所有软件的窗口Alt键 + PrtScr 键:截取当前窗口到剪切板,可以进行黏贴。PrtScr 键:截取电脑当前整块页面到剪切板,可以进行黏贴。...

2019-12-21 10:54:22 105 1

原创 分析redis key的大小

分析redis key的大小bigKeys这是redis-cli自带的一个命令。对整个redis进行扫描,寻找较大的key。例:格式:redis-cli -h 服务端主机名或者IP地址 -p 端口 [-a password] --bigkeys$ redis-cli -h 192.168.0.112 -p 6379 --bigk...

2019-12-19 20:39:32 141

原创 Java性能调优七种武器

Java性能调优七种武器目录JDK命令行Eclipse Memory AnalyzerJMX - Jconsole, VisualVMBtraceFlight Recorder Java Mission ControlJProfiler火焰图线上服务有时候我们会碰到下面这些问题: OutOfMemoryError,...

2019-12-16 20:54:36 124

原创 如何应对线上服务出现full gc

如何应对线上服务出现full gc目录top和psdump 一下内存数据jhat命令OQLjmap命令jstack命令jstat命令top和ps用top 命令查看对应java的pid(这边是62147),也可以用ps查线对应服务进程的pidps -ef | grep java | grep ‘服务名’du...

2019-12-15 16:34:29 200

原创 repo报UnicodeDecodeError错误

repo报UnicodeDecodeError错误新建一branch, 将修改的代码通过repo upload . 命令上传时报了错误,内容如下:Traceback (most recent call last): File "/mnt/d/miuicloud/.repo/repo/main.py", line 530, in <mod...

2019-12-02 17:20:09 315

原创 linux命令行常用光标移动技巧

linux命令行常用光标移动技巧vim的M键相当于Alt键Ctrl+a跳到本行的行首Ctrl+e则跳到页尾Ctrl+w 删除光标前面的单词的字符Alt+d 删除光标后面的单词的字符ctrl+k:清除光标后至行尾的内容。ctrl+u: 清除光标前至行首间的所有内容。ctrl+y: 粘贴或者恢复上次的删除ctr+h: 往后删除一字符ct...

2019-12-02 14:51:09 149

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