上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 23 下一页
摘要: 一、思路 用户mac地址唯一,可以作为redis中的key,每次请求进来,利用ttl命令,判断redis中key的剩余时间,如果大于零,则利用incr进行+1操作,然后再与总的限制次数作对比。 二、代码 RedisUtill.java 工具方法: 使用: 30分钟内限制5次请求进来 阅读全文
posted @ 2019-03-12 14:31 npe0 阅读(721) 评论(0) 推荐(0)
摘要: 一、需求 A、B、C 三个线程,循环10次,打印出自己的名称,ABC,ABC,ABC... A、B、C 三个线程,循环10次,打印出自己的名称,A一次,B三次,C五次,ABBBCCCCC,ABBBCCCCC 1.1、循环打印ABC 结果: 1.2、循环打印ABBBCCCC 结果: 阅读全文
posted @ 2019-01-21 14:19 npe0 阅读(874) 评论(0) 推荐(0)
摘要: 一、需求 多个线程再获取同一个集合里面的数据同时,修改集合中的数据。 二、有问题的写法 结果: 3、CopyOnWriteArrayList 问题解决。 阅读全文
posted @ 2019-01-18 18:23 npe0 阅读(1101) 评论(0) 推荐(0)
摘要: 一、CountDownLatch jdk提供的一个同步辅助类,在完成一组在在其他线程中执行的操作前,允许一个或者多个其他的线程等待,通过调用 await() 方法阻塞,直到由于 countDown() 方法的调用而导致当前计数达到零,之后所有等待线程被释放。 二、计算多个线程执行时间 阅读全文
posted @ 2019-01-17 14:46 npe0 阅读(643) 评论(0) 推荐(0)
摘要: 一、什么是原子性 简单的可以理解为:操作是不可再分割的,比如; 但是i++的操作是可以再分的,比如: 上面的代码在多线程环境下取值是有问题的,比如: 结果: 这种问题当然可以通过加synchronized 关键字来解决,那有没有另外一种方案呢,答案肯定是有的,且在jdk1.5的时候就有了,那就是At 阅读全文
posted @ 2019-01-07 19:51 npe0 阅读(2565) 评论(0) 推荐(0)
摘要: 一、Volatile关键字 作用: 二、简单使用 阅读全文
posted @ 2019-01-03 19:41 npe0 阅读(174) 评论(0) 推荐(0)
摘要: 一、Callable接口 与继承Thread和实现Runnable接口方式创建线程相比,有以下两点不同: 可以有返回值,并且能够获取返回值 call()方法允许抛出异常 二、简单使用 三、配合线程池的简单使用 阅读全文
posted @ 2019-01-03 19:32 npe0 阅读(304) 评论(0) 推荐(0)
摘要: 一、为什么使用lambda Lambda 是一个 匿名函数,我们可以把 Lambda表达式理解为是 一段可以传递的代码(将代码像数据一样进行传递)。可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,使Java的语言表达能力得到了提升。 二、lambda语法 Lambda 表达式在Java 语言 阅读全文
posted @ 2019-01-02 15:36 npe0 阅读(383) 评论(0) 推荐(0)
摘要: 一、添加依赖 二、添加配置 三、生产者和消费者 Producer Consumer Controller 四、结果 github地址 阅读全文
posted @ 2018-12-19 16:13 npe0 阅读(240) 评论(0) 推荐(0)
摘要: 一、单机配置 properties配置 启动类加 具体的方法上加 这样的话,redis 中key值即为userList,value 为方法的返回值。pojo可能会需要序列化。 二、集群配置 properties配置 RedisClusterConfig 使用时直接 阅读全文
posted @ 2018-12-17 17:50 npe0 阅读(2001) 评论(0) 推荐(0)
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 23 下一页