我是攻城师

487 篇文章
70 人订阅

全部文章

我是攻城师

优秀攻城师必知的正则表达式语法

最近公司的一个项目,大量用到了正则来处理文本,以前对正则使用仅限于小打小闹,用的也是一知半解,经过本次的深入使用,发现正则表达式真的是每一位开发者都需要具备的一...

692
我是攻城师

如何动手撸一个LRU缓存

上篇文章介绍了,如何动手实现一个LFU缓存,今天我们来学习下如何动手实现一个LRU缓存,在这之前,我们还是先回顾下关于缓存置换算法的三种策略:

502
我是攻城师

如何动手撸一个简单的LFU缓存

关于第一种FIFO策略的实现,比较简单,可采用固定长度的数组和链表来处理,这里就不重点说了。今天我们的重点是LFU缓存的实现。

781
我是攻城师

在Java里面如何解决进退两难的jar包冲突问题?

es api组件依赖guava18.0,spark项目由于业务需要写入es所以需要依赖es ,但spark项目的环境又需要依赖guava14.0,如果换成高版本...

964
我是攻城师

Java基本类型的内存分配在栈还是堆

我们都知道在Java里面new出来的对象都是在堆上分配空间存储的,但是针对基本类型却有所区别,基本类型可以分配在栈上,也可以分配在堆上,这是为什么?

841
我是攻城师

什么是缓存置换算法?

前面的文章已经介绍了什么是操作系统的虚拟内存,与本文要介绍的缓存置换算法息息相关,如果还没有看的朋友,建议先读一下上篇文章,链接是:什么是操作系统的虚拟内存?

1082
我是攻城师

什么是操作系统的虚拟内存?

而虚拟内存归属于操作系统,是操作系统里面非常重要的一个概念,操作系统的主要作用有两个:

673
我是攻城师

复盘一个Elasticsearch排序问题的剖析

直接从异常上看,可以得到是因为mapping里面不存在排序字段的时候,而抛出的异常,正常的情况,如果某个索引不存在并且还去查询该索引,我们可以通过对索引名字后面...

995
我是攻城师

Java反射从放弃到入门

Java反射特性提供了在运行时可以动态访问和修改类和实例内部的状态的功能。反射是Java语言里面一个高级的话题之一,使用反射我们可以在运行时轻松的内省一个类,接...

752
我是攻城师

5分钟轻松理解二叉树的深度遍历策略

我们知道普通的线性数据结构如链表,数组等,遍历方式单一,都是从头到尾遍历就行,但树这种数据结构却不一样,我们从一个节点出发,下一个节点却有可能遇到多个分支路径,...

703
我是攻城师

当高并发遇到限流算法

降级是当服务出现问题或者影响到核心流程时的性能时,需要暂时屏蔽掉,等高峰期过去或者问题解决后再打开。

985
我是攻城师

Java反射是什么

Java的反射特性是一项非常强大和有用的功能,它使得我们可以轻松的在运行时观察到类实例的内部状态,并且可以动态的操作实例,从而为Java语言提供更多更灵活的想象...

782
我是攻城师

如何在spark里面使用窗口函数

在大数据分析中,窗口函数最常见的应用场景就是对数据进行分组后,求组内数据topN的需求,如果没有窗口函数,实现这样一个需求还是比较复杂的,不过现在大多数标准SQ...

2014
我是攻城师

如何通过Java反射获取泛型类型信息

关于Java泛型,很多人都有一个误解,认为Java代码在编译时会擦除泛型的类型,从而在运行时导致没法访问其类型,这其实并不完全正确,因为有一部分泛型信息是可以在...

4711
我是攻城师

Flink1.8源码编译安装

这里我们要介绍的是源码编译的方式,我们需要直接从github上下载最新的relese1.8版本源码或者通过git clone命令来拉取,如下:

3422
我是攻城师

深入理解Trie树

前面的文章介绍过各种高效的的数据结构,比如二叉搜索树,AVL树,红黑树,B树,跳跃表等,今天我们再来学习一种多路树,叫做Trie树。

1072
我是攻城师

深入理解什么是LSM-Tree

十多年前,谷歌发布了大名鼎鼎的"三驾马车"的论文,分别是GFS(2003年),MapReduce(2004年),BigTable(2006年),为开源界在大数据...

1993
我是攻城师

Spring Boot如何集成Nginx配置代理

配置Nginx统一代理web容器如tomcat,jetty的请求,在日常开发中很常见,那么在配置集成的时候应该注意些什么呢?

1943
我是攻城师

redis命令keys和scan的区别

redis的keys命令,通来在用来删除相关的key时使用,但这个命令有一个弊端,在redis拥有数百万及以上的keys的时候,会执行的比较慢,更为致命的是,这...

1662
我是攻城师

如何在无序数组中查找第K小的值

(1)最简单的思路直接使用快排,堆排或者归并排,排序之后取数组的k-1索引的值即可,时间复杂度为O(nLogn)

1184

扫码关注云+社区

领取腾讯云代金券