Limitations

The following table lists the limitations of MicroEJ Architectures version 7.14.0 or higher, for both Evaluation and Production usage. Please consult MicroEJ Architectures Changelog for limitations changes on former versions.

Note

The term unlimited means there is no Architecture specific limitation. However, there may be limitations driven by device memory layout. Please refer to Platform specific documentation to get the memory mapping of MicroEJ Core Engine sections.

Architecture Limitations
Item EVAL PROD
[Mono-Sandbox] Number of concrete types [1] 8192 8192
[Multi-Sandbox] Number of concrete types per context [1] 4096 4096
Number of abstract classes and interfaces unlimited unlimited
Class or Interface hierarchy depth 127 127
Number of methods unlimited unlimited
Method size in bytes 65536 65536
Numbers of exception handlers per method 63 63
Number of instance fields [2] (Base type) 4096 4096
Number of instance fields [2] (References) 31 31
Number of static fields (boolean + byte) 65536 65536
Number of static fields (short + char) 65536 65536
Number of static fields (int + float) 65536 65536
Number of static fields (long + double) 65536 65536
Number of static fields (References) 65536 65536
Number of threads 63 63
Number of held monitors [3] 63 63
Time limit 60 minutes unlimited
Number of methods and constructors calls 500000000 unlimited
Number of Java heap Garbage Collection 3000 [4] unlimited
[1](1, 2) Concrete types are classes and arrays that can be instantiated.
[2](1, 2) All instance fields declared in the class and its super classes.
[3]The maximum number of different monitors that can be held by one thread at any time is defined by the maximum number of monitors per thread Application option.
[4]The Java heap Garbage Collection limit may throw unexpected cascading java.lang.OutOfMemoryError exceptions before the MicroEJ Core Engine exits.