Just Do Java

Java 's Blog


  • 首页

  • 分类

  • 作者

  • 归档

  • 关于

聊聊缓存淘汰算法-LRU 实现原理

发表于 2019-10-20 | 分类于 算法

01、前言

我们常用缓存提升数据查询速度,由于缓存容量有限,当缓存容量到达上限,就需要删除部分数据挪出空间,这样新数据才可以添加进来。缓存数据不能随机删除,一般情况下我们需要根据某种算法删除缓存数据。常用淘汰算法有 LRU,LFU,FIFO,这篇文章我们聊聊 LRU 算法。

阅读全文 »

【Redis 系列 02】Redis 简单动态字符串

发表于 2019-10-15 | 分类于 Redis

大家好,我是鸭血粉丝(大家会亲切的喊我 「阿粉」),是一位喜欢吃鸭血粉丝的程序员,之前给大家总结了线上 OOM 的情况,相信大家也能从中学到一些东西,身为一名有追求的程序员,阿粉我的理解是光会吃老本是不行的,所以我一直也在学习,今天大家就跟我一起来了解一下 Redis 的 SDS 吧(不是 SOS 哦~)。

01、SDS 数据结构

Redis 底层是基于 C 语言来开发的,但是它没有采用 C 语言传统的字符串表示方式,而是自定义了一种叫做 SDS(Sample Dynamic String,简单动态字符串)的数据结构来表示字符串。传统的 C 语言的字符串是采用空字符(\0)作为结尾的字符数组,SDS 的数据结构稍微复杂一点,整个结构包含三个部分,是 Redis 的基础。(阿粉猜测这里就是传说中的青出于蓝而胜于蓝)。

阅读全文 »

【Kubernetes】关于 K8s ,你应该知道的一些东西

发表于 2019-10-13 | 分类于 k8s

关于 K8s ,你至少应该知道这些。

阅读全文 »

还在重复写空指针检查代码?考虑使用 Optional 吧!

发表于 2019-10-13 | 分类于 java工具

一、前言

如果要给 Java 所有异常弄个榜单,我会选择将 NullPointerException 放在榜首。这个异常潜伏在代码中,就像个遥控炸弹,不知道什么时候这个按钮会被突然按下(传入 null 对象)。

阅读全文 »

再谈 HTTP,你还要继续更新不?

发表于 2019-10-13 | 分类于 HTTP

之前的第一篇文章我介绍了关于 HTTP 的一些简单的知识,比如说它的状态码,请求方式,以及 HTTP 的报文,这篇文章我将给大家带来关于 HTTP 版本的那些问题,比如说1.0和1.1和2.0.

阅读全文 »

Flink 基础学习(二)搭建一个 "Hello World" 程序

发表于 2019-10-13 | 分类于 Flink

在学习技术时,总会有一个简单程序 Demo 带着我们入门,所以参考着官网例子,带大家快速熟悉 Flink 的 Hello World~

说明一下,项目运行的环境如下:

OS : Mac

Flink Version : 1.9

IDE : IDEA

Java Version : 1.8

下面来讲下关于环境准备,如果是 Windows 的用户,请参照每个步骤,找到适应自己的安装 or 启动方法。

阅读全文 »

【Shiro 系列 07】Shiro 中密码加盐

发表于 2019-10-12 | 分类于 shiro

上篇文章和小伙伴们聊了密码加密问题,但是还不够,本文我们再来看看密码加盐问题。

阅读全文 »

【Shiro 系列 06】Shiro 中密码加密

发表于 2019-10-12 | 分类于 shiro

上篇文章和小伙伴们分享了 Realm 的认证策略问题,本文我想和小伙伴们来聊一聊密码的加密问题。

阅读全文 »

【Shiro 系列 05】Shiro 中多 Realm 的认证策略问题

发表于 2019-10-12 | 分类于 shiro

上篇文章和小伙伴们分享了 JdbcRealm,本文我想和小伙伴们聊聊多 Realm 的认证策略问题。

阅读全文 »

生产上遇到的一例mycat读写分离延时问题

发表于 2019-10-12 | 分类于 mysql

场景是这样的,我们的支付系统在一笔支付完成后,需要发出通知给到商户。支付完成的消息通过消息队列发送给通知的服务。

阅读全文 »

Java,你告诉我 fail-fast 是什么鬼?

发表于 2019-10-12 | 分类于 java基础

01、前言

说起来真特么惭愧:十年 IT 老兵,Java 菜鸟一枚。今天我才了解到 Java 还有 fail-fast 一说。不得不感慨啊,学习真的是没有止境。只要肯学,就会有巨多巨多别人眼中的“旧”知识涌现出来,并且在我这全是新的。

能怎么办呢?除了羞愧,就只能赶紧全身心地投入学习,把这些知识掌握。

为了镇楼,必须搬一段英文来解释一下 fail-fast。

