The K virtual machine (KVM) is a virtual machine developed by Sun Microsystems (now owned by Oracle Corporation), derived from the Java Virtual Machine specification. The KVM was written from scratch in C. It is designed for small devices and has a small memory footprint. It supports a subset of the features of the higher end JVM. For example, a KVM may not support floating-point operations and object finalization. The CLDC specifies use of the KVM. The 'K' in KVM stands for kilobyte, signifying that the KVM runs in kilobytes of memory as opposed to megabytes.