![](https://img-blog.csdnimg.cn/20190927151132530.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java面试踩过的坑系列
主要记录笔试、面试过程中踩过的那些“坑”。
方便自己与大家继续进步。
心中的亚雷泽
不忘初心,方得始终。朝着心中的亚雷泽不断前进!
展开
-
面试踩过的坑系列 - 基础篇(学习HashMap)
Java面试中,但凡谈到集合,避不开HashMap。咱就来好好了解一下这个东西。 1. 首先了解一下HashMap的实现原理/数据结构。 要知道hashmap是什么,首先要搞清楚它的数据结构,在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构造的,hashmap也不例外。Hashmap实际上是一个数组和链表的结合体(在数据结构中,一般称之为“链表散列“),请看下图(横排表示数组,纵排表示数组元素【实际上是一个链表】) ..原创 2020-05-21 14:25:36 · 265 阅读 · 0 评论 -
面试踩过的坑系列 - 基础篇(volatile关键字与线程安全)
首先,看一段如下代码(一次面试中被问到的): public class Test { private volatile static int inc = 0; public void increase(){ inc++; } public static void main(String[] args) { final Test test = new Test(); int activeThreadCount = Thr原创 2020-05-20 17:31:47 · 582 阅读 · 0 评论 -
面试踩过的坑系列 - 基础篇(Integer篇 - 装箱/拆箱机制)
Java是面向对象的编程语言,一切都是对象,但是为了编程的方便还是引入了基本数据类型,为了能够将这些基本数据类型当成对象操作,Java为每一个基本数据类型都引入了对应的包装类型(wrapper class),int的包装类就是Integer,从Java 5开始引入了自动装箱/拆箱机制,使得二者可以相互转换,对应如下: 原始类型:boolean,char,byte,short,int,long,float,double 包装类型:Boolean,Character,Byte,Short,Integer,L原创 2020-05-20 16:34:14 · 198 阅读 · 0 评论