最新文章

  • RabbitMq:6种工作模式通俗理解

    RabbitMQ整体结构:工作模式1、工作队列Work queues消费者轮询获取消息,即c1获得一个,c2获得下一个消息。虽然图上没有交换机,实际上使用的默认交换机。2、发布订阅模式Publish/subscribe交换机将生产者产生的消息分别发送给两个或多个队列,即两个队列消息一致,c1、c2获

    Jul 13, 2021, 7:30:29 PM
    19
  • 线程池的参数理解

    Params:corePoolSize核心线程数,即一般情况下有几个线程工作maximumPoolSize最大线程数,即任务过多,核心线程处理不过来,则创建新的线程来处理任务。但线程池中总数不应超过该值。keepAliveTime保持时间,即非核心线程的生存时间,非核心线程在处理完任务后,在参数时间

    Jun 9, 2021, 10:58:19 PM
    15
  • 树的深度遍历、广度遍历、前中后序遍历

    借助栈进行深度优先遍历public class TreeNode {public int val;public TreeNode left;public TreeNode right;public TreeNode() {}public TreeNode(int val) {this.val = v

    Oct 31, 2020, 11:58:35 AM
    47
  • 深入理解Java集合和Map 4:Map接口实现类HashMap,源码剖析及其特性。

    MapMap不属于集合类子接口,其与Collection接口是同级别关系。HashMap首先介绍两个常用的构造函数,如下,可见我们可以自定义初始容量或不指定,DEFAULT_LOAD_FACTOR=0.75常量表示的是默认扩容的一个数值,该数值介绍:假设我们HashMap初始容量为16,那么扩容的阈

    Oct 18, 2020, 11:48:03 AM
    120
  • 深入理解Java集合和Map 3:Set接口的实现类HashSet和TreeSet源码分析及其相关特点

    Set接口Set接口父接口为Collection,爷接口为Iterator接口,这也表明遍历Set实现类可采用迭代器。本处只介绍HashSet和TreeSet两个实现类,从部分源码分析一些特性。HashSet实现类源码:构造方法,如下所示,可知在HashSet底层实现是HashMap。public

    Oct 17, 2020, 11:51:03 PM
    108
  • SpringBoot:返回结果封装及自定义异常处理

    在web中,结果往往被封装,返回为Json格式,也便于数据交换。在web中,我们需要自定义一些异常,以便对一些异常进行特定处理。返回结果封装结果常被封装为一个统一格式的结果类,由三部分组成:消息、状态码、数据(泛型)统一格式如下,基本大同小异public class ResultUtil<E&

    Oct 16, 2020, 9:21:25 PM
    47
  • 深入理解Java集合和Map 2:LIst接口实现类ArrayList,LinkedList,Vector源码剖析及相关特点

    List接口List接口父类为collection接口此处主要介绍其三个实现类。ArrayList类该类底层采用数组进行实现,数组类型为Object类型。可采用有参构造和无参构造,有参构造可规定列表长度。源码中规定长度默认为10。private static final int DEFAULT_CA

    Oct 16, 2020, 4:43:32 PM
    134
  • 深入理解Java集合和Map 1:整体体系结构及分类,List,Map,Set,Iterator,Vector等

    以下所有关于源码部分知识均来自JDK1.8_144版本。由源码可知以下知识:Iterator迭代器为集合对象的父接口,集合类均实现了该接口。collection接口,List接口和Set接口都是collection接口的子接口,其继承了collection接口,类似于ArrayList,Linked

    Oct 13, 2020, 3:52:01 PM
    109
  • Java1.8新特性:lambda表达式及一些关键字解释

    占坑,后续记录....

    Oct 13, 2020, 12:41:09 AM
    115
  • Java多线程3:同步机制,死锁、生产者消费者问题及其解决办法等

    死锁死锁,是指多个进程在运行过程中因争夺资源而造成的一种僵局,当进程处于这种僵持状态时,若无外力作用,它们都将无法再向前推进。产生死锁的四个必要条件互斥条件:进程要求对所分配的资源进行排它性控制,即在一段时间内某资源仅为一进程所占用。请求和保持条件:当进程因请求资源而阻塞时,对已获得的资源保持不放。

    Oct 9, 2020, 7:39:35 PM
    116