Boxing permits any value type to be implicitly converted to type object or to any interface type implemented by value type. Boxing is a process in which object instances are created and copy values in to that instance.
Value types directly contain their data which are either allocated on the stack or allocated in-line in a structure.
JIT compiler is a part of the runtime execution environment. In Microsoft .NET there are three types of JIT compilers: