java 栈与堆的区别_java中栈(stack)和堆(heap)的区别

本文详细探讨了Java中堆和栈的区别,澄清了Stack和Heap的中文翻译混淆问题。堆主要存储对象实例,而栈则用于存储基本数据类型和对象引用。堆中分配对象实例后,栈会保存对应的内存地址以定位对象。此外,文章还提及了Java环境变量的设置和编程基础知识。
摘要由CSDN通过智能技术生成

java中栈(stack)和堆(heap)的区别

鉴于网上对Java的堆栈区分,众说纷纭,有的把C++的堆栈也混进来,有的没有分清Stack,Heap的中文翻译,搞得我把Stack当作堆,Heap当作栈,混乱了!昨天参加一外企的笔试,选择英文答案时,选错了,知道答案是堆,却选择了Stack!今天,决定把两者区分清楚!

首先分清楚Stack,Heap的中文翻译:Stack—栈,Heap—堆。

在中文里,Stack可以翻译为“堆栈”,所以我直接查找了计算机术语里面堆和栈开头的词语:

堆存储: heapstorage    堆存储分配: heapstorage allocation  堆存储管理: heap storage management

栈编址: stack addressing   栈变换:stack transformation  栈存储器:stack memory  栈单元: stack cell

接着,总结在Java里面Heap和Stack分别存储数据的不同。

Heap(堆)

Stack(栈)

JVM中的功能

内存数据区

内存指令区

存储数据

对象实例(1)

基本数据类型, 指令代码,常量,对象的引用地址(2)

1. 保存对象实例,实际上是保存对象实例的属性值,属性的类型和对象本身的类型标记等,并不保存对象的方法(方法是指令,保存在stack中)。

对象实例在heap中分配好以后,需要在stack中保存一个4字节的heap内存地址,用来定位该对象实例在heap中的位置,便于找到该对象实例。

2. 基本数据类型包括byte、int、char、long、float、double、boolean和short。

函数方法属于指令.

=======================

引用网上广泛流传的“Java堆和栈的区

相关文档:

Windows下JAVA环境变量的设置

Windows下JAVA用到的环境变量主要有3个,JAVA_HOME、CLASSPATH、PATH。下面逐个分析。

JAVA_HOME 指向的是JDK的安装路径,如x:\JDK_1.4.2,在这路径下你应该能够找到bin、lib等目录。值得一提的是,JDK 的安装路径可以选择任意磁盘目录,不过建议你放的目录层� ......

FileInputStream fis=null;

try

{

fis=new FileInputStream("file url")

}

catch(Exception e){e.printStackTrace()}

System.out.println("File has "+ fis.available() + " bytes"); ......

1. 概述

本文主要包括以下几个方面:编码基本知识,java,系统软件,url,工具软件等。

在下面的描述中,将以"中文"两个字为例,经查表可以知道其GB2312编码是"d6d0 cec4",Unicode编码为"4e2d 6587",UTF编码就是"e4b8ad e69687"。注意,这两个字没有iso8859-1编码,但可以用iso8859-1编码来"表示"。&nbsp ......

上文谈到了适配器模式,要是Targer目标角色有20方法,那么每个适配器都要去实现接口中这些方法,这样做感觉太费劲。     这种情况下,可以考虑实现个默认适配器,然后实际的实现目标角色接口的类可以集成这个默认适配器,然后重写默认实现的方法即可。     一、原理图   ......

配置java 环境变量很简单 :

首先:

1、双击“我的电脑”

2、双击“控制面板”

3、双击“系统”

4、点击“高级”选项卡,

5、点击“环境变量”按钮

其次:

1、变量名: path

变量值: C:\jdk1.6.0\bin;

2、变量名: classpath

变量值: .;%JAVA_HOME%\lib\ ......

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值