首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Java
超级爽朗的郑
创建于2021-07-17
订阅专栏
Java
等 8 人订阅
共51篇文章
创建于2021-07-17
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
MySQL存储IP地址优化记录一下
这是我参与8月更文挑战的第7天,活动详情查看:8月更文挑战 前言 在项目中可能会有一些需求或场景,比如在对接第三方需求时需要指定对方请求IP为白名单,用于白名单放行或黑名单过滤拦截,这时就需要持久化I
一致性Hash思想及实现记录一下
这是我参与8月更文挑战的第6天,活动详情查看:8月更文挑战 前言 一致性Hash设计思想 一致性Hash是由固定长度的hash环构成,其大小为2的32次方。将数据或节点计算出hash值为key放入到h
LRU算法代码实现记录一下
这是我参与8月更文挑战的第5天,活动详情查看:8月更文挑战 前言 之前有写过一篇关于LRU淘汰算法的文章 LRU算法记录一下,LRU算法思想是淘汰最近最少使用的元素,当一个元素在一段时间内没有访问过后
中高级Java一面基础知识点记录
前言 记录一下公司高级Java工程师一面面试中一些基础知识点。 Java基础: 1,场景一:new HashMap(1), 只put()一个元素,对性能有什么影响?(扩容机制) 2,Concurren
CPU缓存一致性协议MESI详解
这是我参与8月更文挑战的第3天,活动详情查看:8月更文挑战 前言 CPU高速缓存的执行流程 程序及数据被加载到主内存 指令和数据被加载到CPU高速缓存 CPU执行指令,把结果写到CPU高速缓存 CPU
Synchronized详解(下)| 8月更文挑战
这是我参与8月更文挑战的第2天,活动详情查看:8月更文挑战 前言 上篇文章介绍了Synchronized和monitor的一些底层基础知识 Synchronized详解(上)| 8月更文挑战; 那么有
Synchronized详解(上)| 8月更文挑战
前言 在多线程编程中,会出现多个线程同时访问一个共享、可变资源(共享:资源被多个线程同时访问;可变:资源可被多个线程修改)的情况,这个资源我们称为临界资源,这种资源可能是对象、变量、文件等等; 由于线
DelayQueue延迟处理任务记录一下
前言 过程 代码实现 简单探究下其延迟实现原理 这里解释下first的内存泄漏情况 因为在多消费端调用take()方法时,如果线程A获取first = q.peek()并且进入后面的else流程把le
动态规划解决跳台阶问题记录一下
前言 分析过程 首先当我们解析一下其过程,就会发现这题不算难: 当有一级台阶时,只有一种跳台阶的方式。 当有两级台阶时,可以选择一级一级跳台阶,也可以一次性跳两级台阶,就有两种跳台阶方式。 当有三级台
用多线程模拟2PC事务提交
前言 代码实现 废话不多说,下面直接上代码。 这里把代码中的模拟异常情况注释取消 最后 如果把上述代码中的多个线程看做多个微服务,那就对分布式事务的2PC两阶段提交的实现了。 分布式事务里除了两阶段提
LFU算法代码实现记录一下
前言 之前有写过一篇关于LRU淘汰算法的文章 LRU算法记录一下,lru算法思想是淘汰最近最少使用的元素,当一个元素在一段时间内没有访问过后,那么在之后的一段时间也极有可能不会被访问,然后当数据池满了
Java高级操作记录一下
操作一 当我们需要用一个变量保存多个状态值时,我们可以会使用逗号隔开的字符串表示: 这里说一种使用位运算计算的Integer值来表示: 上面例子中对参数1、2、3、4都进行对应的位运算 1 << (n
希尔排序记录一下
前言 代码实现 最后 希尔算法的时间复杂度平均要小于插入算法,但是在希尔算法最坏的情况下可能比插入算法的时间复杂度更加耗时,因为如果当希尔算法前面的几个预排序分组步骤都没有改动数组内元素的顺序,然后再
插入排序记录一下
前言 插入排序 插入排序实现方式一:首先遍历数组,然后依次和最左边元素进行一一对比,如果前一个元素大于当前元素,那么元素就进行交换。 插入排序实现方式二:首先遍历数组,获取当前元素为基准值,然后用当前
选择排序记录一下
前言 选择排序是一种类似冒泡排序的排序算法,每次循环都会选择出最小的一个元素,然后放在数组的最左边。 相对于冒泡排序,选择排序的优势没有在最里层进行元素交换,减少了元素的交换次数,但是如果是相同的元素
手撸一个线程池
常规前言 多线程编程是在开发过程中非常基础且非常重要的一个环节,基本上任何一家软件公司或者项目中都会使用多线程。当然在项目中通常都是通过线程池的方式执行多线程任务。看线程池执行流程和源码设计有助于提升
redisson分布式锁的执行原理分析一下
很简单的前言 之前在项目中有使用redisson作为分布式锁的实现方式,就想着看看它的源码的执行流程,然后记录一下。 没有排版的分析过程 废话不多说,先上图分析 上图是redisson的基本用法。 这
Map中value赋值null记录一下
无意义的开头 在java集合容器里使用较多的有Map集合有HashMap和ConcurrentHashMap。 其中HashMap为非线程安全,只有在单线程内或并发读场景里使用。而Concurrent
多线程异常了会怎样?
前言 之前看过一个文章,里面有一个面试题,是关于多线程的问题。 问题描述的是:如果一个线程死了,会发生什么? 个人在没有看文章后续讲解时,当时心里产生了几个答案。可惜最后发现没有回答到点上,所以打算记
SkipList跳表记录一下
定义 skipList 跳表是由 William Pugh在1990年发表的论文中提出的一种数据结构。其思想是用空间换取时间,在一个基础链表中如果想查找一个元素那么就需要遍历整个链表,最坏情况的时间复
下一页