阅读全文 »

【集合系列】- 深入浅出的分析 WeakHashMap

发表于 2019-10-11 | 分类于 数据结构

在 Map 家族中,WeakHashMap 是一个很特殊的成员,从名字上看与 HashMap 相关,但是与 HashMap 有着很大的差别,翻译成中文后表示弱 HashMap,俗称缓存 HashMap。

阅读全文 »

【集合系列】- 深入浅出的分析 IdentityHashMap

发表于 2019-10-11 | 分类于 数据结构

IdentityHashMap 从它的名字上可以看出来用于表示唯一的 HashMap,但是分析了其源码,发现其数据结构与 HashMap 使用的数据结构完全不同。

阅读全文 »

【集合系列】- 深入浅出的分析 TreeMap

发表于 2019-10-11 | 分类于 数据结构

前面介绍了 Map 接口的实现类 LinkedHashMap,LinkedHashMap 存储的元素是有序的,可以保持元素的插入顺序,但不能对元素进行自动排序。在某些场景,如果在数据的存储过程中,能够自动对数据进行排序,将会极大提高编程效率。而 Map 接口有一个重要的实现类 TreeMap,TreeMap 可以实现存储元素的自动排序。

阅读全文 »

【集合系列】- 深入浅出分析 LinkedHashMap

发表于 2019-10-11 | 分类于 数据结构

在上一章节,咱们深入浅出的分析了 HashMap,如果你已读过 HashMap 的讲解,一定能够想到本文将要讲解的 LinkedHashMap 其实也是一样的,LinkedHashMap 继承于 HashMap,不同的是 LinkedHashMap 插入的元素,可以按照插入的顺序读取!

阅读全文 »

羞,Java 字符串拼接竟然有这么多姿势

发表于 2019-10-10 | 分类于 java基础

就在昨天,一位叫小菜的读者微信我说:

二哥,我今年大二,看你分享的《阿里巴巴 Java 开发手册》上有一段内容说:“循环体内,拼接字符串最好使用 StringBuilder 的 append 方法,而不是 + 号操作符。”到底为什么啊,我平常一直就用的‘+’号操作符啊!二哥有空的时候能否写一篇文章分析一下呢?

阅读全文 »

重温HTTP,你到底做了什么?

发表于 2019-10-10 | 分类于 HTTP

之前在回忆面试题的时候,面试官曾经问过我关于网络协议的一些东西,回答的当时感觉自己很垃圾,然后面试结束之后,自行百度,翻阅书籍,然后做了细致的整理,现在我就来分享给大家。

阅读全文 »

Flink 基础学习(一)初识和基础概念

发表于 2019-10-10 | 分类于 Flink

为什么要学 Flink

在 18 年时,就听说过 Flink 流式计算引擎,是阿里调研选型选择的新一代大数据框计算架,当时就记住了这个新框架。

由于工作中,常写的还是业务开发,没有系统的去学习它,恰好在今年,我们的数据增长越来越快,架构师提出可以根据数据进行加工,通过数据分析得到更多指标性的计算结果,提供更多有价值的业务给用户。

于是规划了基于以下的系统架构:

可以看到,业务数据库与数据分析进行了剥离,避免了对核心业务的影响,基于数据分析的结果存储到线下备份库,查询大量的分析结果也不会影响核心业务。

同时,在数据处理上,选择了 Flink 这个分布式处理引擎。随着深入的调研和了解,从它的描述、性能、接口编程和容错恢复上进行了学习,觉得它十分适合我们的场景,所以接下来我分享一下调研的结果~

阅读全文 »

我是怎么倒在美团第三轮面试之下的

发表于 2019-10-09 | 分类于 面试

说实话,之前我从来没想过能有大厂会给我机会让我去面试,一个专科生,不是科班出身,这些硬性条件好像都没有一个符合的,但是却获得了美团的面试机会。很庆幸自己获得那次机会,也让我深刻体会到了面试大厂,到底需要你达到什么样子的水平。

阅读全文 »

浅谈分布式事务与TX-LCN

发表于 2019-10-09 | 分类于 分布式

最近做项目使用到了分布式事务,下面这篇文章将给大家介绍一下对分布式事务的一些见解,并讲解分布式事务处理框架 TX-LCN 的执行原理,初学入门,错误之处望各位不吝指正。

阅读全文 »
1 … 20 21 22 … 32
Java Geek Tech

Java Geek Tech

一群热爱 Java 的技术人

633 日志
116 分类
24 作者
RSS
GitHub 知乎
Links
  • 纯洁的微笑
  • 沉默王二
  • 子悠
  • 江南一点雨
  • 炸鸡可乐
  • 郑璐璐
  • 程序通事
  • 懿
© 2019 - 2022 Java Geek Tech
由 Jekyll 强力驱动
主题 - NexT.Mist