上节回顾 上一章我们介绍了二叉树,二叉搜索树相关的一些知识。 当一个二叉搜索树是一个满二叉树,或者是完美二叉树的时候可以计算一下二叉搜索树的查找,插入,删除的时间复杂度。 从代码来看它们的时间复杂度都是和树的高度相关的。 满二叉树的高度是$log_2(n + 1)$,完美二叉树的高度是$floor( ...
分类:
其他好文 时间:
2020-08-17 17:10:18
阅读次数:
56
为了以更简单的术语描述模板方法,考虑这个场景:假设在一个工作流系统中,为了完成任务,有4个任务必须以给定的执行顺序执行。在这4个任务中,不同工作流系统的实现可以根据自身情况自定义任务的执行内容。 模板方法可以应用在上述场景中:将工作流系统的4个核心任务封装到抽象类当中,如果任务可以被自定义,则将可自 ...
分类:
编程语言 时间:
2020-08-13 12:10:02
阅读次数:
53
1.今天学习了java中的动态绑定,动态绑定具体表现在向上转型上,因为只有在运行时才知道具体运行的是哪个实例。 示例: public class Father{ public void say(){ System.out.println("father say()"); } public stati ...
分类:
其他好文 时间:
2020-08-08 20:09:01
阅读次数:
81
ForkJoin :: 分支合并 (JDK 1.7) 并行执行任务,提高效率。 使用场景:大数据量 将大任务拆成小任务 ForkJoin 特点:工作窃取 这个里面维护的都是双端队列,如果一方执行完了,获取另外一方的未完成的任务进行执行 ForkJoin 的操作 package pers.vincen ...
分类:
其他好文 时间:
2020-08-07 12:33:23
阅读次数:
64
乐字节-Java8核心实战之一:接口默认方法Java8已经发布很久,是自java5(2004年发布)之后Oracle发布的最重要的一个版本。其中包括语言、编译器、库、工具和JVM等诸多方面的新特性,对于国内外互联网公司来说,Java8是以后技术开发的趋势。这里主要讲解在开发中几个核心的新特性。(主要从新特性概念解释、语法定义、简单代码演示、优缺点分析、项目实战几个方面编写)。核心特性总览接口默认方
分类:
编程语言 时间:
2020-08-06 09:26:31
阅读次数:
68
一、单例模式:只有一个实例的对象 代码: public class SingleTemp{ private SingleTemp(){ } public static SingleTemp single = new SingleTemp(); public static SingleTemp get ...
分类:
编程语言 时间:
2020-08-05 19:45:51
阅读次数:
76
Java中实现多线程的方式有下面三种:继承Thread类,重写run方法packagefs;publicclassThreadTest{publicstaticvoidmain(String[]args){newMyThread().start();}}classMyThreadextendsThread{@Overridepublicvoidrun(){System.out.println("我
分类:
编程语言 时间:
2020-08-03 23:16:06
阅读次数:
76
<clinit>()方法 Java 类加载的初始化过程中,编译器按语句在源文件中出现的顺序,依次自动收集类中的所有类变量的赋值动作和静态代码块中的语句合并产生方法。 如果类中没有静态语句和静态代码块,那可以不生成<clinit>() 方法。 并且 <clinit>() 不需要显式调用父类(接口除外, ...
分类:
编程语言 时间:
2020-08-03 00:52:33
阅读次数:
101
群主发普通红包 群主发普通红包。某群有多名成员,群主给成员发普通红包。普通红包的规则: 1. 群主的一笔金额,从群主余额中扣除,平均分成n等份,让成员领取。 2. 成员领取红包后,保存到成员余额中。请根据描述,完成案例中所有类的定义以及指定类之间的继承关系,并完成发红包的操作。 1 public c ...
分类:
编程语言 时间:
2020-07-27 17:39:46
阅读次数:
91