Skip navigation

DSpace

機構典藏 DSpace 系統致力於保存各式數位資料(如:文字、圖片、PDF)並使其易於取用。

點此認識 DSpace
DSpace logo
English
中文
  • 瀏覽論文
    • 校院系所
    • 出版年
    • 作者
    • 標題
    • 關鍵字
  • 搜尋 TDR
  • 授權 Q&A
    • 我的頁面
    • 接受 E-mail 通知
    • 編輯個人資料
  1. NTU Theses and Dissertations Repository
  2. 電機資訊學院
  3. 資訊工程學系
請用此 Handle URI 來引用此文件: http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/40736
完整後設資料紀錄
DC 欄位值語言
dc.contributor.advisor陳俊良
dc.contributor.authorTsung-Han Hsienen
dc.contributor.author謝宗翰zh_TW
dc.date.accessioned2021-06-14T16:58:03Z-
dc.date.available2008-08-05
dc.date.copyright2008-08-05
dc.date.issued2008
dc.date.submitted2008-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.urihttp://tdr.lib.ntu.edu.tw/jspui/handle/123456789/40736-
dc.description.abstractJava在Java5.0版加入了泛型的機制,為了顧及新舊Java語言版本的相容性與新舊程式碼交互使用,Sun採用了型別擦拭法去實現泛型機制。然而使用擦拭法去實現泛型所產生的最大問題是執行期間與泛型的相關的型別資訊將會遺失,這問題讓函式重載無法在使用泛型型別參數的函式使用,因此我們對函式重載的問題提出了可行的解法,並且實現在Java6.0上。zh_TW
dc.description.abstractJava 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.provenanceMade 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.isozh-TW
dc.title考量參數化型別參數之JAVA函式重載機制zh_TW
dc.titleA Java Method Overloading Mechanism For Parameterized Type Parametersen
dc.typeThesis
dc.date.schoolyear96-2
dc.description.degree碩士
dc.contributor.oralexamcommittee甘宗左,施吉昇
dc.subject.keyword泛型,型別化參數,函式重載,zh_TW
dc.subject.keywordGeneric,Parameterized Type Parameters,method overloading,en
dc.relation.page39
dc.rights.note有償授權
dc.date.accepted2008-07-30
dc.contributor.author-college電機資訊學院zh_TW
dc.contributor.author-dept資訊工程學研究所zh_TW
顯示於系所單位:資訊工程學系

文件中的檔案:
檔案 大小格式 
ntu-97-1.pdf
  目前未授權公開取用
1.08 MBAdobe PDF
顯示文件簡單紀錄


系統中的文件,除了特別指名其著作權條款之外,均受到著作權保護,並且保留所有的權利。

社群連結
聯絡資訊
10617臺北市大安區羅斯福路四段1號
No.1 Sec.4, Roosevelt Rd., Taipei, Taiwan, R.O.C. 106
Tel: (02)33662353
Email: ntuetds@ntu.edu.tw
意見箱
相關連結
館藏目錄
國內圖書館整合查詢 MetaCat
臺大學術典藏 NTU Scholars
臺大圖書館數位典藏館
本站聲明
© NTU Library All Rights Reserved