Synchronized关键字剖析 Anonymous published on 2020-10-11 included in Java Java并发使用 在使用Synchronized关键字需要把握以下注意点:
Java8特性 Anonymous published on 2020-08-13 included in Java 基础Lambda表达式 函数式编程简介 函数式编程(英语:functional programming)或称函数程序设计、泛函编程,是一种编程范式,它将电脑运算视为函数运算,并且避免使用程序状态以及易变对象。其中,λ演算(lambda calculus)为该语言最重要的基础。而且,λ演算的函数可以接受函数当作输入(引数)和输出(传出值)。(摘自Wikipedia)
Integer小细节 Anonymous published on 2020-08-06 included in Java 基础Integer IntegerCache 在Java中,创建的对象会存储在堆内存,·IntegerCache·主要用来做缓存,减少内存的重复消耗。但是IntegerCache缓存的数据范围在-128到127之间。可以通过 -XX:AutoBoxCacheMax=high 来指定这个缓冲池的大小,JVM通过 java.lang.IntegerCache.high 系统属性来存储该值,IntegerCache初始化的时候就会读取该系统属性来决定大小。以下为源码:
TreeMap源码分析 Anonymous published on 2020-08-05 included in Java 集合简介 TreeMap底层通过红黑树实现,在查询性能上能达到O(logn),由于使用红黑树结构进行存储,所以TreeMap的元素都是有序的。同时,这也是一个非线程安全的Map,无法在并发环境下使用。
HashMap源码分析 Anonymous published on 2020-08-02 included in Java 集合概述 Java中对于Map数据结构,提供了java.util.Map接口,该接口下主要有四个常见的实现类,分别是:
LinkedList源码分析 Anonymous published on 2020-08-01 included in Java 集合简介 LinkedList底层采用双向链表结构实现,所以在存储元素功能上,并不需要扩容机制,但是需要额外的空间存储指针,头插和尾插的时间复杂度为O(1),指定位置插入的时间复杂度为O(n),LinkedList是非线程安全的集合。