摘要: 1.前端传递基本数据类型数组 前端ajax 后端 2.前端传递bean数组 前端 后端 3.总结和注意事项 在传递对象数组时,对象bean必须有setXX方法,因为注入方式是采用setXX方法注入; 传递对象数组时,必须使用@RequestBody注解,而传递基本数据类型时可以采用@RequestP 阅读全文
posted @ 2018-10-24 16:00 bhupam 阅读(691) 评论(0) 推荐(0) 编辑
摘要: 1. 发布线程 2. 订阅监听类 3.连接池 4.测试类 阅读全文
posted @ 2018-08-28 17:03 bhupam 阅读(442) 评论(0) 推荐(0) 编辑
摘要: 1背景 1.1为什么需要消息队列 当系统中出现“生产“和“消费“的速度或稳定性等因素不一致的时候,就需要消息队列,作为抽象层,弥合双方的差异。 举个例子:很多网站注册需要发送短信验证码,有可能在某个时段有大量的人注册,但是发送短信的模块速度相对较慢。如果不使用消息队列就会导致大量的注册阻塞在发送短信 阅读全文
posted @ 2018-08-28 16:55 bhupam 阅读(1353) 评论(1) 推荐(0) 编辑
摘要: 缓存简单实现 这里使用LinkedList和MashMap来实现一个能够过时淘汰的FIFO缓存,其中HashMap用于存储缓存数据,但是由于HashMap不能记录插入顺序,因此使用辅助数组LinkedList用于记录插入顺序。这个简单实现是非线程安全的。 测试 public class Cached 阅读全文
posted @ 2018-08-15 19:54 bhupam 阅读(333) 评论(0) 推荐(0) 编辑
摘要: 创建线程 继承Thread 实现Runnable 实现Callable 这种实现方式的线程执行方式通常使用线程池的submit方法来提交任务,也可以封装为FutureTask再用new Thread(FutureTask).start()来启动 Runnable和Callable实现的区别 前者(实 阅读全文
posted @ 2018-08-15 10:09 bhupam 阅读(132) 评论(0) 推荐(0) 编辑