05 2020 档案

摘要:HashMap链表成环的原因:1.多线程竞争,2.Rehash扩容。导致链表成环。 jdk1.8与jdk1.7中HashMap实现的区别: (1)JDK1.7用的是头插法,而JDK1.8及之后使用的都是尾插法,那么他们为什么要这样做呢?因为JDK1.7是用单链表进行的纵向延伸,当采用头插法时会容易出 阅读全文
posted @ 2020-05-31 19:33 seedss 阅读(409) 评论(0) 推荐(0) 编辑
摘要:二叉搜索树的最小绝对差 给定一个所有节点为非负值的二叉搜索树,求树中任意两节点的差的绝对值的最小值。 1.采用非递归遍历二叉搜索树 1 public void midOrderTree(Node node){ 2 if (node == null) { 3 return; 4 } 5 Stack<N 阅读全文
posted @ 2020-05-30 22:57 seedss 阅读(292) 评论(0) 推荐(0) 编辑
摘要:给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在众数。 方式一:将数组排序,取有序数组最中间的那个元素就一定是众数。(实现比较简单,不做赘述) 方法二:摩尔投票法。选取取第一个元素为target,并计数 阅读全文
posted @ 2020-05-30 20:45 seedss 阅读(728) 评论(0) 推荐(0) 编辑
摘要:ThreadPoolExcutor的构造函数源码: 从源码中可以看出,线程池的构造函数有7个参数,分别是corePoolSize、maximumPoolSize、keepAliveTime、unit、workQueue、threadFactory、handler。下面会对这7个参数一一解释。 一、c 阅读全文
posted @ 2020-05-27 10:27 seedss 阅读(438) 评论(0) 推荐(0) 编辑
摘要:将两个排好序的数组合并,并求两个排好序数组的中位数。 1 public class MergeArray { 2 3 //合并两个数组 4 public int[] mergeSortArray(int[] arr1, int[] arr2) { 5 int len1 = arr1.length; 阅读全文
posted @ 2020-05-26 20:26 seedss 阅读(580) 评论(0) 推荐(0) 编辑
摘要:顺序打印ABCABC...ABC,打印10组。 方法一:使用ReentrantLock和Condition实现。使用三组Condition来实现线程之间的通信。 1 public class PrintABC implements Runnable { 2 3 private int times = 阅读全文
posted @ 2020-05-25 18:44 seedss 阅读(428) 评论(0) 推荐(0) 编辑
摘要:问题:在一个地图中,找出一共有多少个岛屿。 我们用一个二维数组表示这个地图,地图中的 1 表示陆地,0 表示水域。一个岛屿是指由上下左右相连的陆地,并且被水域包围的区域。你可以假设地图的四周都是水域。 1 package com.guava; 2 3 import java.util.Scanner 阅读全文
posted @ 2020-05-25 18:02 seedss 阅读(2118) 评论(0) 推荐(0) 编辑
摘要:简介 gRPC 一开始由 Google 开发,是一款语言中立、平台中立、开源的远程过程调用(RPC)系统。 在 gRPC 里客户端应用可以像调用本地对象一样直接调用另一台不同的机器上服务端应用的方法,使得您能够更容易地创建分布式应用和服务。与许多 RPC 系统类似,gRPC 也是基于以下理念:定义一 阅读全文
posted @ 2020-05-06 12:11 seedss 阅读(3986) 评论(0) 推荐(0) 编辑