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.
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 parameters for an SNI method | 15 | 15 |
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. |