Package jep.python

Class MemoryManager

java.lang.Object
jep.JepAccess
jep.python.MemoryManager

public final class MemoryManager extends JepAccess
Manages the native memory associated with PyObjects in an Interpreter.
Since:
3.8
See Also:
  • Constructor Details

    • MemoryManager

      public MemoryManager()
  • Method Details

    • openInterpreter

      public void openInterpreter(Jep jep)
    • closeInterpreter

      public void closeInterpreter(Jep jep) throws JepException
      Stop managing memory for an interpreter. Any PyPointers managed by this object will no longer be usable from the interpreter thread. If this is the last interpreter used by this manager then all PyPointers managed by this will be disposed.
      Throws:
      JepException - if an error occurs
    • cleanupWeakReferences

      public void cleanupWeakReferences() throws JepException
      Cleans out weak references to PyPointers associated with this Interpreter. Attempts to free memory earlier than a Jep.close() if the developer did not explicitly free the memory with PyObject.close().
      Throws:
      JepException - if an error occurs