簡易檢索 / 詳目顯示

研究生: 張建偉
Chang, Chien-Wei
論文名稱: Implementation of JVM Tool Interface on Dalvik Virtual Machine
Java虛擬機器工具接口於Dalvik虛擬機器上之實作
指導教授: 金仲達
King, Chung-Ta
口試委員:
學位類別: 碩士
Master
系所名稱: 電機資訊學院 - 資訊工程學系
Computer Science
論文出版年: 2009
畢業學年度: 97
語文別: 英文
論文頁數: 49
中文關鍵詞: DalvikJava虛擬機器工具接口
外文關鍵詞: Dalvik, JVMTI
相關次數: 點閱:1下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • Mobile devices such as cell phones, GPS guiding systems, and mp3 players, now become one of the most important consumer electronic products. Being an embedded system, mobile devices are highly integrated in software and hardware for robustness, high performance, and low cost. The problem is that this also makes it very difficult to understand the internal interactions of hardware as well as software modules in such devices and to identify performance bottlenecks and design faults. Profiling helps developers to understand the behaviors of a system, especially during the development of new platforms. Android is a new software platform intended for mobile devices. It is composed of Linux and a Java virtual machine called Dalvik. The ability to profile Android helps developers to familiarize with Android’s features and optimize their applications. In this thesis, we discuss the development of a profiling tool interface, JVM TI, on Android. With this tool interface, developers can profile their Java code running on Dalvik using JVM TI.


    手持式裝置已成為現今主要的消費性電子產品之一。手持式裝置與一般電子產品,例如個人電腦最大的不同在於手持式裝置販售的是一套包含軟硬體的完整的系統。因此,這類商品講求軟硬體之間良好的整合;良好的整合可以讓系統穩定,並帶來更好的執行效率。側寫分析可以幫助開發人員快速的了解平台特性,並針對開發者的需求對軟硬體平台做最佳化的整合。側寫分析對新平台的開發更是重要。透過側寫分析的幫助,開發者可以更快速的開發新的產品。Android是目前手持式裝置最新的軟體平台,亦是目前各家手持式裝置廠商,本篇論文提出將Java虛擬機器工具接口實作在Android,使開發人員能針對需求開發用於Android上之側寫分析工具,或者利用已經存在的Java側寫分析工具分析Andoid上之虛擬機器的效能

    Chapter 1 Introfuction .......................................................................... 1 1.1 Importance of Profiling for Mobile Devices .................................................. 1 1.2 A New Mobile Device Software Platform - Android ...................................... 1 1.3 Java Virtual Machine Tool Interface .............................................................. 3 1.4 Contribution and Thesis Organization .......................................................... 4 Chapter 2 Background .......................................................................... 6 2.1 Dalvik Virtual Machine ................................................................................. 6 2.2 Dalvik Debug Monitor Service ...................................................................... 8 2.3 Usage of Java Virtual Machine Tool Interface ............................................. 11 Chapter 3 Implementation and Architecture of JVM TI ....................... 14 3.1 Design Philosophy ...................................................................................... 14 3.2 Architecture of JVM TI ................................................................................ 15 3.3 JVM TI Events ............................................................................................. 16 3.4 JVM TI Functions ........................................................................................ 18 3.4.1 General Information, System Properties, Timers ............................. 19 3.4.2 Field, Method, Object, and Class ..................................................... 21 3.4.3 Thread and Thread Group ................................................................ 21 3.4.4 Stack Frame ..................................................................................... 23 3.4.5 Heap ............................................................................................... 24 3.4.6 Memory Management .................................................................... 25 3.4.7 Event Management ......................................................................... 25 3.5 Class File Load Hook, Byte-code Instrumentation ....................................... 26 3.6 Agent Data Management ........................................................................... 28 3.7 Object Monitor Information ....................................................................... 29 3.8 Event Callbacks Scheduling......................................................................... 29 Chapter 4 Evaluation .......................................................................... 31 4.1 JVM TI Verification ..................................................................................... 31 4.2 Memory Space Overhead ........................................................................... 42 4.3 Execution Time Overhead .......................................................................... 43 4.4 A Profiler Case - Hprof ................................................................................ 45 Chapter 5 Conclusions and Future Works ........................................... 48 References ......................................................................................... 49

    [1] Fred Long. “Software Vulnerabilities in Java”, Technical Note,
    CMU/SEI-2005-TN-044, 2005
    [2] James Gosling, Bill Joy, and Guy Steele. The Java Language Specification.
    Addison-Wesley, Reading, Massachusetts, 1996
    [3] Tim Lindholm and Frank Yellin. The Java Virtual Machine Specification.
    Addison-Wesley, Reading, Massachusetts, 1996
    [4] Jboss profiler: http://www.jboss.org/jbossprofiler/
    [5] YajP – Yet Another Java Profiler: http://yajp.sourceforge.net/
    [6] Dalvik Debug Bridge Monitor Service:
    http://developer.android.com/guide/developing/tools/ddms.html
    [7] Android Open Source Project. Open Handset Alliance:
    http://source.android.com/license
    [8] Official Android website: http://www.android.com/
    [9] Open Handset Alliance, website: http://www.openhandsetalliance.com/
    [10] Java Virtual Machine Tool Interface Spec:
    http://java.sun.com/javase/6/docs/platform/jvmti/jvmti.html
    [11] Java Software, Sun Microsystems, Inc. Java Development Kit (JDK).
    http://java.sun.com/products/jdk/1.2
    [12] HPROF: A Heap/CPU Profiling Tool in J2SE 5.0:
    http://java.sun.com/developer/technicalArticles/Programming/HPROF.html

    無法下載圖示 全文公開日期 本全文未授權公開 (校內網路)
    全文公開日期 本全文未授權公開 (校外網路)

    QR CODE