Collcetions 工具类
热衷学习,热衷生活!😄
沉淀、分享、成长,让自己和他人都能有所收获!😄
java.util.Collections 是java集合框架中的一个工具类,主要用于Collectiont提供的通用算法,比如:排序(sort)、二分查找(binarySearch)、洗牌(shuffle)、旋转(rotate)
1. Collections.sort 排序
方法使用,代码测试
123456789101112131415161718192021List<String> list = new ArrayList<String>();list.add("7");list.add("4");list.add("8");list.add("3");list.add("9");// 默认排序(正序) 测试结果为3, 4, 7, 8, 9list.sort(); // Comparator排序 可以已定义正序、倒叙, 还可以支持以对象的某个字段进行排序Collections.s ...
Java创建线程池的四种方式
热衷学习,热衷生活!😄
沉淀、分享、成长,让自己和他人都能有所收获!😄
一、newCachedThreadPool的方式这种方式创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程用于执行任务,如果没有空闲线程则新建线程用于执行任务。
1234567891011121314151617public class ThreadPoolDemo{ public static void main(String[] args){ ExecutorService threadPool = Executors.newCachedThreadPool(); for(int i = 0; i < 15; i++){ Runnable run = new Runnable(){ @Override public void run(){ Thread t = Thread.currentThread();//获取当前线程 System ...
JDK8-HashMap实现原理
沉淀、分享、成长,让自己和他人都能有所收获!😄
一、HashMap插入HashMap插入的流程主要包括:计算下标、何时扩容、何时链表转红黑树等,具体如下:
首先对key进行hash值的扰动,获取一个新的hash值。
1(key == null) ? 0 : h = key.hashCode() ^ (h >>> 16)
判断tab是否为null或者长度为0,如果是则进行扩容操作。
12if ((tab == table) == null || (n = tab.length == 0)) n = (tab = resize()).length;
根据hash值计算下标,如果tab对应下标没有存放数据,则直接插入该数据。
12if ((p = tab[i = (n-1) & hash]) == null) tab[i] = newNode(hash, key, value, null);
如果键值对键的值以及节点 hash 等于链表中的第一个键值对节点时,则将e指向该键值对。
123if (p.hash == hash && (( ...
windows安装kafka
热衷学习,热衷生活!😄
沉淀、分享、成长,让自己和他人都能有所收获!😄
1. 先下载并启动zookeeper(启动窗口不能关闭)2. 下载kafka:http://kafka.apache.org/downloads.html (注意下载binary版本的,不要下载3.0版本的,3.0windows下有问题,启动报错,换成2.8就没问题)3. 解压到相应文件夹,进入config目录下,找到server.properties文件,并作以下修改: 找到并编辑 log.dirs=D:\soft\kafka\kafka_2.13-2.8.0\kafka-logs (kafka的解压目录,kafka-logs文件夹不用自己新建)
找到并编辑zookeeper.connect=localhost:2181 (一般默认就是localhost:2181)
4. 打开命令命令进到kafka目录,输入下面命令启动kakfa(窗口不能关闭)1.\bin\windows\kafka-server-start.bat .\config\server.properties
5 ...