請用此 Handle URI 來引用此文件:
http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/40736
完整後設資料紀錄
DC 欄位 | 值 | 語言 |
---|---|---|
dc.contributor.advisor | 陳俊良 | |
dc.contributor.author | Tsung-Han Hsien | en |
dc.contributor.author | 謝宗翰 | zh_TW |
dc.date.accessioned | 2021-06-14T16:58:03Z | - |
dc.date.available | 2008-08-05 | |
dc.date.copyright | 2008-08-05 | |
dc.date.issued | 2008 | |
dc.date.submitted | 2008-07-29 | |
dc.identifier.citation | [1] Alex Potanin, James Noble, Dave Clarke, and Robert Biddle, “Generic Ownership for Generic Java,” ACM SIGPLAN Notices, Volume 41, pp. 311–324, October 2006.
[2] Andrew Kennedy and Don Syme, “Design and implementation of generics for the .Net Common Language Runtime,” ACM SIGPLAN Notices, Volume 36, pp.1-12, May 2001. [3] Java Specification Request14:Add Generic Types to the JavaTM Programming Language , Bracha G., and the Expert Group, http://jcp.org/jsr/detail/14.prt [4] Jaime Nino, “Java From The Trenches:Dealimg With Object Orientation And Generics,” Journal of Computing Sciences in Colleges, Volume 22 ,pp.12-22, May 2007. [5] James Stasitorn and Robert Cartwright, “Efficient First-Class Generics on Stock Java Virtual Machines,” SAC '06: Proceedings of the 2006 ACM Smposium on Applied Computing , pp.23-27, April 2006. [6] Close S., “Using Java Generics,” Java Developers Journal, pp.32-37, Novermber 2003, [7] Eric Allen and Robert Cartwright, “The Case for Run-time Types in Generic Java,” PPPJ '02/IRE '02: Proceedings of the Inaugural Conference on the Principles and Practice of Programming, 2002 and Proceedings of the Second Workshop on Intermediate Representation Engineering for Virtual Machines, pp.19-24, June 2002 [8] Mirko Viroli,” Effective and Efficient Compilation of Run-time Generic in Java.” Electronic Notes in Theoretical Computer Science 138, pp.95-116, November 2005. [9] Brain Cabana, Suad Alagi, and Jeff Faulkner, “Parametric Polymorphism for Java: Is There Any Hope in Sight ?,” ACM SIGPLAN Notices, volume 39, pp.22-31, December 2004. [10] Mirko Viroli and Antonio Natali, “Parametric Polymorphism in Java: an Approach to Translation Based on Reflective Features,” Conference on Object Oriented Programming Systems Languages and Applications Proceedings of the 15th ACM SIGPLAN Conference on Object-oriented Programming, Systems, Languages, and Applications, pp.146-160, 2000 [11] Joseph A. Bank, Andrew C. Myers, and Barbara Liskov “Parameterized Types for Java,” POPL '97: Proceedings of the 24th ACM Symposium on Principles of Programming Languages, pp. 132-145, January 1997. [12] B. Stroustrup,“Parameterized Types for C++ ,” Journal of Object-Oriented Programming, Volume 1, pp.5-16, February 1988. [13] The Java Virtual Machine Specification, Second Edition, Sun Microsystems, http://java.sun.com/docs/books/jvms/second_edition/html/VMSpecTOC.doc.html . | |
dc.identifier.uri | http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/40736 | - |
dc.description.abstract | Java在Java5.0版加入了泛型的機制,為了顧及新舊Java語言版本的相容性與新舊程式碼交互使用,Sun採用了型別擦拭法去實現泛型機制。然而使用擦拭法去實現泛型所產生的最大問題是執行期間與泛型的相關的型別資訊將會遺失,這問題讓函式重載無法在使用泛型型別參數的函式使用,因此我們對函式重載的問題提出了可行的解法,並且實現在Java6.0上。 | zh_TW |
dc.description.abstract | Java 5.0 added many new features, including parametric polymorphism
(genericity). In order for compatibility, Java adopted the type erasure to achieve the generic mechanism, however run-time type information will be lost after type erasure. This causes that method overloading doesn’t work for methods with generic type parameters. In this thesis, we try to solve this problem. | en |
dc.description.provenance | Made available in DSpace on 2021-06-14T16:58:03Z (GMT). No. of bitstreams: 1 ntu-97-R95922140-1.pdf: 1106618 bytes, checksum: 863368207af181490263cc174980a243 (MD5) Previous issue date: 2008 | en |
dc.description.tableofcontents | 目錄
中文摘要 i 英文摘要 ii 誌謝 iii 1. 簡介 1 1.1. 研究動機 1 1.2. 情境 1 1.2.1. 不同的函式名稱 2 1.2.2. 使用 Wildcard 3 1.2.3. 使用泛型的Java程式下的函式名稱多載 4 1.3. 目標與論文架構 5 2. 背景知識 7 2.1. Java泛型介紹 7 2.1.1. 一般化方法(Generalization) 8 2.1.2. 特殊化方法(Specialization) 9 2.1.3. Java採用Generalization實現泛型原因 10 2.2. 型別擦拭法(Type Erasure) 10 2.3. Javac Compile Pass 12 2.4. JCTree Node & Symbol 13 2.4.1. JCTree 14 2.4.2. Symbol 15 3. 問題與解決策略 17 3.1. Parameterized Type Parameters Method Overload Problem 17 3.2. 問題一:java語法禁用Parameterized type parameters method overloading 18 3.2.1. 問題一解決策略 18 3.3. 問題二:如何讓經過型別擦拭後的程式在JAVA虛擬機器上能夠執行? 19 3.3.1. 問題二解決策略 19 3.3.2. Rename 20 4. 實作 23 4.1. Javac 修改後的流程 23 4.2. JCJCMethodDecl Node端作法 25 4.2.1. Rename作法與重新命名規則 26 4.3. JCJCMethodInvocation Node端作法 29 4.3.1. JCJCMethodInvocation 、JCJCMethodDecl與 method symbol 29 4.3.2. 處理由.java呼叫函式 31 4.3.3. 處理已做過Rename的.class檔中的函式 32 5. 結論 35 參考文獻 39 | |
dc.language.iso | zh-TW | |
dc.title | 考量參數化型別參數之JAVA函式重載機制 | zh_TW |
dc.title | A Java Method Overloading Mechanism For Parameterized Type Parameters | en |
dc.type | Thesis | |
dc.date.schoolyear | 96-2 | |
dc.description.degree | 碩士 | |
dc.contributor.oralexamcommittee | 甘宗左,施吉昇 | |
dc.subject.keyword | 泛型,型別化參數,函式重載, | zh_TW |
dc.subject.keyword | Generic,Parameterized Type Parameters,method overloading, | en |
dc.relation.page | 39 | |
dc.rights.note | 有償授權 | |
dc.date.accepted | 2008-07-30 | |
dc.contributor.author-college | 電機資訊學院 | zh_TW |
dc.contributor.author-dept | 資訊工程學研究所 | zh_TW |
顯示於系所單位: | 資訊工程學系 |
文件中的檔案:
檔案 | 大小 | 格式 | |
---|---|---|---|
ntu-97-1.pdf 目前未授權公開取用 | 1.08 MB | Adobe PDF |
系統中的文件,除了特別指名其著作權條款之外,均受到著作權保護,並且保留所有的權利。