1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《20_JVM》.ppt

Course Overview PART I: overview material 1 Introduction 2 Language processors (tombstone diagrams, bootstrapping) 3 Architecture of a compiler PART II: inside a compiler 4 Syntax analysis 5 Contextual analysis 6 Runtime organization 7 Code generation PART III: conclusion Interpretation 9 Review What This Topic is About Recap: Interpretive Compilers Abstract Machines Abstract Machines Class Files and Class File Format Data Types JVM: Runtime Data Areas Java Stacks Stack Frames Stack Frames Stack Frames JVM Interpreter Instruction-set: typed instructions! Instruction set: kinds of operands Instruction-set: accessing arguments and locals Instruction-set: non-local memory access Instruction-set: operations on numbers Instruction-set … Instruction-set … Instruction-set: Heap Memory Allocation Instructions and the “Constant Pool” Instructions and the “Constant Pool” Instructions and the “Constant Pool” Instructions and the “Constant Pool” Instructions and the “Constant Pool” Linking Loading and Linking in JVM Closing Example Compiling and Disassembling Compiling and Disassembling ... Writing Factorial in “jasmin” Writing Factorial in “jasmin” (continued) .method package fac(I)I .limit stack 50 .limit locals 4 iconst_1 istore 2 iconst_2 istore 3 Label_1: iload 3 iload 1 if_icmplt Label_4 iconst_0 goto Label_5 Label_4: iconst_1 Label_5: ifeq Label_2 iload 2 iload 3 imul dup istore 2 pop Label_3: iload 3 dup iconst_1 iadd istore 3 pop goto Label_1 Label_2: iload 2 ireturn iconst_0 ireturn .end method .class package Factorial .super java/lang/Object .method package init( )V .limit stack 50 .limit locals 1 aload_0 invokenonvirtual java/lang/Object/init( )V return .end method Jasmin is a Java Assembler Interface. It takes ASCII descriptions for Java classes, written in a simple assembler-like syntax and using the Java Virtual Machine instruction set. It converts them into binary Java class files suitable for loading into a JVM implementation. The Java Virtual Machine

您可能关注的文档

文档评论(0)

wgvi + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档