![](https://img-blog.csdnimg.cn/20210304201614357.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java核心原理
文章平均质量分 90
Java核心技术与底层原理分析
_为光
我生有涯愿无尽
展开
-
Java核心原理——专栏索引篇
前言这篇文章是我的专栏 Java核心原理 的索引篇,在这个专栏中我会记录我对 Java 高级技术的学习如 JVM、JUC、NIO,以及我写的一些源码分析如 HashMap、LinkedList 。目录JUC 篇第一课:volatile----------------------------------------------------------------《详解 volatile》第二课:CAS--------------------------------------------------原创 2021-03-04 20:40:06 · 148 阅读 · 1 评论 -
【Java 核心原理】-> JUC -> 深入理解 CAS -> Unsafe类 & ABA问题
CAS 详解Ⅰ CAS 是什么?Ⅱ CAS 底层原理Ⅲ CAS 的缺点A. 循环时间长开销很大B. 只能保证一个共享变量的原子操作C. ABA 问题① ABA 问题是什么② ABA 问题的解决Ⅰ CAS 是什么?CAS(Compare and Swap),即比较再交换。我们先来看一个方法,AtomicInteger 的 compareAndSet()。我们来看一下这个方法的参数。一个叫 except 一个叫 update,也就是说,这个方法做的是,如果当前的值是我所期望的那个值 except原创 2021-02-06 18:50:45 · 411 阅读 · 0 评论 -
【Java核心原理】-> JUC -> 详解 volatile
在前面的过程里,我们从最细碎的文件块的思考与操作开始,然后往上走思考了文件块组成的文件,再往上完成了文件组成的资源的描述,现在再继续往上,看看资源组合在一起的注册中心是什么,资源之间怎么操作,思考一下多文件云传输框架的基本逻辑是什么。在资源的描述中,我们定义了一个字段,resourceId,资源编号。它是用来和其他资源做区分的。那么,我们来想想,这个资源编号是谁来编的,是发送端?是接收端?这里我再把一开始画的图拿来。初始时,所有的资源是在图中的服务器手里的。然后经过几次其他设备的请求和发送,这个网原创 2021-02-03 18:33:49 · 345 阅读 · 0 评论 -
【Java核心原理】->JVM浅谈 -> 类加载
JVM 类加载Ⅰ 前言Ⅱ 类加载机制概述Ⅲ 类加载的过程A. 加载(Loading)B. 链接(Linking)① 验证(Verification)② 准备(Preparation)③ 解析(Resolution)C. 初始化(Initialization)Ⅳ 类加载器A. 概念B. 三层类加载器与双亲委派模型Ⅰ 前言Java 语言的类型一共可以分为两大类:基本类型(primitive types) 和 引用类型(reference types)。基本类型都是由 JVM 预先定义好的。引用类型一共可以原创 2021-01-26 18:17:13 · 303 阅读 · 0 评论 -
【Java底层原理】-> HashMap & HashTable & TreeMap 详细分析
HashMap 再认识 Ⅰ 从面试出发Ⅱ Map 整体结构Ⅲ 相关数据结构与算法一、 数据结构① 散列表② 链表③ 红黑树二、算法Ⅳ 源码分析一、 HashMap① 内部结构实现② 一些极其巧妙并且重要的方法a. 哈希桶的索引位置如何确定b. 扩容 & 数据迁移c. 树化Ⅴ 总结Ⅰ 从面试出发HashMap 现在也算是面试官非常爱考的一个东西了,针对 HashMap 可以考量的东西很多,比如牵扯到的几种数据结构(散列表,链表,红黑树),典型的应用场景,以及技术实现等等。尤其是在 Java 8 中原创 2021-01-23 23:02:47 · 578 阅读 · 1 评论 -
【Java底层原理】-> Vector & ArrayList & LinkedList 详细分析
Vector & ArrayList & LinkedList 详细分析Ⅰ从面试出发Ⅱ 相关数据结构与算法Ⅲ Java 集合框架设计结构Ⅳ 源码分析① ArrayList② LinkedListⅤ 总结Ⅰ从面试出发这篇文章我们先从一个面试问题出发,然后逐步详细分析这三个集合类的原理。Q: 请你谈一谈,Vector, ArrayList, LinkedList 有什么区别?下面的答案源引自极客时间,杨晓峰《Java核心技术面试精讲》。A:这三者都是实现集合框架中的 List,也就原创 2021-01-21 18:41:43 · 345 阅读 · 0 评论