
Java
Java
Tongqi_Liu
喜欢看书,ACMed,攻城狮
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
重读JDK源码(二):常用集合
常用集合原创 2020-10-26 20:30:56 · 264 阅读 · 0 评论 -
重读JDK源码(一):基础相关
楔子 距离上次读《Java编程思想》已经过了很久,工作中一直在不断写逻辑,造轮子,但是对JDK源码反倒越来越陌生了,另外工作一段时间后也大概知道哪些是最常用的了,所以这次有针对性地重读一下,并好好做一次总结 基础相关 注意点 Long这个缓存机制得注意下,有次配合IdentityHashMap使用时,使用Integer作为key时没去new出新对象,导致put时其实一直在用的是同一个内存地址,故不符合预期 volatile是JVM提供的轻量级同步机制,这东西的三个特性是:保证可见性、不保证原子性、禁止指原创 2020-10-12 23:38:27 · 255 阅读 · 0 评论 -
LFU算法的应用及实现
概述 复习下LFU的原理:LFU原理及实现 实现 这里可以完全基于HashMap来完成设计,源码如下: public class LFUCache { private int cap; private int minFreq; private HashMap<Integer, Integer> map; private HashMap<I...原创 2020-03-30 21:32:55 · 1435 阅读 · 0 评论 -
一次LRU算法的应用及实现
概述 最近刚好有个述求是希望实时维护社区最常被访问的达人列表作为推荐数据源,前置流程我通过Redis里的HyperLogLog已经计算了各达人主页的PV、UV,故只剩下一个类似LRU机制的达人列表要持久化维护了 复习下LRU的原理:LRU原理及实现 实现 可以基于HashMap及LinkedList自己手写,也可以通过继承LinkedHashMap来设计,这里给出两种简单的实现方案: pu...原创 2020-02-02 16:20:49 · 421 阅读 · 0 评论 -
一个简单的上下界红包随机算法实现
概述 在公司题库看到了这个,有点好奇微信的红包算法是怎么实现的,知乎看到了这个答案:微信红包的随机算法是怎样实现的? - 陈鹏的回答 - 知乎 总结下核心的几点: 内存实时计算模型,这个和电商体系下很多离线计算的红包不同,故在点击红包页面和领取红包详情页其实是两个状态,从用户动线角度手慢则无其实也合理 判定是否还有红包可领取时类似商品库存一样有个分布式锁的判定,当领取红包后CAS模式写库,然后...原创 2020-01-05 17:39:35 · 443 阅读 · 0 评论 -
Spring学习笔记(四):Spring AOP原理及使用
1 简介 概述 AOP是Aspect Oriented Programming的缩写,意思是面向切面编程,提供从另一个角度来考虑程序结构以完善面向对象编程(相对于OOP),即可以通过在编译期间、装载期间或运行期间实现在不修改源代码的情况下给程序动态添加功能的一种技术。通俗点说就是把可重用的功能提取出来,然后将这些通用功能在合适的时候织入到应用程序中;比如安全,日记记录,这些都是通用的功能,我...原创 2019-12-15 21:37:43 · 283 阅读 · 0 评论 -
HDU 1502 Regular Words(DP + JAVA)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1502 题意:有A,B,C三字符各N个,问你有多少种排列满足:在前i个字符下有num(A) > num(B) > num(C) 思路:dp[i][j][k]代表当前状态下有i个A,j个B,k个C,在尾部添加新字符时,为了保证构造合法,应该先加A,再加B,最后加C,dp[i][...原创 2015-07-13 20:15:25 · 535 阅读 · 0 评论 -
Spring学习笔记(三):Spring IOC原理及使用
Spring学习笔记(三):Spring IOC原理及使用 一、Bean的初始化 1.1 概述 Spring 容器是实例化和管理全部bean 的工厂,Spring 默认将所有的bean 设置成单态模式,无须自己完成单态模式,即对所有相同id 的bean 请求都将返回同一个共享实例。因此,单态模式可大大降低Java 对象在创建和销毁时的系统开销。 功能 标识一个应用环境 利用 BeanFactor...原创 2019-08-18 16:01:30 · 266 阅读 · 0 评论 -
Spring学习笔记(二):Spring IOC介绍
Spring学习笔记(一):IOC与AOP 一、Bean实例化方式: 构造器实例化:xml配置,可通过<constructor-arg>及<property> 标签构造参数值(两者分别代表构造器注入与setter方法注入) 静态工厂:xml里指定class属性及factory-method属性来指定实例化bean的方法 实例工厂:xml里配置factory-bea...原创 2019-05-15 11:30:30 · 239 阅读 · 0 评论