In Preverifying Class Files,
Because the memory on small devices is so scarce, MIDP (actually, CLDC) specifies that bytecode verification be split into two pieces. Somewhere off the device, a preverify step is performed. The device itself is only required to do a lightweight second verification step before loading classes.
That is what I read from a book.
According to that, although we are running a program successfully in an emulator, it may not work in a real device? Because we do only a preverify step before we test in an emulator?