首页
学习
活动
专区
工具
TVP
发布

WindCoder

所有文章首发于https://windcoder.com/,文章均自动同步于此。
专栏成员
417
文章
812142
阅读量
38
订阅数
单链表实现LRU缓存淘汰算法
LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是如果数据最近被访问过,那么将来被访问的几率也更高,相反如果很长时间未被访问,则它在最近一段时间内也不会被访问。实现方式有很多种,这里先介绍基于数组和单链表的实现方式。
WindCoder
2020-02-10
5090
并发学习笔记15-队列同步器
队列同步器AbstractQueuedSynchronizer(AQS)是用来构建锁或者其他同步组件的基础框架。该类也是其他许多同步类的基类,许多同步器通过AQS很容易构造出来(如,ReentrantLock、Semaphore、CountDownLatch、ReentrantReadWriteLock等,Java6以前的版本还包含SynchronousQueue和FutureTask)。
WindCoder
2020-01-22
4000
并发学习笔记14-Lock接口
Java SE5之前,在协调对共享对象的访问时可用的机制只有synchronized和volatile。Java 5.0之后,并发包中新增了Lock接口及其相关实现类。
WindCoder
2020-01-22
3820
数据结构01-数组
数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。
WindCoder
2020-01-22
7180
时间复杂度的计算-数据结构
一般来说,时间复杂度是总运算次数表达式中受n的变化影响最大的那一项(不含系数) 比如:一般总运算次数表达式类似于这样: a*2^n+b*n^3+c*n^2+d*n*lg(n)+e*n+f a<>0时,时间复杂度就是O(2^n); a=0,b<>0 =>O(n^3); a,b=0,c<>0 =>O(n^2)依此类推 那么,总运算次数又是如何计算出的呢? 一般来说,我们经常使用for循环,就像刚才五个题,我们就以它们为例 1.循环了n*n次,当然是O(n^2) 2.循环了(n+n-1+n-2+...+1)≈(
WindCoder
2018-09-20
8410
Java基础小结(三)
以上这些类是传统遗留的,在Java2中引入了一种新的框架-集合框架(Collection)
WindCoder
2018-09-19
5400
Java漫谈-数组
在Java语言中,数组是对象(An object is a class instance or an array.),而且是动态创建的。
WindCoder
2018-09-19
1.2K0
Logstash的grok表达式与Filebeat的日志过滤
grok为Logstash 的Filter的一个插件,又因为存在表达式要配置,最开始当成过滤条件的配置了。随着深入了解,发现这个只是一个数据结构化转换工具,主要作用就是把String类型的字符串转为key-value形式。
WindCoder
2018-09-19
5K0
没有更多了
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档