Java
文章平均质量分 80
架构师易哥
高级软件架构师,《通用源码阅读指导书》《高性能架构之道》作者,开源项目ObjectLogger、MatrixAuth开发者。
展开
-
详解RPC原理,并完成最小实现
详细介绍远程过程调用(Remote Procedure Call,简称RPC)的原理,并实现一个名字最简RPC框架!原创 2022-06-03 21:40:20 · 203 阅读 · 0 评论 -
Java中枚举类型(Enum)使用进阶
本文是Java枚举类型的第三篇文章,对于枚举类型的实现原理和包含的方法特性不了解的小伙伴可以先去参考历史文章中的《Java中的枚举类型(Enum)详解》和《详解Java枚举类型(Enum)中的方法》两篇文章。接下来,我们将深入了解枚举类的使用。扩展枚举值与自定义构造函数之前,我们讨论枚举类时,主要是针对最简单的枚举类型。每个枚举值只有一个字符串,如:public enum Season { SPRING, SUMMER, AUTUMN, WINTER}但是实际使用中,我们可能想给每个枚原创 2021-03-08 21:56:32 · 206 阅读 · 0 评论 -
详解Java枚举类型(Enum)中的方法
在上篇文章中,我们对Java中的枚举类进行了详细的介绍。对于Enum还不了解的小伙伴,可以先预习《Java中的枚举类型(Enum)详解》一文。通过反编译,我们知道Java枚举类会在编译之后转化为一个继承了java.lang.Enum的类,而我们定义的每个枚举值都会在类的初始化阶段被实例化为我们所定义的枚举类的一个对象。在枚举类被编译之后,有一些方法是编译器在编译阶段写入的,那这些方法有什么特点?枚举类中还有一些继承来的方法,它们又有哪些?枚举类中的枚举值是在编译阶段被创建为对象,那构造函数又在哪?原创 2021-03-06 14:48:39 · 635 阅读 · 0 评论 -
Java中的枚举类型(Enum)详解
枚举类型初探枚举类型,其语法总让人觉着怪怪的,如下:public enum Season { SPRING, SUMMER, AUTUMN, WINTER}简单的一行,就定义了包含四个值的枚举类型,缺总让人觉着语法有点怪异。而在使用时:public void test() { System.out.println("spring name:" + Season.SPRING.name()); System.out.println("spring ordinal:" + S原创 2020-12-06 20:06:10 · 1067 阅读 · 0 评论 -
详解HashMap、HashTable、ConcurrentHashMap、HashSet的异同
之前的文章《HashMap源码详解》中我们已经结合Java1.8中HashMap的源码对数据结构、数据存取、数据写入、扩容等操作进行了详细的梳理。而HashMap又是HashSet、HashTable、ConcurrentHashMap这三种数据结构的基础。今天的文章我们就在《HashMap源码详解》的基础上,介绍HashSet、HashTable、ConcurrentHashMap的源码,并比较他们与HashMap的异同。1 HashTableHashTable和HashMap的关系最近,可以认为是原创 2020-12-01 23:42:30 · 153 阅读 · 0 评论 -
如何阅读源码,阅读源码的难点和方法分析
几次想阅读源码,但是每回都坚持不下去,毕竟读源码真的是一件很难得事情。随便一份源码,动辄几百个类,每个类几百行,没点毅力真的坚持不下来。当然,也有阅读方法的缘故。直到我看到了一本书《通用源码阅读指导书》,感觉才找到了源码阅读的方法,也正是在这本书的指导下,我读完了第一份开源源码MyBatis。1 意义与难点这本书最开始讲了源码阅读的优点,作者总结了四点:透彻地理解项目的实现原理接触到成熟和先进的架构方案学习到可靠与巧妙的实施技巧发现自身知识盲点,提升自身知识储备然后讲解了为什么阅读源码十分困原创 2020-07-12 21:45:35 · 1349 阅读 · 2 评论 -
Java中HashMap实现源码详解
HashMap是Java开发中常用的一种数据接口,常用于完成key:value结构的存储。而同时,HashMap又是HashSet、HashTable、ConcurrentHashMap这三种数据结构的基础。本篇文章我们详细分析HashMap的源码,后面我们会在此基础上介绍HashSet、HashTable、ConcurrentHashMap的源码,并比较他们与HashMap的异同。1 基本结构HashMap使我们非常常用的一种数据结构,常用来存储各种键值数据。同时,它也是最为简单的。这里我们的讲解以原创 2020-11-22 17:25:01 · 390 阅读 · 0 评论 -
简单易用的开源用户操作日志记录系统
我们开发的业务系统通常会提供给很多人使用,那在使用的过程中,日志系统变得非常重要。日志系统记录的用户行为有以下的作用:从系统用户角度看:它展示了用户自身的操作历史和具体对象的变动历史,便于用户进行梳理从系统管理员角度看:它可以记录了所有用户操作,便于我们定位异常行为例如,在git的project操作中,我们就可以看到这样的操作日志展示:对于这样的日志记录,我们可以在相关记录点添加对...原创 2019-05-24 09:58:30 · 6760 阅读 · 0 评论