# Kernel UID¶

The Kernel UID is a sequence of bytes that uniquely identifies the Kernel. This UID is generated by SOAR from Java code content, Platform characteristics and a timestamp. Two Kernels built from the same Kernel Application code will not share the same UID.

The Kernel UID is used by MicroEJ Core Engine to check if an Application can be installed on a Kernel. During the Application build, the resulting .fo file embeds the Kernel UID on which it has been built.

During Kernel.install(), the UID embedded in the .fo is compared with the Kernel UID. By default, if both UIDs are equal the Application installation continues. Otherwise it is stopped. See also Feature Portability Control for .fo installation on different Kernels.

The Kernel UID can be retrieved at runtime using Kernel.getInstance() .getUID().