接下来,以java程序执行时内存里数据指向为主线,来复习一下相关的知识。
1、java中除了基本数据类型,只有引用类型。且所有的引用类型变量都是占有四四个字节。
2、当new一个对象后,且为默认构造函数,属性的初值判断如下
六种数值类型:小数0.0,其余为0。char类型为/000,boolean类型为false;对于
引用数据类型比如String 初值为null。
3、对象都是通过引用来完成调用的。
掌握了上面的开始内存分析了。
1、栈:存放局部变量
堆:存放new出来的实例对象
方法区:类的信息,static变量,常量池。
可以看到:1、栈区是连续的,堆区不是连续的。
2、执行Student s1,发现方法区目前为空,变到class文件里找有没有Student这个类,有便把类的信息,属性,常量,方法等加载到方法区。如果没有,就抛出class没有找到的异常(ClassNotFoundException)。 类当再次有引用数据Student s2便会直接使用方法区的类信息,而不需要再吃从class文件加载
class Student{
String name;
int id;
int age;
String gender;
float weight;
public void study(){
Syso(name+"正在学习");
}
public void sayHello(String name){
Syso(this.name+"对+"name"+说,你好");
}
}
class TestMemory{
Student s1=new Student();
s1.name="小钱";
s1.study();
s1.sayHello("小李");
Student s2=new Student();
s2.name="小马";
s2.age=77;
}
相关推荐
西南科技大学Java程序设计与实践 实验一、实验目的: 练习面向对象的图形用户界面设计、界面布局、事件设计方 法。 二、实验内容: 设计一个类似Windows计算器的Application应用程序。 三、实验要求: 1、采用Java ...
想要下载此文件,请先下载本人“java程序中的内存分配问题”,因为那个例子比较简单而且分析详细透彻,可以使你更容易理解,如果你对java程序执行过程中的内存分配有一定的了解,可以直接下载本文件
想要下载此文件,请先下载本人“java程序中的内存分配问题”,因为那个例子比较简单而且分析详细透彻,可以使你更容易理解,如果你对java程序执行过程中的内存分配有一定的了解,可以直接下载本文件
想要下载此文件,请先下载本人“java程序中的内存分配问题”,因为那个例子比较简单而且分析详细透彻,可以使你更容易理解,如果你对java程序执行过程中的内存分配有一定的了解,可以直接下载本文件
本例通过一个简单的java程序来阐述了程序在执行过程中内存的动态分配,但分析过程非常详细,适合java初学者
Java程序设计是计算机科学与技术、网络工程、软件工程、物联网工程专业的一门专业基础课程。本课程是一门实用性和综合运用性都很强的课程,实践教学环节是教学过程中必不可少的重要内容。通过实验,让学生熟悉JDK中...
设计解决问题 的策略 基本程序设计--设计解决问题的策略 本讲主题 1 理解什么是程序 2 了解程序设计的基本步骤 3 掌握设计解决问题的策略 程序一词来自生活,通常指完成某些事物的一...//Java程序 public class Comput
・:・能熟练、准确地应用分支、循环、跳转三种流程执行过程; 教学重点 :・标识符命名规那么、数据类型与运算符; : 嵌套ifelse语句的用法; 教学难点 :・数值类型转换(强制转换、隐式转换)的用法; :・Switch...
想要下载此文件,请先下载本人“java程序中的内存分配问题”,因为那个例子比较简单而且分析详细透彻,可以使你更容易理解,如果你对java程序执行过程中的内存分配有一定的了解,可以直接下载本文件
JAVA入门基础篇,适合于初学者.第一章 Java语言入门 授课内容: ...7.分析Java运行过程,再次讲解Jvm、字节码等概念 8.简单介绍JSP技术 作业: 1. 配置环境变量 2. 完成第一个Java程序的编译及运行
该资源包含两类词法分析程序(JAVA版) 1.形如 Abgdsh5236:=36236.6236 2.形如 Djahgjh236626:=326236.2363+636.236236 已经做出图形界面版,点击即可运行(附带源码)
整个开发过程首先对系统进行需求分析,得出系统的主要功能。接着对系统进行总体设计和详细设计。总体设计主要包括系统功能设计、系统总体结构设计、系统数据结构设计和系统安全设计等;详细设计主要包括系统数据库...
想要下载此文件,请先下载本人“java程序中的内存分配问题”,因为那个例子比较简单而且分析详细透彻,可以使你更容易理解,如果你对java程序执行过程中的内存分配有一定的了解,可以直接下载本文件
想要下载此文件,请先下载本人“java程序中的内存分配问题”,因为那个例子比较简单而且分析详细透彻,可以使你更容易理解,如果你对java程序执行过程中的内存分配有一定的了解,可以直接下载本文件
(3)在对Java程序的调试过程中,提高学生分析程序中出现的错误和排除这些错误 的能力。 (4)通过上机实践,加深学生对计算机软件运行环境,以及对操作系统与计算机语 言支持系统相互关系的了解。 三、实践内容 ...
整个开发过程首先对系统进行需求分析,得出系统的主要功能。接着对系统进行总体设计和详细设计。总体设计主要包括系统功能设计、系统总体结构设计、系统数据结构设计和系统安全设计等;详细设计主要包括系统数据库...
1.2.3 java的运行环境 7 第二章 需求分析 8 2.1五子棋发展史 8 2.2五子棋功能说明 8 2.2.1操作界面需求 8 2.2.2程序流程 9 2.2.3主要模块结构 10 2.2.4 java中线程概念 10 2.3 Eclipse SDK 13 第三章 设计分析 13 ...
课程内容: 1、 什么是软件工程?要学些什么东西?培养一些什么能力? a) 机械工程、土木工程、生物工程。...2:JAVA程序设计教程( java How to Program Third Edition) 3: JAVA2参考大全(清华大学出版)
整个开发过程首先对系统进行需求分析,得出系统的主要功能。接着对系统进行总体设计和详细设计。总体设计主要包括系统功能设计、系统总体结构设计、系统数据结构设计和系统安全设计等;详细设计主要包括系统数据库...
Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行ATM...