Java
文章平均质量分 92
Java语言本身
genie2014
10年JAVA开发经验、6年架构师。擅长Java全栈开发、研发管理、K8S、DevOps等。拥有“系统架构设计师”证书、“PMP”证书、“TOGAF9 鉴定级证书”、Scrum“PSM”证书、“MySQL DBA OCP”证书、K8S“CKA”证书。著有《企业架构与绕不开的微服务》一书。
展开
-
Java基础之刨根问底第8集——LinkedList
通过阅读源码,介绍LinkedList的实现原理,内容包括对队列、双端队列的介绍,也包括在使用上与ArrayList的一些对比。原创 2022-06-15 18:12:12 · 273 阅读 · 1 评论 -
Java基础之刨根问底第7集——ArrayList
通过源码详细解读ArrayList的实现原理和核心方法,也会介绍源码中的优化写法和目的。原创 2022-05-31 18:09:03 · 279 阅读 · 0 评论 -
Java基础之刨根问底第6集——集合与List
从本集开始介绍Java Collections Framework。本集是这一子系列的开篇,内容主要以介绍铺垫为主,下集开始刨根问底。原创 2022-04-25 18:09:56 · 748 阅读 · 0 评论 -
Java基础之刨根问底第5集——字符串
介绍JVM中的字符串常量池,通过直观的方式和测试用例,介绍字符串常量池的作用、原理、性能和使用等方面。原创 2022-03-15 18:55:58 · 830 阅读 · 0 评论 -
Java基础之刨根问底第4集——原始数据类型
Java基础之刨根问底第4集,原始数据类型。介绍Java中的8种原始数据类型,并探索其中的一些细节,包括用实验的方式清晰的观察每种数据类型在内存中的占用情况。原创 2021-12-16 22:51:31 · 906 阅读 · 0 评论 -
Java基础之刨根问底第3集——GC的优化
原文转自我自己的个人公众号:Java基础之刨根问底第3集——GC的优化(由于是拷贝过来的,如果排版有问题,请看公众号文章) 本系列不适合初学者,读者应具备一定的Java基础。 考虑到目前行业中使用最广的版本,本系列依据Java8编写。 GC的优化在开始之前,我想纠正一下上一集中关于client和server模式下heap默认大小的描述。在上一集中说:client模式下:初始堆内存(-Xms)被设置为4MB。最大堆内存(-Xmx)被设置为64M...原创 2021-12-07 20:43:05 · 808 阅读 · 0 评论 -
Java基础之刨根问底第2集——垃圾回收器
上一集介绍了JVM的内存结构,这一集就来看看JVM是如何进行内存回收的吧。内容主要是介绍Java8中的垃圾回收器和自动内存优化机制原创 2021-12-03 20:19:53 · 386 阅读 · 0 评论 -
Java基础之刨根问底第1集——JVM的结构
全面介绍JVM的结构,并且通过将字节码反编译成指令集的形式来介绍程序中的各种数据是如何在JVM的各个区域中存储的。原创 2021-11-26 20:52:45 · 535 阅读 · 0 评论 -
Java容器之各种Set
目录: Set简介 HashSet简介 打破Set中元素不可重复的约束 构造方法 新增、删除和遍历方法 LinkedHashSet TreeSet 总结 1. Set简介首先我们来对比下Set接口的方法:通过上图我们可以看出,Set接口中的方法全部都是Collection接口中的。我们下面再看看Collection接口中的方法:对比之后可以发现,Set接口除...原创 2020-08-21 23:19:18 · 325 阅读 · 0 评论 -
Java容器之TreeMap源码解析
注意:我是先写的公众号文章,然后拷贝过来的,但是拷贝过来后样式很多都乱了,有些文字写的命令也变成了图片,如果需要更好的阅读体验,可以查看我的公众号文章:https://mp.weixin.qq.com/s/fJuHl5Z2WAAW6ruYp88urg目录: TreeMap简介 TreeMap实现的接口 构造方法源码分析 compare和equals问题 红黑树原理概述 put源码分析 get源码分析 remove源码分析原创 2020-07-24 00:34:04 · 188 阅读 · 0 评论 -
Java容器之LinkedHashMap源码解析(视频讲解)
内容简介:讲解LinkedHashMap的源码和数据结构。分析其性能及影响性能的因素。从性能和数据结构方面对比HashMap。LinkedHashMap使用了双向链表,因此和LinkedList进行了相关对比讲解,在LinkedList的专题讲解中,提出尽量避免使用LinkedList,因此对LinkedHashMap也进行了相关讨论。得出可以广泛使用LinkedHashMap的结论。视频地址:https://mp.weixin.qq.com/s/a-fMRWi3DDAhKZSIUDIMWA内容补充原创 2020-05-19 14:16:50 · 173 阅读 · 0 评论 -
Java容器之HashMap源码解析(视频讲解)
内容简介:讲解HashMap的底层数据结果、处理逻辑和源码实现。首先通过画图模拟HashMap的数据结果和底层处理逻辑;然后解析put和get方法,印证模拟中的原理;通过解读源码,讲解单向链表转换成红黑树的条件,以及何时又从红黑树转换回单向链表;最后分析initialCapacity和loadFactor在HashMap中的作用,以及他们对性能的影响。视频地址:https://mp.weixin.qq.com/s/8z4jdDkDcwlTQi13UNsQCQ内容补充:(由于视频时长的原因,下面做几点原创 2020-05-13 10:41:12 · 549 阅读 · 0 评论 -
Java容器之LinkedList源码解析(视频讲解)
内容简介:解析LinkedList的数据结构,以及“增删改查”相关方法的源码实现。与ArrayList进行对比,并对ArrayList和LinkedList的性能和适用场景进行分析。网上几乎所有的对比ArrayList和LinkedList的文章几乎千篇一律,论点基本相同,也都使用了时间复杂度(Big-O)来定性的对比两者。但在两种不同的数据结构中使用时间复杂度是不可行的,因此这些文章的结论基本都是偏离实际的。那么两者真正的性能对比如何,两个集合的适用场景又是什么,请观看下方的视频。最终结论:不要使用L原创 2020-05-09 21:55:01 · 183 阅读 · 0 评论 -
Java容器之ArrayList源码解析(视频讲解)
内容简介:解析ArrayList常用方法的源码实现,并对实现方式进行分析,重点介绍initialCapacity对性能的影响及ConcurrentModificationException的触发场景。演示了如何使用IntelliJ IDEA集成开发环境对JDK中的类进行断点调试。视频时长28分钟,第一次录制,不专业的地方还请大家多多包涵。视频地址:https://mp.weixin.qq.co...原创 2020-05-08 14:50:44 · 156 阅读 · 0 评论 -
IntelliJ IDEA调试jdk中的类
IntelliJ IDEA默认不会进入JDK中类上的断点。网上搜索相关方法时,都会说只要在设置中进行如下设置即可(在Do not step into the classes中去掉JDK相关类的复选):实际上这样做是有一个前提的:不能使用Oracle官方的JDK。我一直使用的是Oracle官方的JDK,在测试的时候,发现即便按照上图设置后,依然无法进入ArrayList中打的断点。后来更...原创 2020-04-28 10:55:51 · 419 阅读 · 0 评论