| With the rapid development of electronic technology, embedded system applications have gettheir position in all aspects of our daily lives. The difference of microprocessors made embeddedsoftware’s portability a real difficulty, which resulted in repetitive development of many embeddedapplications. To improve applications’ portability among embedded systems, Java Virtual Machinetechnology is widely adopted.Due to some Java defects as low efficiency, large memory usage and so on, how to improvethe performance of Java Virtual Machine becomes a research hot spot. Most optimization researchabout Java virtual machine is based on desktop computer platform, which are not applicable toresource-constrained embedded systems, so embedded Java virtual machine optimization falls farbehind. Based on KVM, this thesis focuses in class loader, garbage collection and execution engine,and proposes some proposals to optimize virtual machine performance. The main content of thisthesis includes the following:The first part of this thesis analyzed the runtime environment and system structure ofembedded Java virtual machine, which includes run-time data areas, native method interface, classloader, garbage collector and execution engine. This thesis focused on the last three parts.The second part of this thesis deeply analyzed the bottlenecks about performanceoptimization technology of embedded Java virtual machine. First, package name separated classname storage method is proposed, which can eliminate redundant information and reduce thememory usage of constant pool effectively. Second, a dynamic generational garbage collectionalgorithm is proposed, which divides storage area of the young and the old generation dynamically,and improves memory usage efficiency. At last, an optimization approach of execution enginebased on adaptive compiler is proposed, which divides instructions into context-sensitive onesand context-free ones, thus improves the compilation speed. What’s more, the optimizationapproach adopts simplified hot spot monitor, which improves performance greatly.Finally, the optimized Java virtual machine was transplanted to a development board,and all the proposed new techniques are verified. |