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

WindCoder

所有文章首发于https://windcoder.com/,文章均自动同步于此。
专栏作者
417
文章
792900
阅读量
38
订阅数
漫谈建造者模式
解决构造器赋值的最简单的方式就是用setter函数来给成员变量赋值,以替代冗长的构造函数。
WindCoder
2020-05-04
5830
函数出错返回的数据类型
返回NULL值有各种弊端,对此有一个比较经典的应对策略,就是应用空对象设计模式(Null Object Design Pattern)。
WindCoder
2020-04-09
2.1K0
单链表实现LRU缓存淘汰算法
LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是如果数据最近被访问过,那么将来被访问的几率也更高,相反如果很长时间未被访问,则它在最近一段时间内也不会被访问。实现方式有很多种,这里先介绍基于数组和单链表的实现方式。
WindCoder
2020-02-10
4730
Java漫谈-String下
上篇介绍了一些String的基础与简单的创建方式,本篇引入它的intern()方法。
WindCoder
2020-02-10
4970
Oracle日期处理
TRUNC(date)函数返回date当天的时间部分被格式模型fmt截断到指定的单位
WindCoder
2020-02-10
1.2K0
HashMap探索01-源码注解翻译
当时好奇HashMap与ConcurrentHashMap,在网上找资料时发现基本都是相关的源码分析,想自己看看JDK里面具体有些什么,于是有了这个系列,信马由缰,走到哪里写到哪里吧。本系列在未注明的情况下均基于JDK8。本篇主要是HashMap类开篇的注释翻译。
WindCoder
2020-02-10
5730
并发学习笔记07-volatile的内存语义
对volatile变量的单个读/写,可看成是使用同一个锁对这些单个读/写操作做了同步。如示例:
WindCoder
2020-01-26
3500
java漫谈-Java只有值传递
文中用遥控器(引用)操作电视(对象)为例形象的说明了该引用名词的含义,同时在对定义的“引用”该名词的注释中提到:
WindCoder
2020-01-24
6190
MySQL基础索引小结
多个 key 值经过哈希函数的换算,会出现同一个值的情况。处理这种情况的一种方法是,拉出一个链表。
WindCoder
2020-01-23
4600
单链表回文判断
判断一个单链表是否为回文链表目前有两种实现思路。一种是通过数组记录前半部分与后半部分依次比较,一种是找到链表中间结点,将左半部分反转与右半部分依次比较,下面详细介绍。
WindCoder
2020-01-23
4870
统计一个字符串中每一个字符出现的次数
本文提供三种方案,本质都是先将字符串转为数组: String.charAt(index) String.split("") String.toCharArray() 具体如下: /** * 通过String.charAt(index)获取字符串中的字符 * @param str */ public static void count(String str){ Map<Character, Integer> map = new HashMap<Ch
WindCoder
2020-01-23
5920
并发学习笔记05-重排序
在计算机中,软件技术和硬件技术有一个共同的目标:在不改变程序执行结果的前提下,尽可能提高并行度。
WindCoder
2020-01-22
3760
并发学习笔记08-锁的内存语义
线程A释放一个锁,实质上是线程A向接下来将要获取这个锁的某个线程发出了(线程A对共享变量所做修改的)消息。
WindCoder
2020-01-22
4940
并发学习笔记15-队列同步器
队列同步器AbstractQueuedSynchronizer(AQS)是用来构建锁或者其他同步组件的基础框架。该类也是其他许多同步类的基类,许多同步器通过AQS很容易构造出来(如,ReentrantLock、Semaphore、CountDownLatch、ReentrantReadWriteLock等,Java6以前的版本还包含SynchronousQueue和FutureTask)。
WindCoder
2020-01-22
3890
并发学习笔记13-线程基础(下)
Volatile可以修饰字段(成员变量),就是告知程序任何对该变量的访问均需从共享内存中获取,而对它的改变必须同步刷新回共享内存,它能保证所有线程对变量访问的可见性。但是过多的使用volatile是不必要的,因为会降低程序执行的效率。
WindCoder
2020-01-22
3820
并发学习笔记11-双重检查锁定与延迟初始化
关于双重检测锁定,了解过单例的应该不陌生,但也容易写错。这里以单例模式为例一起探索。
WindCoder
2020-01-22
8640
数据结构01-数组
数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。
WindCoder
2020-01-22
6900
Redis学习笔记04-集合对象
使用字典作为底层实现,字典的每个键都是一个字符串对象,每个字符串对象包含了一个集合元素,而字典的值则全部被设置为Null
WindCoder
2020-01-22
3080
Redis学习笔记03-哈希对象
编码可以是ziplist或者hashtable ziplist 使用压缩列表作为底层实现 保存了同一键值对的两个节点总是紧挨在一起,保存键的节点在前,保存值的节点在后。 先添加到哈希对象中的键值对会被放在压缩列表的表头方向,而后来添加到哈希对象中的键值对会被放在压缩列表的表尾方向。 hashtable 使用字典作为底层实现,每个键值对都使用一个字典键值对来保存。 字典的每一个键都是一个字符串对象,对象中保存了键值对的键。 字典的每个值都是一个字符串对象,对象中保存了键值对的值。 编码转换 当哈希对象可以同时
WindCoder
2020-01-22
2970
Redis学习笔记02-列表对象
使用双端链表作为底层实现,每个双端链表节点(Node)都保存了一个字符串对象,而每个字符串对象都保存了一个列表元素。
WindCoder
2020-01-22
3980
点击加载更多
社区活动
RAG七天入门训练营
鹅厂大牛手把手带你上手实战
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档