首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
JAVA
订阅
Pg炮
更多收藏集
微信扫码分享
微信
新浪微博
QQ
21篇文章 · 0订阅
Lucene 倒排索引原理
Lucene 作为 Apache 开源的一款搜索工具,一直以来是实现搜索功能的神兵利器,现今火热的 Solr 和 Elasticsearch 均基于该工具包进行开发,我们搜索召回组这边也是基于 Lucene 实现了一套索引构建机制,用于酒店搜索、门票搜索、大搜等搜索相关业务。而 ...
简单理解KMP算法
学到KMP算法是不是感觉明明不难原理都懂但是总感觉没有理解透彻?next数组怎么求出来的?尤其是代码实现里的那句j=next[j]怎么理解? 如果你脑袋里也有这些问号,不要着急,你不是一个人。耐心看完这篇文章,相信能让你茅塞顿开,豁然开朗。 说起字符串匹配,最直观的也是最容易想…
白话 KMP 算法
KMP 算法是计算机字符串匹配的常规算法。wiki 本篇文章借助简单示例,用通俗易懂的方式描述对 KMP 算法的理解。 对于 KMP 来说,“匹配值表”是很关键的。下面我们从简单示例出发描述匹配值表是如何产生的,以便理解。 现在 我们需要查找的字符串是 “ABABABCA”。 …
Java volatile关键字解析
volatile被称为轻量级的synchronized,运行时开销比synchronized更小,在多线程并发编程中发挥着同步共享变量、禁止处理器重排序的重要作用。建议在学习volatie之前,先看一下Java内存模型《什么是Java内存模型?》,因为volatile和Java…
JVM 运行时数据区 - 多图预警、万字内存模型解读
本文要介绍的就是这个图中的 运行时数据区 ,也就是常说的内存模型。 对于 java 程序员来说,在虚拟机自动内存管理机制的帮助下,不容易出现内存泄漏和内存溢出。 有虚拟机管理内存,这一切看起来都很美好。但是,也正因为java把内存控制的权力给了java虚拟机,一旦出现内存泄漏和…
阻塞队列——手写生产者消费者模式、线程池原理面试题真正的答案
队列(Queue)是一种经常使用的集合。Queue 实际上是实现了一个先进先出(FIFO:First In First Out)的有序表。和 List、Set 一样都继承自 Collection。它和 List 的区别在于,List可以在任意位置添加和删除元素,而Queue 只…
抖音、腾讯、阿里、美团春招服务端开发岗位硬核面试(完结)
在上一篇 我们中,我们分享了几大互联网公司面试的题目,本文就来详细分析面试题答案以及复习参考和整理的面试资料,小民同学的私藏珍品🐶。 首先是面试题答案公布,在讲解时我们主要分成如下几块:语言的基础知识、中间件、操作系统、计算机网络、手写算法、开放题和项目经历。对面试题和涉及的…
【刷题】二叉树非递归遍历
三道题的解决思路可统一,模板也极其相似,比九章提供的更漂亮。 比如{1,2,3},当cur位于节点1时,1、2属于“左”节点,3属于“右”节点。DFS的非递归实现本质上是在协调入栈、出栈和访问,三种操作的顺序。上述统一使得我们不再需要关注入栈顺序,仅需要关注出栈和访问(第3点)…
缓存系统设计精要
在计算机领域,缓存在程序设计过程中扮演着重要角色。浏览器的资源缓存策略是影响web网站性能的一个关键因素;mysql的Buffer Pool极大的提高了数据库的查询效率;redis作为被广泛应用的缓存数据库,提供了丰富的数据结构和缓存策略来满足开发者的需求。缓存在现代计算机系统…
Paxos共识算法详解
在一个分布式系统中,由于节点故障、网络延迟等各种原因,根据CAP理论,我们只能保证一致性(Consistency)、可用性(Availability)、分区容错性(Partition Tolerance) 中的两个。 对于一致性要求高的系统,比如银行取款机,就会选择牺牲可用性,…