class_docstr: This state backend holds the working state in the memory (JVM heap) of the TaskManagers
  and checkpoints based on the configured CheckpointStorage.
  
  **State Size Considerations**
  
  Working state is kept on the TaskManager heap. If a TaskManager executes multiple
  tasks concurrently (if the TaskManager has multiple slots, or if slot-sharing is used)
  then the aggregate state of all tasks needs to fit into that TaskManager's memory.
  
  **Configuration**
  
  As for all state backends, this backend can either be configured within the application (by
  creating the backend with the respective constructor parameters and setting it on the execution
  environment) or by specifying it in the Flink configuration.
  
  If the state backend was specified in the application, it may pick up additional configuration
  parameters from the Flink configuration. For example, if the backend if configured in the
  application without a default savepoint directory, it will pick up a default savepoint
  directory specified in the Flink configuration of the running job/cluster. That behavior is
  implemented via the :func:`configure` method.
class_docstr_tok: ["This","state","backend","holds","the","working","state","in","the","memory","(","JVM","heap",")","of","the","TaskManagers","and","checkpoints","based","on","the","configured","CheckpointStorage",".","*","*","State","Size","Considerations","*","*","Working","state","is","kept","on","the","TaskManager","heap",".","If","a","TaskManager","executes","multiple","tasks","concurrently","(","if","the","TaskManager","has","multiple","slots",",","or","if","slot-sharing","is","used",")","then","the","aggregate","state","of","all","tasks","needs","to","fit","into","that","TaskManager","'s","memory",".","*","*","Configuration","*","*","As","for","all","state","backends",",","this","backend","can","either","be","configured","within","the","application","(","by","creating","the","backend","with","the","respective","constructor","parameters","and","setting","it","on","the","execution","environment",")","or","by","specifying","it","in","the","Flink","configuration",".","If","the","state","backend","was","specified","in","the","application",",","it","may","pick","up","additional","configuration","parameters","from","the","Flink","configuration",".","For","example",",","if","the","backend","if","configured","in","the","application","without","a","default","savepoint","directory",",","it","will","pick","up","a","default","savepoint","directory","specified","in","the","Flink","configuration","of","the","running","job\/cluster",".","That","behavior","is","implemented","via","the",":","func",":","`","configure","`","method","."]
code: def __str__(self):
      return self._j_state_backend.toString()
  
imports: from abc import ABCMeta
  from enum import Enum
  from py4j.java_gateway import get_java_class
  from typing import List, Optional
  from pyflink.java_gateway import get_gateway
  from pyflink.util.java_utils import load_java_class
label_desc: Use image node_id 2 for calling the HashMapStateBackend obj's underlying member method code with example usage: obj.__str__() and returns: self