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/33751
完整後設資料紀錄
DC 欄位值語言
dc.contributor.advisor陳俊良(Chuen-Liang Chen)
dc.contributor.authorLi-Wei Chengen
dc.contributor.author鄭力瑋zh_TW
dc.date.accessioned2021-06-13T05:45:32Z-
dc.date.available2006-07-24
dc.date.copyright2006-07-24
dc.date.issued2006
dc.date.submitted2006-07-12
dc.identifier.citation[1] Andrew Kennedy and Don Syme. Design and implementation of generics for the .Net Common Language Runtime.
In Cindy Norris and James B. Fenwick, Jr., editors, Proceedings of the ACM SIGPLAN 01 Conference on Programming Languages Design and Implementation (PLDI-01), pages 1-12, New York, New York, June 2001. ACM Press. Appears as volume 35, number 5 of SIGPLAN Notices.
[2] Bracha, G. and the Expert Group. Java Specification Request 14: Add Generic
Types to the JavaTM Programming Language.
http://jcp.org/jsr/detail/14.prt
[3] Bracha, G., Cohen, N., Kemper, C., Marx, S., Odersky, M., Panitz, S.E., Stoutamire, D., Throup, K. and Wadler, P. Adding Generics to the Java Programming Language: Participant Draft Specification. April 27, 2001.
http://jcp.org/aboutJava/communityprocess/review/jsr014/index.html
[4] Brain Cabana, Suad Alagi, and Jeff Faulkner. Parametric Polymorphism for Java: Is There Any Hope in Sight?
ACM SIGPLAN Notices, volume 39, Dec 2004.
[5] B.Stoustrup. The C++ Programming Language. Addison-Wesley, 1987.
[6] Cartwright, R. and Steele Jr., G.L.
Compatible Genericity with Run-time Types for the Java Programming Language.
Proceedings of the OOPSLA 1998, 201-218.
[7] Close, S., Using Java Generics.
Java Developers Journal. Novermber 2003, 32-37, 60.

[8] C++ Libraries: Boost.
http://www.boost.org/
[9] C++ Libraries:Loki
http://sourceforge.net/projects/loki-lib
[10] Gilad Bracha, Martin Odersky, David Stoutamire, and Philip Wadler.
GJ: Extending the Java programming language with type parameters.
[11] Gilad Bracha, Martin Odersky, David Stoutamire, and Philip Wadler. Making the future safe for the past:
Adding Genericity to the Java Programming Language.
[12] James Gosling, Bill Joy, Guy Steele, and Gilad Bracha. The Java Language Specification Third Edition.

