暂无个人介绍
直接使用Thread、方法二:使用Runnable结合Thread、方法三:FutureTask 配合 Thread
JDK 9增加 了 List.of()、Set.of()、Map.of() 和 Map.ofEntries()等工厂方法来创建不可变集合,类似于ImmutableMap.of()静态方法。不可变集合不能进行添加、删除、替换、 排序等操作,不然会报java.lang.UnsupportedOperationException 异常。
线程是程序执行的最小单位,而进程是操作系统分配资源的最小单位;进程是系统资源分配的单位,线程是系统调度的单位。一个进程由一个或多个线程组成,线程是一个进程中代码的不同执行路线;进程之间相互独立,进程之间不能共享资源,而线程共享所在进程的地址空间和其它资源。同时线程还有自己的栈和栈指针,程序计数器等寄存器。
## 应用场景-修路问题 有胜利乡有7个村庄(A, B, C, D, E, F, G) ,现在需要修路把7个村庄连通,各个村庄的距离用边线表示(权) ,比如 A – B 距离 5公里 问:如何修路保证各个村庄都能连通,并且总的修建公路总里程最短? 思路: 将10条边,连接即可,但是总的里程数不是最小. 正确的思路,就是尽可能的选择少的路线,并且每条路线最小,保证总里程数最少.
克鲁斯卡尔(Kruskal)算法,是用来求加权连通图的最小生成树的算法。 ==基本思想==:按照权值从小到大的顺序选择n-1条边,并保证这n-1条边不构成回路 ==具体做法==:首先构造一个只含n个顶点的森林,然后依权值从小到大从连通网中选择边加入到森林中,并使森林中不产生回路,直至森林变成一棵树为止
1.给定n个权值作为n个叶子结点,构造一棵二叉树,若该树的==带权路径长度(wpl)达到最小==,称这样的二叉树为最优二叉树 2.==赫夫曼树是带权路径长度最短的树,权值较大的结点离根较近==