自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 问答 (1)
  • 收藏
  • 关注

原创 WireMock 伪造 REST 服务

1.简介WireMock是一个针对Web Service测试桩(stubbing)和模拟函数(mocking)开发库。与一般通用的模拟工具不同,WireMock会实际创建一个HTTP服务器,测试代码对其连接后进行测试。WireMock支持HTTP响应桩,提供针对测试桩的请求验证、代理/拦截、记录/回放以及故障植入。既可以在单元测试中使用,也可以部署到一个独立的测试环境

2017-10-30 11:56:32 4230

原创 SwaggerUI 自动生成文档

swagger ui是一个API在线文档生成和测试的利器,目前发现最好用的。 为什么好用?支持API自动生成同步的在线文档, 这些文档可用于项目内部API审核,方便测试人员了解API,这些文档可作为客户产品文档的一部分进行发布,支持API规范生成代码,生成的客户端和服务器端骨架代码可以加速开发和测试速度. 不多说下面进行一下配置 首先引入pom 依赖<dependency&gt...

2017-10-29 22:53:09 5617

原创 异步处理rest服务-多线程提升rest性能

1 异步处理的优点异步编程最大的特点是吞吐量大,延迟小,因为没有堵塞,这就容易挖掘现有硬件和操作系统等底层系统的潜力,同样的成本投入,异步系统要比传统铁板一块的同步系统更能应付爆发式涌潮的瞬间大流量 传统处理流程: 异步处理流程: 在tomcat 线程池中线程的数量的有限的,是线程达到上限请求就没法处理了。使用异步处理的话,主线程就可以空闲下来处理其他请求这样,服务器的吞吐量就...

2017-10-29 12:06:56 7875

原创 Spring Boot学习之旅:(九)拦截器

1.定义java里的拦截器是动态拦截Action调用的对象。它提供了一种机制可以使开发者可以定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行,同时也提供了一种可以提取action中可重用部分的方式。在AOP(Aspect-Oriented Programming)中拦截器用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作(百度百科)

2017-10-28 15:30:49 2752

原创 Spring Boot学习之旅:(八)过滤器 Filter

1.Filter简介Filter也称之为过滤器,它是Servlet技术中最实用的技术,Web开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。 它主要用于对用户请求进行预处理,也可以对HttpServ...

2017-10-28 14:49:42 2757

原创 实现一个自己的Validator 注解

近日开发rsetapi 做数据校验的时候,多次接触 到hibernate.validator 的注解校验,那能否自己也写一个注解校验呢

2017-10-19 23:45:34 2996

原创 virtualBox 安装 centos 7 虚拟机

之前安装虚拟机一直到网上去找教程,于是决定自己也写一篇文章,一方面总结一下 方便以后查看,另一方面也希望能够对新手朋友提供一些帮助。我使用的是VirtualBox虚拟机,安装CentOS-7操作系统,文章仅供参考。

2017-10-19 22:30:53 2761

转载 Spring Boot学习之旅:(七)logback配置日志

本编文章主要介绍: 如何引入日志? 日志输出格式以及输出方式如何配置? 代码中如何使用? Spring Boot在所有内部日志中使用Commons Logging,但是默认配置也提供了对常用日志的支持,如:Java Util Logging,Log4J, Log4J2和Logback。每种Logger都可以通过配置使用控制台或者文件输出日志内容。

2017-10-15 20:32:58 3420

原创 棋盘覆盖

在一个2^k×2^k (k≥0)个方格组成的棋盘中,恰有一个方格与其他方格不同,称该方格为特殊方格。显然,特殊方格在棋盘中可能出现的位置有4^k种,因而有4^k种不同的棋盘,棋盘覆盖问题(chess cover problem)要求用4种不同形状的L型骨牌覆盖给定棋盘上除特殊方格以外的所有方格,且任何2个L型骨牌不得重叠覆盖

2017-10-14 01:32:57 2953

原创 深入了解@RequestParam 注解

之前在控制层 一直都是采用test(String name);test(@RequestParam String name);test(@RequestParam(name=”username”) String name); 类似的方式赋值对这个注解了解的比较少,今天刚好有空就来深入了解一下这个注解。

2017-10-10 11:55:17 7168 2

原创 单调递增最长子序列

题目:http://acm.nyist.net/JudgeOnline/problem.php?pid=17 描述: 求一个字符串的最长递增子序列的长度 如:dabdbf最长递增子序列就是abdf,长度为4输入 第一行一个整数0<n<20,表示有n个字符串要处理 随后的n行,每行有一个字符串,该字符串的长度不会超过10000输出

2017-10-09 23:40:53 2966

原创 Spring Boot学习之旅:(六)springboot 整合 redis 以及 redis 通用工具类

这编文章主要介绍了springboot整合redis,以及redis配置和一些redis操作数据的工具类。

2017-10-08 08:27:20 11614

原创 Spring Boot学习之旅:(五)Spring Boot 使用 junit 单元测试

最近刚好时间写了一些关于SpringBoot的帖子,正好现在把Junit再拿出来从几个方面再说一下。 那么先简单说一下为什么要写测试用例 1. 可以避免测试点的遗漏,为了更好的进行测试,可以提高测试效率 2. 可以自动测试,可以在项目打包前进行测试校验 3. 可以及时发现因为修改代码导致新的问题的出现,并及时解决那么本文从以下几点来说明怎么使用Junit,Junit4比3要方便很多,细节大家

2017-10-06 23:18:07 2858

原创 Spring Boot学习之旅:(四)springboot 整合 fastjson

springboot 默认使用的 jackson 但是听说某宝的fastjson 性能很好,而且平时用的习惯,所以来整合一下。

2017-10-06 21:01:48 7391

转载 高并发秒杀之秒杀优化

前三章节基本将秒杀的系统开发完成但是之前那种设计真的可以承受高并发下的秒杀么本篇文章结合该高并发系统考虑,哪些是可能出现的高并发点呢?

2017-10-05 12:51:21 4568

原创 高并发秒杀系统API之Web层

实现完dao 和service 层后,接下来自然就是web层了。

2017-10-04 01:23:37 3980

原创 高并发秒杀API之Service

上篇文章介绍了秒杀的dao 这边将介绍秒杀的业务逻辑代码。主要有统一异常的控制,统一的枚举表示秒杀的状态,秒杀的业务逻辑,通用返回。 R_

2017-10-04 00:15:27 2801

原创 高并发秒杀API之业务分析与DAO

1.秒杀业务的分析一般的秒杀系统会存在商家,库存,用户三个实体,商家添加调整库存,库存用于发货和核账,库存用户秒杀或者预售,用户的付款,退货也会影响到库存集体如下图: 也就是秒杀业务的核心就是库存的处理。 库存业务分析:首先用户秒杀成功要相应的减去库存已经记录购买的明细,这两项操作组成了一个完整的事务。如下图: 2.难点分析的分析主要的难点问题就是竞争多个用户同时秒杀一种商品。对于mysq

2017-10-02 16:59:33 3083

空空如也

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

TA关注的人

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