自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

该用户已成仙的博客

博主微信:gyhycx7980 可免费获取资料

  • 博客(9)
  • 收藏
  • 关注

转载 百度内容风控是怎样在秒级之内完成词表匹配的?

导读:我们在实现检测一个字符串是否包含另一个字符串时,简单的用一个字符串匹配算法就可以实现,如果要实现检测一个字符串是否包含 N 个字符串时,这个 N 有可能上千万,再利用简单的字符串匹配算法就没法满足我们的需求了,上千万的词需要可以灵活的维护,业务方匹配时能够拿到自己的词进行匹配,千万词的匹配需要保证匹配速度,要在秒级之内出结果。所以,我们需要一套解决此类问题的方案——词表服务 。全文5370字,预计阅读时间 12分钟。一、背景内容审核平台需要检测作者发的文章中是否含有特殊的敏感词。对于不.

2021-07-20 15:13:16 295

原创 深度解析HashMap底层实现架构

摘要:分析Map接口的详细使用以及HashMap的底层是如何实现的?Map接口大家应该都听说过吧?它是在Java中对键值对进行存储的一种常用方式,同样其中的HashMap我相信大家应该也不会陌生,一说到HashMap,我想稍微知道点的小伙伴应该都说是:这是存储键值对的,存储方式是数组加链表的形式。但是其中真正是如何进行存储以及它的底层架构是如何实现的,这些你有了解吗?可能很多小伙伴该说了,我只需要知道它怎么使用就可以了,不需要知道它的底层实现,但其实恰恰相反,只知道它怎么使用是完全不够的,而且在.

2021-07-20 14:00:18 147

原创 怎样才能写出让CPU跑的更快的代码?

代码都是由 CPU 跑起来的,我们代码写的好与坏就决定了 CPU 的执行效率,特别是在编写计算密集型的程序,更要注重 CPU 的执行效率,否则将会大大影响系统性能。CPU 内部嵌入了 CPU Cache(高速缓存),它的存储容量很小,但是离 CPU 核心很近,所以缓存的读写速度是极快的,那么如果 CPU 运算时,直接从 CPU Cache 读取数据,而不是从内存的话,运算速度就会很快。但是,大多数人不知道 CPU Cache 的运行机制,以至于不知道如何才能够写出能够配合 CPU Cache 工作机

2021-07-14 17:10:05 222

原创 我是一个请求,我是如何被发送的?

摘要:本文主要分析使用cse提供的RestTemplate的场景,其实cse提供的rpc注解(RpcReference)的方式最后的调用逻辑和RestTemplate是殊途同归的。本文分享自华为云社区《我是一个请求,我该何去何从(下)》,原文作者:向昊 。上次我们大概了解到了服务端是怎么处理请求的,那么发送请求又是个什么样的流程了?本文主要分析使用cse提供的RestTemplate的场景,其实cse提供的rpc注解(RpcReference)的方式最后的调用逻辑和RestTemplate是殊途同归

2021-07-14 15:39:49 173

原创 Redis 客户端哪家强? Lettuce手下见真香!

一、Lettuce 是啥?一次技术讨论会上,大家说起 Redis 的 Java 客户端哪家强,我第一时间毫不犹豫地喊出 "Jedis, YES!"“Jedis 可是官方客户端,用起来直接省事,公司中间件都用它。除了 Jedis 外难道还有第二个能打的?”我直接扔出王炸。刚学 Spring 的小张听了不服:“SpringDataRedis 都用 RedisTemplate!Jedis?不存在的。”“坐下吧秀儿,SpringDataRedis 就是基于 Jedis 封装的。”旁边李哥呷了一口刚开

2021-07-14 15:36:51 426

原创 NameServer 核心原理解析

RocketMQ 中还有一个比较关键但是我们平时很容易忽略的组件——NameServer。在日常的使用中,我们接触的最多的还是 Producer 和 Consumer,而 NameServer 没有直接跟我们有交互。就像 Kafka 集群背后用于其集群元数据管理的 Zookeeper 集群一样,NameServer 也在背后支撑着 RocketMQ 正常工作。你给翻译翻译,什么叫 NameServerNameServer 你可以简单的把它理解成注册中心。Broker启动的时候会将自己注册到.

2021-07-14 15:16:42 436 1

原创 死磕Spark事件总线——聊聊Spark中事件监听是如何实现的

Spark中大量采用事件监听方式,实现driver端的组件之间的通信。本文就来解释一下Spark中事件监听是如何实现的观察者模式和监听器在设计模式中有一个观察者模式,该模式建立一种对象与对象之间的依赖关系,一个对象状态发生改变时立即通知其他对象,其他对象就据此作出相应的反应。其中发生改变的对象称之为观察目标(也有叫主题的),被通知的对象称之为观察者,可以有多个观察者注册到一个观察目标中,这些观察者之间没有联系,其数量可以根据需要增减。事件驱动的异步化编程Spark-Core内部的事件框架

2021-07-14 15:04:58 443 1

原创 一文带你认知不一样的Synchronized

上一篇文章我们花了很大的篇幅来分析理解volatile关键字,讲完volatile,当然离不开谈谈synchronized,在并发编程中,这个关键字一直都是元老级别的存在,我们习惯于称之为重量级锁,但随着Java SE 1.6版本后,Java团队对synchronized做了彻底的优化,让它具有了可轻可重,可咸可甜(乱说的)的能力。跟随我的视野,让我们来看看这到底是个啥!一、灵魂拷问进入正题之前,依然是俗套的灵魂拷问,你准备好了吗?什么是synchronized,它是如何使用的? sync.

2021-07-13 14:20:27 167

原创 面进阿里拿下P7offer后的感悟——这些技术真的很重要:计算机网络+操作系统+算法……

为了方便之后的面试复习,我把各类面试题给汇总了一下,每道题都是经过自己筛选后觉得需要掌握的,此次整理包括 Java、数据结构与算法、计算机网络、操作系统、数据库等。后面我会把这些问题的解答陆续放出来。更多面试题加面试答案、学习资料,点此免费获取!!1. Java 篇(1). Java基础知识java中==和equals和hashCode的区别 int与integer的区别 抽象类的意义 接口和抽象类的区别 能否创建一个包含可变对象的不可变对象? 谈谈对java多态的理解 String

2020-11-30 21:13:23 363

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除