[13] Joseph A. Bank, Barbara Liskov, and Andrew C. Myers. Parameterized Types and Java.
[14] Kennedy, A. and Syme, D. Design and Implementation of Generics for the .Net Common Language Runtime.
Proceedings of PLDI , 1-12, ACM 2001.
[15] Meyers, A.C., Bank, J.A. and Liskov, B.
Parameterized Types for Java.
Proceedings of the 24th ACM Symposium on Principles of Programming
Languages (Pairs, France, January 1997), 132-145.
[16] Microsoft .Net FrameWork Developer Center. http://www.microsoft.com/taiwan/netframework/default.mspx
[17] M.D. Mcllroy, Mass Produced Software Components, in P. Naur and B. Randell (Eds), Software Engineering, Report on a conference sponsored by the NATO Science Committee, Garmisch, Germany, 7th to 11th October 1968,Scientific Affairs Division, NATO, Brussels, 1969, 138-155. http://cm.bell-labs.com/cm/cs/who/doug/components.txt
[18] Odersky, M. and Wadler, P. Pizza into Java: Translating theory into practice.
Proceedings of the 24th ACM Symposium on Principles of Programming
Languages (Pairs, France, January 1997), 146-159.
[19] O. Agesen, S. N. Freund, and J. C. Mitchell.
Adding type parameterization to the Java programming language.
In Object Oriented Programming: Systems,Languages and Applications, Atlanta, Georgia, Oct. 1997 OOPSLA97, ACM Press. Toby Bloom, editor.
[20] SGI Standard Template Library Programmer's Guide.
http://www.sgi.com/tech/stl/index.html
[21] Stroustrup, B.
Parameterized Types for C++, USENIX C++ Conference
Proceedings, 1988.
[22] Sun Microsystems The Java Virtual Machine Specification.
http://www.javasoft.com/docs/books/vmspec/html/VMSpecTOC.doc.html
[23] Viroli, M. and Natali, A. Parametric Polymorphism in Java: an Approach to
Translation Based on Reflective Features.
Proceedings of OOPSLA 2000, 146-160.
dc.identifier.urihttp://tdr.lib.ntu.edu.tw/jspui/handle/123456789/33751-
dc.description.abstract經過多年的研究,一個將Java語言加入泛型機制的解法已經在Java 5.0上發佈了。為了兼顧新舊版本的相容性以及新舊程式碼的交互使用,Sun採用了擦拭法來達成泛型機制。擦拭法通常也被稱為一般化方法。然而,在擦拭法下帶來最大的問題為執行期間與泛型相關的型別資訊將會漏失。本論文中,將提出擦拭法帶來的另一個問題,這問題將導致無法使用泛型的靜態成員。最後,提出一個可行的解法並實現於Java 5.0編譯器之上。zh_TW
dc.description.abstractThrough the research for many years, a solution for the problem of extending Java with parametric polymorphism (genericity) has released in Java 5.0. In order to have the capability of backward compatibility and the capability of interoperability with legacy code, Sun adopts the method of type erasure to achieve Java with parametric polymorphism. The method is also called Generalization. Run-time type information will be lost because of type erasure and it’s the major problem of the solution. In the thesis, we show that Java 5.0 can’t declare static variable whose type is type parameter of class due to type erasure and propose a solution for this problem.en
dc.description.provenanceMade available in DSpace on 2021-06-13T05:45:32Z (GMT). No. of bitstreams: 1
ntu-95-R93922096-1.pdf: 968801 bytes, checksum: e2de06cc57a07bb232c895493e6f6600 (MD5)
Previous issue date: 2006
en
dc.description.tableofcontents中文摘要 i
Abstract iii
致謝 v
目錄 vii
圖表目錄 ix
表格目錄 xi
1. 簡介 1
1.1. 研究動機 1
1.2. 相關研究 2
1.3. 論文架構 3
2. 泛型 5
2.1. 關於泛型的一些背景知識 6
2.2. Generalization 8
2.3. Specialization 9
2.4. Specialization and sharing 10
2.5. 泛型爪哇(Generic Java) 12
2.5.1. 目標 13
2.5.2. 型別擦拭(Type erasure) 14
2.6. 結論 15
3. 問題及策略 17
3.1. 一般化方法於擦拭法下引起的問題 17
3.2. 策略 20
4. 實作 25
4.1. Java 編譯器 25
4.1.1. Java的演進歷史 25
4.1.2. Java編譯器的內部結構 28
4.2. 設計流程 30
4.3. 轉換步驟 32
4.3.1. Helper Class 33
4.3.2. SGV attribute and SGM attribute 36
4.3.3. 轉換過程 39
4.3.4. 結論 46
5. 結論 47
參考文獻 49
A. 實驗結果 53
A1. Test Case 1 53
A2. Test Case 2 61
A3. Test Case 3 68
A4. Test Case 4 71
A5. 結論 74
dc.language.isozh-TW
dc.subject爪哇編譯器zh_TW
dc.subject一般化及共享zh_TW
dc.subject特殊化zh_TW
dc.subject泛型zh_TW
dc.subject一般化zh_TW
dc.subjectSpecialization and sharingen
dc.subjectJava Compileren
dc.subjectSpecializationen
dc.subjectGeneralizationen
dc.subjectGenericsen
dc.titleJava語言靜態泛型成員之機制zh_TW
dc.titleA Mechanism of Static Generic Type Members for the Java Programming Languageen
dc.typeThesis
dc.date.schoolyear94-2
dc.description.degree碩士
dc.contributor.oralexamcommittee李秀惠(Hsiu-Hui Lee),甘宗左(Tsung-Tso Kan)
dc.subject.keyword泛型,一般化,特殊化,一般化及共享,爪哇編譯器,zh_TW
dc.subject.keywordGenerics,Generalization,Specialization,Specialization and sharing,Java Compiler,en
dc.relation.page75
dc.rights.note有償授權
dc.date.accepted2006-07-14
dc.contributor.author-college電機資訊學院zh_TW
dc.contributor.author-dept資訊工程學研究所zh_TW
顯示於系所單位:資訊工程學系

文件中的檔案:
檔案 大小格式 
ntu-95-1.pdf
  未授權公開取用
946.09 kBAdobe 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