請用此 Handle URI 來引用此文件:
http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/33751完整後設資料紀錄
| DC 欄位 | 值 | 語言 |
|---|---|---|
| dc.contributor.advisor | 陳俊良(Chuen-Liang Chen) | |
| dc.contributor.author | Li-Wei Cheng | en |
| dc.contributor.author | 鄭力瑋 | zh_TW |
| dc.date.accessioned | 2021-06-13T05:45:32Z | - |
| dc.date.available | 2006-07-24 | |
| dc.date.copyright | 2006-07-24 | |
| dc.date.issued | 2006 | |
| dc.date.submitted | 2006-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.uri | http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/33751 | - |
| dc.description.abstract | 經過多年的研究,一個將Java語言加入泛型機制的解法已經在Java 5.0上發佈了。為了兼顧新舊版本的相容性以及新舊程式碼的交互使用,Sun採用了擦拭法來達成泛型機制。擦拭法通常也被稱為一般化方法。然而,在擦拭法下帶來最大的問題為執行期間與泛型相關的型別資訊將會漏失。本論文中,將提出擦拭法帶來的另一個問題,這問題將導致無法使用泛型的靜態成員。最後,提出一個可行的解法並實現於Java 5.0編譯器之上。 | zh_TW |
| dc.description.abstract | Through 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.provenance | Made 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.iso | zh-TW | |
| dc.subject | 爪哇編譯器 | zh_TW |
| dc.subject | 一般化及共享 | zh_TW |
| dc.subject | 特殊化 | zh_TW |
| dc.subject | 泛型 | zh_TW |
| dc.subject | 一般化 | zh_TW |
| dc.subject | Specialization and sharing | en |
| dc.subject | Java Compiler | en |
| dc.subject | Specialization | en |
| dc.subject | Generalization | en |
| dc.subject | Generics | en |
| dc.title | Java語言靜態泛型成員之機制 | zh_TW |
| dc.title | A Mechanism of Static Generic Type Members for the Java Programming Language | en |
| dc.type | Thesis | |
| dc.date.schoolyear | 94-2 | |
| dc.description.degree | 碩士 | |
| dc.contributor.oralexamcommittee | 李秀惠(Hsiu-Hui Lee),甘宗左(Tsung-Tso Kan) | |
| dc.subject.keyword | 泛型,一般化,特殊化,一般化及共享,爪哇編譯器, | zh_TW |
| dc.subject.keyword | Generics,Generalization,Specialization,Specialization and sharing,Java Compiler, | en |
| dc.relation.page | 75 | |
| dc.rights.note | 有償授權 | |
| dc.date.accepted | 2006-07-14 | |
| dc.contributor.author-college | 電機資訊學院 | zh_TW |
| dc.contributor.author-dept | 資訊工程學研究所 | zh_TW |
| 顯示於系所單位: | 資訊工程學系 | |
文件中的檔案:
| 檔案 | 大小 | 格式 | |
|---|---|---|---|
| ntu-95-1.pdf 未授權公開取用 | 946.09 kB | Adobe PDF |
系統中的文件,除了特別指名其著作權條款之外,均受到著作權保護,並且保留所有的權利。
