- 博客(15)
- 收藏
- 关注
原创 springboot 集成swagger
1.首先是引入架包<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.8.0</version></dependency&
2018-11-24 19:52:46 73
原创 springcloud 项目 调boot项目 时 restemplate 注意事项
/** * RestTemplate配置 * 这是一种JavaConfig的容器配置,用于spring容器的bean收集与注册,并通过参数传递的方式实现依赖注入。 * "@Configuration"注解标注的配置类,都是spring容器配置类,springboot通过"@EnableAutoConfiguration" * 注解将所有标注了"@Configuration"注解的配置类...
2018-11-24 17:23:08 610
原创 restTemplate 的post请求解决 乱码问题
HttpHeaders headers = new HttpHeaders(); MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8");// 请勿轻易改变此提交方式,大部分的情况下,提交方式都是表单提交 headers.setContentType(type...
2018-11-24 17:13:35 6942
原创 spring 2.0以上 整合redis和cache后使用@Cacheable 时间失效
@Cacheable注解不支持配置过期时间,所有需要通过配置CacheManneg来配置默认的过期时间和针对每个类或者是方法进行缓存失效时间配置。解决 可以采用如下的配置信息来解决的设置失效时间问题配置信息 @Bean public CacheManager cacheManager(RedisConnectionFactory redisConnectionFac...
2018-11-17 15:25:30 3748 1
原创 秒杀
抢购/秒杀是如今很常见的一个应用场景,是高并发编程的一个挑战,在网上也找了一些资料,大部分都是理论,关于java的实现也是很少,就算有也是很简单的demo,为此,决定将此次实现的秒杀系统整理一番,发布出来。 架构思路Question1: 由于要承受高并发,mysql在高并发情况下的性能下降尤其严重,下图为Mysql性能瓶颈测试。 而且硬盘持久化的io操作将耗费大量资源。所以决定...
2018-11-16 20:37:59 121
转载 抢红包 -- 三
接下来我们使用乐观锁的方式来修复红包超发的bug乐观锁乐观锁是一种不会阻塞其他线程并发的机制,它不会使用数据库的锁进行实现,它的设计里面由于不阻塞其他线程,所以并不会引发线程频繁挂起和恢复,这样便能够提高并发能力,也称之为为非阻塞锁。 乐观锁使用的是 CAS原理。CAS 原理 在 CAS 原理中,对于多个线程共同的资源,先保存一个旧(Old Value),比如进入线程后,查询当前...
2018-11-16 20:28:22 173
原创 mybati 动态sql的 if语句
可以参照 @Select(value = "<script>" + " SELECT" + " com.id," + " tp.id AS topicId," + " pst.id AS postingid," + " tp.`name`,&quo
2018-11-13 15:51:37 145
原创 List去重问题
面试中经常被问到的list如何去重,用来考察你对list数据结构,以及相关方法的掌握,体现你的java基础学的是否牢固。我们大家都知道,set集合的特点就是没有重复的元素。如果集合中的数据类型是基本数据类型,可以直接将list集合转换成set,就会自动去除重复的元素,这个就相对比较简单。如下示例:public class Test { public static void ...
2018-11-12 14:13:03 709
转载 抢红包- 二
概述上一篇文章中使用ssm+mysql实现,存在并发超发问题,这里我们使用悲观锁的方式来解决这个逻辑错误,并验证数据一致性和性能状况。超发问题分析针对这个案例,用户抢到红包后,红包总量应-1,当多个用户同时抢红包,此时多个线程同时读得库存为n,相应的逻辑执行后,最后将均执update T_RED_PACKET set stock = stock - 1 where id = #{id}...
2018-11-12 13:12:58 119
转载 抢红包案例分析
概述电商的秒杀、抢购,春运抢票,微信QQ抢红包,从技术的角度来说,这对于Web 系统是一个很大的考验. 高并发场景下,系统的优化和稳定是至关重要的.互联网的开发包括 Java 后台、 NoSQL、数据库、限流、CDN、负载均衡等内容, 目前并没有权威性的技术和设计,有的只是长期经验的总结,但是使用这些经验可以有效优化系统,提高系统的并发能力.我们接下来的几篇博文主要讨论 Java 后台...
2018-11-12 12:27:03 651 1
原创 springboot整合mybatis多数据源
application.properties#[email protected]@spring.datasource.primary.username= @[email protected]= @db.primaryPassword@spr...
2018-11-12 10:38:54 343
转载 微信扫码支付
1.首先要选择支付模式https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=2_1,进入这个链接可以查看相关的支付模式web一般选择都是扫码支付。类似于这个:2.准备账号首先要申请一个公共账号,最好申请的时候就是服务号,因为微信支付的前提必须是服务号。如果是公众号需要先申请验证才能升级为服务号。进入下面的连...
2018-11-12 09:47:26 302
原创 springboot2.0整合redis
pom.xml<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId>...
2018-11-12 09:30:30 475
原创 java中初始List的5种方法
1.构造 List 后使用 List.add 初始化List<String> stringList = new LinkedList<>();stringList.add("a");stringList.add("b");stringList.add("c");这种是常规方法,用起来不方便2.使用 {{}} 双括号语法List<Stri...
2018-11-09 09:55:57 7011
转载 对接【支付宝】支付接口
场景最近在做支付宝的接口对接,之前做过一个版本,但是由于申请了新的账号以前旧的的接口对接就不能使用了所以就开始对接新的版本接口对接,在这里也记录一下让那些还没有对接的兄弟少走点弯路。准备先申请一个企业账户https://memberprod.alipay.com/account/reg/enterpriseIndex.htm创建应用去支付宝的开放平台https:...
2018-11-09 09:37:29 1576
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人