Java集合相关知识总结

Java集合相关知识总结

Java集合相关知识总结1. List集合:有序,可以重复的集合List list1 = new ArrayList():底层数据结构是数组,查询快,增删慢;线程不安全,效率高List list2 = new LinkedList():底层数据结构是链表,查询慢,增删快;线程不安全,效率高List list3 = new Vector():底层数据结构是数组,查询快,增删慢;线程安全,效率低...

Java 2020-03-17 AM 90次 0条
isEmpty和isBlank区别

isEmpty和isBlank区别

isEmpty和isBlank区别前言小编在刚接触Java时一般是用equals方法来进行判断是否为空,有点笨拙,效果还不是太好,现在在项目中大家一般都是用StringUtils类下的isEmpty和isBlank进行空值判断,那么它们又有什么区别呢?一、通过源码比较public static boolean isEmpty(String str) { return str == n...

Java 2020-03-09 PM 96次 0条
HashMap、Hashtable、ConcurrentHashMap的原理与区别

HashMap、Hashtable、ConcurrentHashMap的原理与区别

HashMap、Hashtable、ConcurrentHashMap的原理与区别前言本篇简单讲述HashMap、Hashtable、ConcurrentHashMap的原理,并对它们之间的区别做一个简单对比,并不从源码层面上做讲解一、基础概念HahTable1.继承于Dictionary,现了Map、Cloneable、java.io.Serializable接口2.底层是数组+链表实现,...

Java 2020-03-04 PM 107次 0条
集合类不安全之并发修改异常

集合类不安全之并发修改异常

集合类不安全之并发修改异常ArrayList并发修改异常代码import java.util.ArrayList; import java.util.List; import java.util.UUID; public class ContainerNotSafeDemo { public static void main(String[] args) { Li...

Java 2020-02-22 PM 132次 0条
CAS的ABA问题及解决

CAS的ABA问题及解决

CAS的ABA问题及解决问题描述:当获得对象当前数据后,在准备修改为新值前,对象的值被其他线程连续修改了两次,而经过两次修改后,对象的值又恢复为旧值,这样当前线程无法确定判断这个对象是否修改过。解决方法:JDK1.5可以利用AtomicStampedReference类来解决这个问题,AtomicStampedReference内部不仅维护了对象值,还维护了一个时间戳。当AtomicStam...

Java 2020-02-22 PM 133次 0条
CAS简介

CAS简介

CAS简介一、CAS概念CAS的全称为Compare And Swap即比较并交换,它是一条CPU并发原语。它的功能是判断内存某个位置的值是否为预期值,如果是则更改为新的值。看起来这是两步操作,但是由于底层硬件的支持,使两步操作能一步完成,从而保证了原子性,避免了独占锁的资源浪费。CAS并发原语体现在Java语言中就是sun.misc.Unsafe类中的各个方法。调用UnSafe类中的CAS...

Java 2020-02-22 PM 127次 0条
【转载】Java中newInstance()和new()

【转载】Java中newInstance()和new()

【转载】Java中newInstance()和new()前言在讲散列和散列码开篇之前,需要对底层的知识做一个补充。概述在Java开发特别是数据库开发中,经常会用到Class.forName()这个方法。通过查询Java Documentation我们会发现使用Class.forName()静态方法的目的是为了动态加载类。在加载完成后,一般还要调用Class下的newInstance()静态方...

Java 2020-01-20 PM 287次 1条
容器深入研究--SortedMap和LinkedHashMap

容器深入研究--SortedMap和LinkedHashMap

容器深入研究--SortedMap和LinkedHashMap前言本篇将讲述《Java编程思想》第17.8.2小节,SortedMap和第17.8.3小节,LinkedHashMap概述使用SortedMap,可以确保键处于排序状态。这使得它具有额外的功能,这些功能由SortedMap接口中的下列方法提供:Comparator comparator():返回当前Map使用的Comparato...

Java 2020-01-19 AM 155次 0条
基于SpringBoot的文件上传和下载

基于SpringBoot的文件上传和下载

基于SpringBoot的文件上传和下载1. 创建SpringBoot项目略2. 在pom.xml文件中添加依赖<dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <...

Java 2020-01-17 PM 201次 0条
容器深入研究--Set和存储顺序

容器深入研究--Set和存储顺序

容器深入研究--Set和存储顺序前言本篇讲述《Java编程思想》第17.6小节,Set和存储顺序。1. 示例对Set中的TreeSet、HashSet、LinkedHashSet功能进行比较代码public class SetTest { public static void main(String[] args) { List<Integer> list...

Java 2020-01-15 AM 157次 0条