This paper will talk about the types of performance optimizations and features that a high performance Java virtual machine (VM) can offer today, and expose the truths and myths about the effectiveness of these technologies in light of typical Java coding practices and the resource constraints of consumer devices. This paper will also provide tips for Java application programmers regarding what types of optimizations current VM technologies can implement, and what types of optimizations the programmers should implement themselves when developing their applications to target consumer devices.