我是靠谱客的博主 爱听歌毛衣,最近开发中收集的这篇文章主要介绍java 栈与堆的区别_java中栈(stack)和堆(heap)的区别,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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.0bin;

2、变量名: classpath

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

最后

以上就是爱听歌毛衣为你收集整理的java 栈与堆的区别_java中栈(stack)和堆(heap)的区别的全部内容,希望文章能够帮你解决java 栈与堆的区别_java中栈(stack)和堆(heap)的区别所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部