JavaSE基础原理
文章平均质量分 81
JavaSE基础的原理讲解、源码解读,一些常见的问题以及不常见的问题,以最通俗易懂的方式展示后再去深度分析
Strine
希望我的风格能成为你的小众爱好
展开
-
JDK1.8中ConcurrentHashMap全源码解读(初始化机制、自动扩容机制、Put方法)
JDK1.8ConcurrentHashMap全源码分析,Put方法分析,锁机制的分析,扩容机制分析,初始化机制分析,1.7和1.8ConcurrentHashMap的对比原创 2023-04-08 18:19:36 · 513 阅读 · 0 评论 -
JDK1.7中ConcurrentHashMap全源码解读(CAS锁、分段锁)
Segment分段锁机制,CAS锁机制,ConcurrentHashMapJDK1.7源码分析,ConcurrentHashMap的put方法、remove方法、get方法源码分析,ConcurrentHashMap锁的机制。RentrantLock,自旋锁,ConcurrentHashMap扩容机制,在1.7下存在的问题原创 2023-04-07 17:55:17 · 1383 阅读 · 0 评论 -
JDK1.7中ConcurrentHashMap源码了解前准备
我们假设有两个线程同时对一个HashMap进行put操作;那么它们两个线程都会基于put的流程去进行hashCode的运算以及index下标的计算;但是有可能这两个线程put的元素的key计算出来的下标是相同的,在正常情况下它们会在这个下标下面形成一个链表,然后插入到链表中,但是在HashMap中它会先去判断数组的当前位置是否为空;为空则放在当前索引位置,如果不为空则加到链表中;原创 2023-04-04 18:01:18 · 154 阅读 · 0 评论 -
JDK1.7头插法导致循环链表的问题
JDK1.7头插法导致的问题,循环链表问题原创 2023-04-01 17:16:48 · 765 阅读 · 0 评论 -
基于阿里Java规范下的集合处理
阿里Java开发规范,集合细节,HashMap的初始化细节原创 2023-04-01 15:23:59 · 157 阅读 · 0 评论 -
HashMap底层原理的深入了解(JDK1.7和JDK1.8对比)
HashMap的put原理,HashMap的自动扩容机制、HashMap底层Hash运算原理、HashMap的负载因子是什么?什么是泊松分布,jdk1.7和1.8版本的链表插入方法有什么区别?头插法和尾插法的区别?为什么HashMap底层的Hash运算要使用高16的异或运算?原创 2023-03-31 19:03:10 · 242 阅读 · 0 评论 -
反射与内省(简单易懂版)
因此我们可以使用反射,可以通过一个对象的字节码文件,获取到它的真实类型以及调用该对象中的方法;动态性:反射和new都能创建对象并且调用里面的方法,但是反射是针对字符串编程,而new是针对实体类编程,反射可以深入到类的内部结构去进行一些操作;当我们在传入对象进行一些操作的时候,大部分需要强转,但是我们不知道调用者带了什么对象的时候无法强转(有风险);1.突破一些sdk的API接口限制(访问一个类的私有字段,私有方法等等)2.获取属性对应的读写方法,操作属性的值等操作方式;4.公共的无参构造器;原创 2023-03-24 15:04:56 · 137 阅读 · 0 评论 -
Collection操作Stream流
Collection有什么用?Collection与Stream流的关系?原创 2023-03-24 16:13:14 · 206 阅读 · 0 评论 -
LinkedList源码解读
LinkedList源码解读,LinkedList新增方法源码解读,什么是LinkedList,LinkedList和ArrayList的区别,LinkedList的特点,LinkedList的底层实现,LinkedList是否是线程安全的,LinkedList的Remove方法的底层实现,折半查找原理,二分查找原理,LinkedList的get方法底层原理原创 2023-03-28 13:10:40 · 130 阅读 · 0 评论 -
Java中String的一些细节
我们在直接创建的时候:String str = "abc",会在堆内存中创建字符串对象“abc”,然后再将字符串对象“abc”的引用保存在字符串常量池中;池里面存储了一些数据,我们要用的时候先去这个池里面找,看看有没有我们要的东西,如果没有我们再去创建,这样是不是就降低了内存的损耗呢。意思是该值是用来存储字符串的,也就是说我们存储字符串的地方是被final所修饰的,因此String对象是不可变的。如果该字符串常量池的引用没有被保存在字符串常量池中的话,就会在字符串常量池中。String中intern方法原创 2023-03-26 17:59:33 · 52 阅读 · 0 评论 -
HashMap原理了解前准备
HashMap的底层原理与源码分析,Hash碰撞、Hash算法、寻址算法、HashMap的继承体系、jdk1.7与jdk1.8的HashMap的区别,HashMap的put原理、HashMap的get原理、HashMap与HashTable的区别、HashMap的底层实现方式,手写HashMap源码、HashMap源码解读原创 2023-03-29 17:27:26 · 167 阅读 · 0 评论 -
Lambda表达式和Stream流
lambda表达式、Stream流、Optional、Java8新特性原创 2023-03-24 15:51:15 · 100 阅读 · 0 评论 -
ArrayList的特点及源码解读
ArrayList底层原理,ArrayList自动扩容机制,ArrayList的add原理,ArrayList的初始化机制,ArrayList的源码解读,ArrayList的Remove底层原理,ArrayList是怎么进行删除的,ArrayList的删除操作,ArrayList的缩容机制,时间复杂度,modcount的作用,什么是fastClass机制,多线程场景下ArrayList可能会出现的问题。原创 2023-03-27 20:54:05 · 204 阅读 · 0 评论