摘要: 首先使用迭代器适用性强,因为如果用for循环遍历,需要事先知道集合的数据结构,而且当换了一种集合的话代码不可重用要修改,不符合开闭原则。而Iterator是用同一种逻辑来遍历集合。其次使用Iterator可以在不了解集合内部数据结构的情况下直接遍历,这样可以使得集合内部的的数据不暴露。 for循环的 阅读全文
posted @ 2020-11-19 12:51 kisshappyboy 阅读(672) 评论(0) 推荐(0)
摘要: Key的过期策略 Redis的Key有3种过期删除策略,具体如下: 1. 定时删除 原理:在设置键的过期时间的同时,创建一个定时器(timer),让定时器在键的过期时间来临时,立即执行对键的删除操作 优点:能够很及时的删除过期的Key,能够最大限度的节约内存 缺点:对CPU时间不友好,如果过期的Ke 阅读全文
posted @ 2020-11-19 12:21 kisshappyboy 阅读(600) 评论(0) 推荐(0)
摘要: java.lang.UnsatisfiedLinkError:no in java.library.path的错误,刚开始以为是jar包没在classpath路径中,后来才发现java.library.path与classpath是两个不同的变量,后者是我们所熟知的类路径,与jar包有关;而前者与d 阅读全文
posted @ 2020-11-11 13:41 kisshappyboy 阅读(111) 评论(0) 推荐(0)
摘要: 正斜杠,又称左斜杠,符号bai是"/";反du斜杠,也称右斜杠,符号是"\"。在zhiUnix/Linux中,路径的分隔采用dao正斜杠"/",比如"/home/hutaow";而在Windows中,路径分隔采用反斜 杠"\",比如"C:\Windows\System"。有时我们会看到这样的路径写法 阅读全文
posted @ 2020-11-11 11:15 kisshappyboy 阅读(631) 评论(0) 推荐(0)
摘要: 来自某程序员一个问答问题: 1. 有一点没明白,为什么注解@repository注解的是接口UserDAO的实现类UserDAOImpl,而在UserServiceImpl中使用@Autowired注解注入属性private UserDAO userDAO自动装配,为什么最后得到的是UserDAOI 阅读全文
posted @ 2019-12-15 19:50 kisshappyboy 阅读(634) 评论(0) 推荐(0)
摘要: 日志的打印在软件开发过程中必不可少,一般分为两个大类: 操作日志 系统日志 操作日志,主要针对的是用户,例如在Photoshop软件中会记录自己操作的步骤,便于用户自己查看。 系统日志,主要针对的是软件开发人员(包括测试、维护人员),也就是说这部分的日志用户是看不到的,也就是我们通常所说的debug 阅读全文
posted @ 2019-10-17 18:59 kisshappyboy 阅读(3620) 评论(0) 推荐(1)
摘要: 公司的员工风采栏目下,有文章需要处理点赞。搜索了网上的案例,普遍做法有两种,一种是mysql 直接连数据库,进行存储。有点 缺点是热门文章频繁点赞时,对数据库的访问压力变大。另外一种就是利用点赞的业务特征来扔到redis(或memcache)中, 然后离线刷回mysql等。 直接写入Mysql 直接 阅读全文
posted @ 2019-10-17 17:54 kisshappyboy 阅读(6840) 评论(0) 推荐(2)
摘要: 代码块 就是一块代码,是一对大括号括起来的内容 方法中:限制变量的生命周期 类中 方法外: 构造代码块:没有关键字修饰,在每次创建对象时,在构造方法执行前进行执行 用途:可以对成员 变量进行初始化。不能对静态常量赋值; 静态代码块:需要使用static修饰。随着类的加载而加载执行,只有在类加载时加载 阅读全文
posted @ 2019-10-09 18:07 kisshappyboy 阅读(1123) 评论(0) 推荐(0)
摘要: 异步上传图片的代码。发现里面用了response.getWriter().print(),故联想到response.getWriter().writer(),经过一番api的查找与实操,总结如下: response.getWriter()返回的是PrintWriter,这是一个打印输出流。 resp 阅读全文
posted @ 2019-05-23 10:09 kisshappyboy 阅读(1909) 评论(0) 推荐(0)
摘要: 这里记录一些关键词的用法。 1、sum(*) 后group by,先分组,然后组内部求和; 2、where 必须在group by前面,筛选where条件再分组; 3、group by 后加order by,先分组再组外部排序; 4、having后加聚合函数(因为where后面不能加聚合函数),wh 阅读全文
posted @ 2019-04-28 18:00 kisshappyboy 阅读(178) 评论(0) 推荐(0)