JAVA
星月的雨
这个作者很懒,什么都没留下…
展开
-
Java 8 新特性 Stream类的collect方法
1.Collectors.toList():转换成List集合。/Collectors.toSet():转换成set集合。System.out.println(Stream.of("a", "b", "c","a").collect(Collectors.toSet()));2.Collectors.toCollection(TreeSet::new):转换成特定的set集合。TreeSet<String> treeSet = Stream.of("a", "c", "b", .转载 2020-07-14 13:51:22 · 1522 阅读 · 0 评论 -
Java8 CompletableFuture 用法总结及Stream并行流对比
Shop计算相关类package com.future;import java.util.Random;import java.util.concurrent.CompletableFuture;import java.util.concurrent.Future;public class Shop { private String name ; public Shop(String name) { this.name = name; }...原创 2020-07-04 15:31:55 · 3540 阅读 · 0 评论 -
JAVA 设计模式相关
接口隔离原则单一原则接口隔离原则依赖倒转原则里氏替换原则子类中尽量不要重写父类的方法,适当的情况下,可以通过聚合,组合,依赖来解决问题,或者可以让类升级为基类开闭原则迪米特法则合成复用原则...原创 2020-07-09 14:27:50 · 115 阅读 · 0 评论 -
Java 线程锁机制 -Synchronized Lock 互斥锁 读写锁
(1)synchronized 是互斥锁;(2)ReentrantLock 顾名思义 :可重入锁(3)ReadWriteLock :读写锁读写锁特点:a)多个读者可以同时进行读b)写者必须互斥(只允许一个写者写,也不能读者写者同时进行)c)写者优先于读者(一旦有写者,则后续读者必须等待,唤醒时优先考虑写者) 1、synchronized把代码块声明为 synchronized,有两个重要后果,通常...转载 2018-02-14 18:14:25 · 183 阅读 · 0 评论 -
Java集合,HashMap底层实现和原理(1.7数组+链表与1.8+的数组+链表+红黑树)
概述文章的内容基于JDK1.7进行分析,之所以选用这个版本,是因为1.8的有些类做了改动,增加了阅读的难度,虽然是1.7,但是对于1.8做了重大改动的内容,文章也会进行说明。HashMap基于Map接口实现,元素以键值对的方式存储,并且允许使用null 建和null 值, 因为key不允许重复,因此只能有一个键为null,另外HashMap不能保证放入元素的顺序,它是无序的,和放入的顺序并...转载 2019-06-26 09:39:00 · 784 阅读 · 0 评论 -
【Java并发】ReadWriteLock读写锁的使用
Java并发包中ReadWriteLock是一个接口,主要有两个方法,如下:public interface ReadWriteLock { /** * Returns the lock used for reading. * * @return the lock used for reading */ Lock readLock();...转载 2019-06-28 10:03:11 · 98 阅读 · 0 评论 -
线程池之ThreadPoolExecutor使用
ThreadPoolExecutor提供了四个构造方法:ThreadPoolExecutor构造方法.png我们以最后一个构造方法(参数最多的那个),对其参数进行解释: public ThreadPoolExecutor(int corePoolSize, // 1 int maximumPoolSize, ...转载 2019-06-28 10:04:24 · 126 阅读 · 0 评论