Java语言基础学习完本章后,你应该知道并掌握源文件布局内存模型.doc

Java语言基础学习完本章后,你应该知道并掌握源文件布局内存模型.doc

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

Java语言基础 学习完本章后,你应该知道并掌握: 源文件布局 内存模型 数据类型 标识符、关键字 语句与表达式 流程控制 运算符 值传递 访问控制 概述 本章主要讲解Java语言的语法,万丈高楼平地起,如果打的地基不牢,修的越高越容易倒塌。这个道理依然适用于我们学习的过程,所以在开始后续学习之前,我们就必须把Java的语法搞清楚。 任务分析 本章按照以“知识点切入”的方式来组织内容,每个同学要完成工作任务一节列出的所有任务。 时间:12课时 相关知识 程序结构,C语言基础,变量,内存,流程控制等; 工作任务 文件布局 新建train的Java工程,新建TestExample类,代码如下: package com.hwadee.train.grammar; import java.lang.System; class Example { private int i = 1; public void firstMethod() { int i = 4, j = 5; this.i = i + j; secondMethod(7); } public void secondMethod(int i) { int j = 8; this.i = i + j; System.out.println(this.i); } } public class TestExample { public static void main(String[] args) { Example e=new Example(); e.firstMethod(); } } 源文件布局 从TestExample的源码我们要得出以下结论:源文件从上到下是包声明语句,如果这个类中要用到其他类使用import语句,接下来是类的申明;注意以下规则: 源文件中可以申明多个类,但是生成的class文件是分开的; 源文件中有且只能有一个public类,且类名是和源文件名是一致的; 编译和执行时在类路径中会默认加入java.lang包下的类; import语句可以导入包下的所有类(但不包含子包),也可单独导入一个类; 一个类中含有一个main方法,这个类就构成了一个应用,可以用java命令运行它,main方法是一个应用的入口; 命名规范 包名是文件存放的目录,常以org、com开头,接下来是“机构(公司名).项目名.模块名”,采用小写形式 类名代表一种类型,常采用名词,比如:人、动物、电脑、食品、学生、老师等,采用首写字母大写其于小写的形式,一个类如果由多个单词组成,单词首字母都大写 变量代表存放数据的单元,采用首字母小写的形式 方法代表对象的行为,常采用动词,采用首字母小写的形式 类结构 modifiers class name { [attribute_declarations] [constructor_declarations] [method_declarations] } 图4.4.1 类结构图 从上面的代码可以看出一个类是由属性、构造器、方法组成的,类是Java编程的基本单元;每个类都由一对大括号标记类的开始和结束,括起来的部分称为“类体”;Java程序员的职责就是设计类然后创建对象并调用,让程序按照预期结果运行下去; 属性 modifiers type name 图4.4.2 类属性 类中的每个属性声明都应该具有3个要素:访问限定+变量类型+变量名; 方法 modifiers return_type name([argument_list]){ [statements] } 图4.4.2 类方法 每个方法都由一对大括号标记类的开始和结束,括起来的部分称为“方法体”,每个方法都应该具有例子中的基本结构; 内存模型 内存模型 图4.4.1 JVM内存模型 heap:存放对象成员变量的数据,好比宾馆房间 java stacks:存放方法局部变量的数据,好比服务台 method area:存放字节码的区域 对于大家来讲这3个部分是要搞清楚的,其他的如果有兴趣可以深入研究;在“对象初始化”一节中我们将从对象创建开始进行分析这3部分的作用; 对象初始化 创建对象时到底发生了什么以及内存中有什么变化?我想这是所有学习Java的人应该要搞清楚的事情,我们把对象创建过程称为对象创建“四步曲”: 分配内存、成员变量默认初始化 成员变量显示始化 构造方法被调用 引用变量被赋值 接下来分析TestExample类的main方法中的代码:Example e=new Example();以后在内存中的变化如下图: 图4.4.2 内存模型 第一步:栈内存单元“e”开辟,但没有值(问号表示) 第二步:堆内存开辟,成员变量“i”默认初

文档评论(0)

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

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

1亿VIP精品文档

相关文档