摘要: 1. 背景自己在测试HashSet时,发现其输出Integer是有序的。2. 测试public static void hashSetObjectTest(){Set<Integer> set = new HashSet<Integer>(); set.add(6); set.add(3); set 阅读全文
posted @ 2019-12-22 22:13 那些年的代码 阅读(405) 评论(0) 推荐(0) 编辑
摘要: 首先我们应该清楚这个概念:这里的有序和无序不是指集合中的排序,而是是否按照元素添加的顺序来存储对象。list是按照元素的添加顺序来存储对象的,因此是有序的。他的实现类ArrayList、LinkedList、Vector都是有序的。Map是无序的,它的存储结构是哈希表<key,value>键值对,m 阅读全文
posted @ 2019-12-22 22:12 那些年的代码 阅读(3406) 评论(0) 推荐(0) 编辑
摘要: 我们经常听说List是有序且可重复的,Set是无序且不重复的。这是一个误区,这里所说的顺序有两个概念,一是按照添加的顺序排列,二是按,照自然顺序a-z排列。Set并不是无序的传统所说的Set无序指的是HashSet,它不能保证元素的添加顺序,更不能保证自然顺序,而Set的其他实现类是可以实现这两种顺 阅读全文
posted @ 2019-12-22 22:11 那些年的代码 阅读(253) 评论(0) 推荐(0) 编辑
摘要: redis默认是只支持简单key的过期处理的,像SortedSet类型,也是针对整个set的过期处理,不支持对set的某个成员的过期处理; 为了解决这个问题,做法如下: 1.存储key及值信息到redis,并将key存入set里,设置key的过期时间; 这样key可以支持过期处理并在过期后移除key 阅读全文
posted @ 2019-12-22 22:07 那些年的代码 阅读(1391) 评论(0) 推荐(0) 编辑
摘要: 利用Java提供的Random类。从List或Set中随机取出一个元素,从Map中随机获取一个key或value。 因为Set没有提供get(int index)方法,仅仅能先获取一个随机数后。利用一个计数器,对Set进行循环,当计数器等于随机数时返回当前元素,对于Map的处理也类似。 不知有没有更 阅读全文
posted @ 2019-12-22 22:03 那些年的代码 阅读(3829) 评论(0) 推荐(0) 编辑
摘要: 不能。可以用sorted set,把要过期的member和key的信息放在sorted set的member里,把过期时间放在score中。跑个任务用zrangebyscore遍历就行了。用sorted set好处是只需要遍历过期的member,不用扫描整个过期member集合。 阅读全文
posted @ 2019-12-22 22:00 那些年的代码 阅读(1219) 评论(0) 推荐(1) 编辑
摘要: Java中我们经常要做一些判断,而对于判断的话,用的最多的便是“>”、“==”、“<”的比较,这里我们进行一个Long类型数据和long类型数据的比较大小的讲解。Java中Long和long的区别Java的数据类型分为两种:1、基本类型:byte(8),short(16),int(32),long( 阅读全文
posted @ 2019-12-22 21:58 那些年的代码 阅读(2743) 评论(0) 推荐(0) 编辑
摘要: 今天写代码发现发现本地程序是正常的,但是发送到测试环境就不正常了,本着对数据的怀疑态度链接了测试数据库,调试程序发现,确实是数据问题,然后数据出现在什么地方呢?才发现是在判断用户所属的teamGroupId和当前用户teamGroupId相等 时出现了问题,于是测试和验证了一下Long 1.基本类型 阅读全文
posted @ 2019-12-22 21:57 那些年的代码 阅读(2870) 评论(0) 推荐(0) 编辑
摘要: Redis Zrevrank 命令返回有序集中成员的排名。其中有序集成员按分数值递减(从大到小)排序。 排名以 0 为底,也就是说, 分数值最大的成员排名为 0 。 使用 ZRANK 命令可以获得成员按分数值递增(从小到大)排列的排名。 语法 redis Zrevrank 命令基本语法如下: red 阅读全文
posted @ 2019-12-22 19:18 那些年的代码 阅读(415) 评论(0) 推荐(0) 编辑
摘要: 本文对redis的过期处理机制做个简单的概述,让大家有个基本的认识。Redis中有个设置时间过期的功能,即对存储在redis数据库中的值可以设置一个过期时间。作为一个缓存数据库,这是非常实用的。如我们一般项目中的token或者一些登录信息,尤其是短信验证码都是有时间限制的,按照传统的数据库处理方式, 阅读全文
posted @ 2019-12-22 19:12 那些年的代码 阅读(4552) 评论(0) 推荐(0) 编辑
摘要: redis 键值对 有效期设置redis中可以使用expire命令设置一个键的生存时间, 到时间后redis会自动删除它< > 类比于javaweb系统临时数据 过期删除功能 expire 设置失效时间(单位/秒)persist 取消失效时间 ttl/pttl(单位为 秒/毫秒) 查看键的剩余时间 阅读全文
posted @ 2019-12-22 19:06 那些年的代码 阅读(8835) 评论(0) 推荐(0) 编辑
摘要: memcached 和 redis 的set命令都有expire参数,可以设置key的过期时间。但是redis是一个可以对数据持久化的key-value database,它的key过期策略还是和memcached有所不同的。梳理,整理如下: redis通过expire命令来设置key的过期时间。 阅读全文
posted @ 2019-12-22 19:03 那些年的代码 阅读(6469) 评论(0) 推荐(0) 编辑
摘要: 转载地址:http://redis.readthedocs.org/en/latest/key/scan.html SCAN SCAN cursor [MATCH pattern] [COUNT count] SCAN 命令及其相关的 SSCAN 命令、 HSCAN 命令和 ZSCAN 命令都用于增 阅读全文
posted @ 2019-12-22 19:02 那些年的代码 阅读(1448) 评论(0) 推荐(0) 编辑
摘要: package com.lml.redis;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Map.Entry;import java.util.Set;import r 阅读全文
posted @ 2019-12-22 18:30 那些年的代码 阅读(5614) 评论(0) 推荐(0) 编辑
摘要: public class A { public class B { } }; 需要实例B类时,按照正逻辑是,A.B ab = new A.B(); 那么编译器就会出现一个错误--"is not an enclosing class" 再翻看相关的Java代码,发现原来写法出错了!正确的做法是 [ja 阅读全文
posted @ 2019-12-22 18:28 那些年的代码 阅读(3582) 评论(0) 推荐(0) 编辑
摘要: 做网络爬虫时,一般对代理IP的需求量比较大。因为在爬取网站信息的过程中,很多网站做了反爬虫策略,可能会对每个IP做频次控制。这样我们在爬取网站时就需要很多代理IP。 代理IP的获取,可以从以下几个途径得到: 从免费的网站上获取,质量很低,能用的IP极少 购买收费的代理服务,质量高很多 自己搭建代理服 阅读全文
posted @ 2019-12-22 18:20 那些年的代码 阅读(1025) 评论(0) 推荐(0) 编辑
摘要: Thread.sleep(long millis)和Thread.sleep(long millis, int nanos)静态方法强制当前正在执行的线程休眠(暂停执行),以“减慢线程”。 当线程睡眠时,它睡在某个地方,在苏醒之前不会返回到可运行状态。 当睡眠时间到期,则返回到可运行状态。 线程睡眠 阅读全文
posted @ 2019-12-22 18:12 那些年的代码 阅读(11033) 评论(0) 推荐(0) 编辑
摘要: @RequiresAuthentication 验证用户是否登录,等同于方法subject.isAuthenticated() 结果为true时。 @RequiresUser 验证用户是否被记忆,user有两种含义: 一种是成功登录的(subject.isAuthenticated() 结果为tru 阅读全文
posted @ 2019-12-22 18:09 那些年的代码 阅读(15540) 评论(1) 推荐(0) 编辑
摘要: package com.xx; import javax.annotation.PostConstruct; import javax.annotation.Resource; import org.springframework.beans.factory.InitializingBean; im 阅读全文
posted @ 2019-12-22 18:07 那些年的代码 阅读(1321) 评论(0) 推荐(0) 编辑
摘要: Metrics可以为你的代码的运行提供无与伦比的洞察力。作为一款监控指标的度量类库,它提供了很多模块可以为第三方库或者应用提供辅助统计信息, 比如Jetty, Logback, Log4j, Apache HttpClient, Ehcache, JDBI, Jersey, 它还可以将度量数据发送给 阅读全文
posted @ 2019-12-22 18:03 那些年的代码 阅读(3251) 评论(0) 推荐(0) 编辑