01、前言
说起来真特么惭愧:十年 IT 老兵,Java 菜鸟一枚。今天我才了解到 Java 还有 fail-fast 一说。不得不感慨啊,学习真的是没有止境。只要肯学,就会有巨多巨多别人眼中的“旧”知识涌现出来,并且在我这全是新的。
能怎么办呢?除了羞愧,就只能赶紧全身心地投入学习,把这些知识掌握。
为了镇楼,必须搬一段英文来解释一下 fail-fast。
Java 's Blog
说起来真特么惭愧:十年 IT 老兵,Java 菜鸟一枚。今天我才了解到 Java 还有 fail-fast 一说。不得不感慨啊,学习真的是没有止境。只要肯学,就会有巨多巨多别人眼中的“旧”知识涌现出来,并且在我这全是新的。
能怎么办呢?除了羞愧,就只能赶紧全身心地投入学习,把这些知识掌握。
为了镇楼,必须搬一段英文来解释一下 fail-fast。
在 Map 家族中,WeakHashMap 是一个很特殊的成员,从名字上看与 HashMap 相关,但是与 HashMap 有着很大的差别,翻译成中文后表示弱 HashMap,俗称缓存 HashMap。
IdentityHashMap 从它的名字上可以看出来用于表示唯一的 HashMap,但是分析了其源码,发现其数据结构与 HashMap 使用的数据结构完全不同。
前面介绍了 Map 接口的实现类 LinkedHashMap,LinkedHashMap 存储的元素是有序的,可以保持元素的插入顺序,但不能对元素进行自动排序。在某些场景,如果在数据的存储过程中,能够自动对数据进行排序,将会极大提高编程效率。而 Map 接口有一个重要的实现类 TreeMap,TreeMap 可以实现存储元素的自动排序。
在上一章节,咱们深入浅出的分析了 HashMap,如果你已读过 HashMap 的讲解,一定能够想到本文将要讲解的 LinkedHashMap 其实也是一样的,LinkedHashMap 继承于 HashMap,不同的是 LinkedHashMap 插入的元素,可以按照插入的顺序读取!
就在昨天,一位叫小菜的读者微信我说:
二哥,我今年大二,看你分享的《阿里巴巴 Java 开发手册》上有一段内容说:“循环体内,拼接字符串最好使用 StringBuilder 的 append 方法,而不是 + 号操作符。”到底为什么啊,我平常一直就用的‘+’号操作符啊!二哥有空的时候能否写一篇文章分析一下呢?
之前在回忆面试题的时候,面试官曾经问过我关于网络协议的一些东西,回答的当时感觉自己很垃圾,然后面试结束之后,自行百度,翻阅书籍,然后做了细致的整理,现在我就来分享给大家。
在 18 年时,就听说过 Flink
流式计算引擎,是阿里调研选型选择的新一代大数据框计算架,当时就记住了这个新框架。
由于工作中,常写的还是业务开发,没有系统的去学习它,恰好在今年,我们的数据增长越来越快,架构师提出可以根据数据进行加工,通过数据分析得到更多指标性的计算结果,提供更多有价值的业务给用户。
于是规划了基于以下的系统架构:
可以看到,业务数据库与数据分析进行了剥离,避免了对核心业务的影响,基于数据分析的结果存储到线下备份库,查询大量的分析结果也不会影响核心业务。
同时,在数据处理上,选择了 Flink
这个分布式处理引擎。随着深入的调研和了解,从它的描述、性能、接口编程和容错恢复上进行了学习,觉得它十分适合我们的场景,所以接下来我分享一下调研的结果~
说实话,之前我从来没想过能有大厂会给我机会让我去面试,一个专科生,不是科班出身,这些硬性条件好像都没有一个符合的,但是却获得了美团的面试机会。很庆幸自己获得那次机会,也让我深刻体会到了面试大厂,到底需要你达到什么样子的水平。
最近做项目使用到了分布式事务,下面这篇文章将给大家介绍一下对分布式事务的一些见解,并讲解分布式事务处理框架 TX-LCN 的执行原理,初学入门,错误之处望各位不吝指正。
人生有涯,学海无涯
Redis 作为当下主流的 NoSQL 数据库,已经成为企业级开发不可或缺的一个重要组件了,现在大大小小的项目都会用到它,并且最新的版本已经达到 5.x 了。从这篇文章开始,我们会用一个系列的文章详细的给大家介绍一下 Redis 底层实现和使用场景,希望能帮助大家更好的使用。
回想十年前,我还是一名大学生,傻乎乎的对未来没有任何的规划。每天就知道混日子,打打游戏、谈谈恋爱。至于毕业后能不能找到一份工作,心里完全没个底。
kafka 现在在企业应用和互联网项目中的应用越来越多了,本篇文章就从 kafka 的基础开始带你一展 kafka 的宏图
人生有涯,学海无涯
最近接到一个项目,由于项目的独特性需要自己搭建一些环境,刚好之前学了一些 Docker(这里如果大家不熟悉 Docker 可以查看公号前面松哥写的 Docker 的系列文章),所以就决定采用 Docker 搭建,毕竟搭建方便、简单、快速。
看了这篇文章,希望你也能写出优雅的代码
下面分享的是我在工作中遇到的一个问题。有关 mysql 索引失效的问题。
看了这篇文章,你会对静态代理模式,JDK
动态代理模式和 CGLIB
动态代理模式有个很清晰的认识
一篇文章,教你搞定 MySQL 主从复制。
人生有涯,学海无涯
前面跟大家分享的排序算法之快速排序,今天跟大家分享另外一个排序算法——插入排序。插入排序可能大家在平时真正用到地方不多,但是也会用到,而且有一个场景我想大家一定经历过,那就打扑克牌。想想我们在抓牌的时候,是不是随着拿到一张张的扑克牌,然后按照顺序插入我们左手呢(或者右手上)?这其实就是插入排序,通过依次比较前一个数字的大小,将需要排序的数字插到最适合的位置,下面我们一起看下吧。
这个文章来源灵感是公司的项目在安全检查的时候,发现了很多 SQL 注入的一些问题还有一些 XSS 攻击问题,SQL 注入我们都是比较了解的,那么什么是 XSS 攻击呢?测试反馈给我的时候我是一脸懵逼呀,现在我们就来说一下什么是 XSS 攻击,以及我们怎么防止它的出现。