首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
菜鸟学JAVA
love_eagle
创建于2021-05-18
订阅专栏
自感没什么编程天赋,感悟慢,忘得快。希望通过写作的方式,整理一些所学所感。
等 1 人订阅
共28篇文章
创建于2021-05-18
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
算法学习——二叉搜索树基础
二叉搜索树(BST)是二叉树的一种特殊表示形式,它满足如下特性:每个节点中的值必须大于(或等于)存储在其左侧子树中的任何值。每个节点中的值必须小于(或等于)存储在其右子树中的任何值。
Redis基础系列(八)——过期键删除策略
Redis 中采用惰性删除和定期删除配合的策略,实现合理使用CPU时间和避免浪费内存空间之间取得平衡。
队列和广度优先搜索
在队列中,遵循先入先出(FIFO)的原则,先入队的元素将优先出队。循环队列可实现空间的重复利用,减少分配空间带来开销以及避免出队后没有使用的内存空间浪费。
算法学习——栈和深度优先搜索
在LIFO数据结构中,将首先处理添加到队列中的最新元素,栈是一个 LIFO 数据结构。LIFO数据结构中,总是在队列末尾添加一个新元素,删除时也总是删除最后一个元素。
Redis基础系列(六)——有序集合对象
有序集合,从名字上看,可知道包含两个特性:有序、元素不重复。有序集合通过个每个元素设置一个分数(score),依据分数顺序实现元素有序。虽然有序集合的元素不能重复,但是score可以重复。
乐观锁和悲观锁
乐观锁,是一种乐观的思想,认为程序总是读多写少,遇到并发写的概率比较低,读数据时认为别的线程不会正在进行修改,所以没有上锁。悲观锁,是一种悲观的思想。觉得总会出现并发冲突,所以每次读写资源都要上锁。
读写锁
读写锁由读锁 和 写锁 两部分构成,如果只读取共享资源用「读锁」加锁,如果要修改共享资源则用「写锁」加锁。所以,读写锁适用于能明确区分读操作和写操作的场景。
二叉树的遍历
树是一种经常用到的数据结构,用来模拟具有树状结构性质的数据集合。树里的每一个节点有一个根植和一个包含所有子节点的列表。从图的观点来看,树也可视为一个拥有N 个节点和N-1 条边的一个有向无环图。
Redis基础系列(七)——那些优化命令
在Redis中,虽然速度很快,但有时由于执行的命令涉及的数据太多,可能会产生性能问题。这里,列举几个可以优化的命令,来提高部分命令的性能。
Java IO 简介
什么是IO? IO的名称又来是Input与Output的缩写,也就是输入流和输出流。输入流用于从源读取数据,输出流用于向目标写数据。
算法学习——数组与字符串解题技巧之二分法
二分法的使用前提是:数组为有序数组,且强调数组中无重复元素。二分法的逻辑比较简单,写好二分法的关键是对区间定义清楚,区间的定义就是不就是不变量。
Redis基础系列(五)——集合对象
Redis集合对象的成员是唯一的,这就意味着集合中不能出现重复的数据。Redis 中集合对象的编码可以是intset或者hashtable。
JVM中垃圾回收第二步——如何回收对象
从LeetCode上难度等级为简单的题目看GC 算法,居然可以快速理解GC 算法的基本思想。计算机的世界也是互通,看似新技术层出不穷,底层逻辑其实一直没变过。
JVM中垃圾回收第一步——哪些对象需要被回收
一个对象是否要回收,最直接的考虑就是这个对象是否还能用到。如果对象不能用到,就说这个对象“已死”,那对象占用的内存就可以回收。
JVM的内存模型
Java虚拟机在执行Java程序的过程中,会把它所管理的内存区域划分为若干个不同的数据区域。这些区域有着各自的用途,以及创建和销毁的时间。
互斥锁与自旋锁
互斥锁加锁失败后,线程会释放 CPU ,给其他线程。 自旋锁加锁失败后,线程会忙等待,直到它拿到锁。
Redis基础系列(四)——哈希对象
在Redis中, 哈希类型是指键值本身又是一个键值对结构,每个哈希键可以存储键值对数量为 2^23-1 个。
抽象类还是接口,如何选择?
假设我要造一个会飞的汽车,这时有两种做法:继承一个车的抽象类,实现Flyer接口;编写一个FlyCar的抽象类,这个类继承车的抽象类,同时实现Flyer接口。该如何选择设计方案呢?
Redis基础系列(三)——列表对象
Redis列表是简单的字符串列表,按照插入顺序进行排序,支持从头部或者尾部添加元素,因此列表对象也经常用作为队列。
Java 线程状态及其转换机制 | 周末学习
Java定义了6种线程状态,在任意时间点,每一个线程只能是其中的一种状态;并且对于单核CPU,任意时间点,只能存在一个线程为运行状态。线程状态通过特定的机制和方法进行转换。
下一页