

# State Backends 状态后端

Flink提供不同的状态后端，指定如何和在何处存储状态。

状态可以位于Java的堆或堆上。根据您的状态后端，FLink还可以管理应用程序的状态，这意味着FLink处理内存管理（如果需要，可能会溢出到磁盘），以允许应用程序保持非常大的状态。默认情况下，配置文件 _flink-conf.yaml_ 确定所有flink作业的状态后端。

但是，可以在每个作业的基础上重写默认状态后端，如下所示。

有关可用状态后端的详细信息，其优点、限制和配置参数请参阅[部署和操作](//ci.apache.org/projects/flink/flink-docs-release-1.7/ops/state/state_backends.html)中的相应部分。



```
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
env.setStateBackend(...);
```





```
val env = StreamExecutionEnvironment.getExecutionEnvironment()
env.setStateBackend(...)
```



