自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 threadlocal

threadlocal

2022-09-12 17:51:11 533 1

原创 ConcurrentHashMap

1.ConcurrentHashMap底层实现1.1 JDK1.7底层数据结构:Segments数组+HashEntry数组+链表,采用分段锁保证安全性一个ConcurrentHashMap中有一个Segments数组,一个Segments中存储一个HashEntry数组,每个HashEntry是一个链表结构的元素。segment继承自ReentrantLock锁。首先将数据分为一段一段的存储,然后给每一段数据配一把锁,当一个线程占用锁访问其中一段数据时,其他段的数据也能被其他线程访问,实现了真

2022-04-27 20:51:57 2406

原创 Arraylist 与 LinkedList 区别

1、是否保证线程安全: ArrayList 和 LinkedList 都是不同步的,也就是不保证线程安全;2、底层数据结构: Arraylist 底层使用的是 Object 数组;LinkedList 底层使用的是 双向链表 数据结构(JDK1.6 之前为循环链表,JDK1.7 取消了循环。注意双向链表和双向循环链表的区别,下面有介绍到!)3、插入和删除是否受元素位置的影响:ArrayList 采用数组存储,所以插入和删除元素的时间复杂度受元素位置的影响。 比如:执行add(E e)方法的时候, Ar

2022-04-27 16:33:47 60

原创 ArrayList

1.1. Arraylist 和 Vector 的区别?1、ArrayList 是 List 的主要实现类,底层使用 Object[ ]存储,适用于频繁的查找工作,线程不安全 ;2、Vector 是 List 的古老实现类,底层使用 Object[ ]存储,线程安全的。1.2. Arraylist 与 LinkedList 区别?1、是否保证线程安全: ArrayList 和 LinkedList 都是不同步的,也就是不保证线程安全;2、底层数据结构: Arraylist 底层使用的是 Objec

2022-04-26 17:25:22 748

原创 HashMap底层原理

1.HashMap底层实现分JDK1.7和JDK1.8来答在JDK1.7时,HashMap的底层数据结构是 数组+链表在JDK1.8时,HashMap的底层数据结构是 数组+链表+红黑树JDK1.8中HashMap的put()和get()操作的过程put操作:①首先判断数组是否为空,如果数组为空则进行第一次扩容(resize)②根据key计算hash值并与上数组的长度-1(int index = key.hashCode()&(length-1))得到键值对在数组中的索引。③如果该位

2022-04-25 23:18:40 453

原创 最长回文子序列

最长回文子序列 可以将输入字符串进行翻转 然后将翻转后的字符串与输入字符串求最长公共子序列就行public class 最长回文子序列 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String s1 = scanner.nextLine(); String s2 = new StringBuffer(s1).reverse()

2022-04-24 19:50:16 59

原创 最长回文子串

最长回文子串 可以将输入字符串进行翻转 然后将翻转后的字符串与输入字符串求最长公共子串就可以

2022-04-24 19:46:34 80

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除