跳至主要內容
Algorithm

Algorithm


算法复杂性分析

algorithm

常数阶(1)

public void sum(int n) {
    int sum = 0; // 执行一次
    sum = n*2; // 执行一次
    System.out.println(sum); // 执行一次
}

Section9lab...大约 5 分钟DataStructuresjava
Flink-RunTime

Flink-RunTime


架构

Flin-RunTime
这三个组件都包含在 AppMaster 进程中

  • Dispatcher: 负责接收用户提供的作业,并且负责为这个新提交的作业拉起一个新的 JobManager 服务。
  • ResourceManager: 负责资源的管理,在整个 Flink 集群中只有一个 ResourceManager,资源相关的内容都由这个服务负责。
  • JobManager: 负责管理具体某个作业的执行,在一个 Flink 集群中可能有多个作业同时执行,每个作业都会有自己的 JobManager 服务。

Section9lab...大约 11 分钟Flinkjavaflink
Design Patterns Overview

Design Patterns Overview

分类 模式
创建型模式 单例模式(Singleton Pattern)
工厂模式(Factory Pattern)
• 抽象工厂模式(Abstract Factory Pattern)
• 建造者模式(Builder Pattern)
• 原型模式(Prototype Pattern)
结构型模式 • 适配器模式(Adapter Pattern)
• 桥接模式(Bridge Pattern)
• 过滤器模式(Filter、Criteria Pattern)
• 组合模式(Composite Pattern)
• 装饰器模式(DecoratorPattern)
• 外观模式(Facade Pattern)
• 享元模式(Flyweight Pattern)
• 代理模式(Proxy Pattern)
行为型模式 • 责任链模式(Chain of Responsibility Pattern)
• 命令模式(Command Pattern)
•解释器模式(Interpreter Pattern)
• 迭代器模式(Iterator Pattern)
• 中介者模式(MediatorPattern)
• 备忘录模式(Memento Pattern)
• 观察者模式(Observer Pattern)
• 状态模式(State Pattern)
• 空对象模式(Null Object Pattern)
• 策略模式(Strategy Pattern)
• 模板模式(Template Pattern)
• 访问者模式(Visitor Pattern)

Section9lab...小于 1 分钟DesignPatternjava
Design Patterns Singleton

Design Patterns Singleton


一、创建型模式:

1、单例模式

静态常量饿汉式

优点:写起来简单不费脑子、线程安全

缺点:类装载就完成了实例化,可能浪费内存(不太重要,因为要用到的话早晚装载对象)

public class Test {
    public static void main(String[] args) {
        Singleton singleton1 = Singleton.getInstance();
        Singleton singleton2 = Singleton.getInstance();
        System.out.println(singleton1.hashCode() == singleton2.hashCode());
    }
}
class Singleton {
    // private构造方法保证外部无法实例化:
    private Singleton() {}

    // 静态字段引用唯一实例:
    private static final Singleton INSTANCE = new Singleton();

    // 通过静态方法返回实例:
    public static Singleton getInstance() {
        return INSTANCE;
    }

}

Section9lab...大约 1 分钟DesignPatternjava
Java8

Java8


一、四大函数式接口

1、Function 函数式接口

package main;
import java.sql.SQLOutput;
import java.util.function.Function;
public class FunctionDemo {
    public static void main(String[] args) {
//        Function<String,String> function = new Function<String, String>() {
//            @Override
//            public String apply(String s) {
//                return s;
//            }
//        };
        Function<String,String> function = (str)->{return str;};
        System.out.println(function.apply("dsaf"));
    }
}

Section9lab...大约 7 分钟Languagejavaapi
2