堆和栈的区别,有一个64k的字符串,是放到堆上,还是放到栈上,为什么?

答:只有引用及基本数据类型是直接存在栈上。对象类型可能是在堆、方法区、常量池中。

如二楼所说,放到堆中还是放到栈中,jvm会根据你的数据类型决定。
一般在栈中存放了编译期可知的各种基本数据类型,对象引用和returnAddress类型。
在堆中存放对象实例

1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。
2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。

1:堆栈都是内存的可用区域,但是 堆的速度慢容量大,栈的速度快容量小。一个64K的字符串,自然放在堆。栈的内存是很宝贵的。
2:接口和抽象类都是面向对象编程的特点,都是可继承(实现)为明确的类。一般:所描述的事物(事件)属于很抽象的,则先使用接口表达这个事物,然后使用抽象类实现划分出各种分类事物。例如:List 接口下有抽象类:AbstractSequentialList<E> AbstractList<E>等,然后才有LinkedList ArrayList
3:有一个100万的数组,里边有两个是重复的,如何设计算法找到:
int i=0;
Set<Integer> set=new HashSet<Integer>();
for(;i<array.length;i++)
if(set.add(array[i])) break;

array[i];//就是了

堆和栈的区别,有一个64k的字符串,是放到堆上,还是放到栈上,为什么?相关推荐

  1. Jvm(29),理解升级----C语言中的堆和栈的区别 (可以借鉴)

    假如你现在还在为自己的技术担忧,假如你现在想提升自己的工资,假如你想在职场上获得更多的话语权,假如你想顺利的度过35岁这个魔咒,假如你想体验BAT的工作环境,那么现在请我们一起开启提升技术之旅吧,详情 ...

  2. 栈内存和堆内存的区别(一个笔试题的一部分)

    笔试题目:请解释一个栈内存与一个堆内存的区别,请分析下面代码运行是否有问题,如果有问题请改正. char* GetMemory(void) { char p[] = "Hello world ...

  3. 堆和栈的区别(面试经验总结)

    C++中,内存分为5个区:堆.栈.自由存储区.全局/静态存储区和常量存储区. 栈:是由编译器在需要时自动分配,不需要时自动清除的变量存储区.通常存放局部变量.函数参数等. 堆:是由new分配的内存块, ...

  4. 堆和栈的区别 (转贴)

    非本人作也!因非常经典,所以收归旗下,与众人阅之!原作者不祥! 堆和栈的区别 一.预备知识-程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1.栈区(stack)- 由编译器自动 ...

  5. mysql中堆和栈_堆和栈的区别

    在说堆和栈之前,我们先说一下JVM(虚拟机)内存的划分: Java程序在运行时都要开辟空间,任何软件在运行时都要在内存中开辟空间,Java虚拟机运行时也是要开辟空间的.JVM运行时在内存中开辟一片内存 ...

  6. (009) java后台开发之堆和栈的区别

    转自:https://course.tianmaying.com/java-basic+object-usage# 堆和栈的区别 堆和栈都是Java中常用的存储结构,都是内存中存放数据的地方: 1.在 ...

  7. 什么是堆和栈以及区别详解

    堆 先进先出 存取速度慢 存储数组和对象 动态分配内存 都是实体 栈 先进后出 存取速度快 存储变量 什么是堆内存? 它的作用是用于存储java中的对象和数组 当我们new一个对象或者创建一个数组的时 ...

  8. 语言堆栈入门——堆和栈的区别

    原文:http://student.csdn.net/link.php?url=http://www.top-e.org%2Fjiaoshi%2Fhtml%2F427.html 格式和部分内容稍作修改 ...

  9. 堆 和 栈的 区别(经典)

    堆和栈的区别 一.预备知识-程序的内存分配  一个由C/C++编译的程序占用的内存分为以下几个部分  1.栈区(stack)- 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等.其  操作方式 ...

最新文章

  1. Docker的使用(二:Docker客户端常用指令练习)
  2. 工作五年,后面四年重复着第一年的活儿?
  3. 讲一下python的背景知识
  4. hibernate中的所有属性
  5. parcel react_如何使用Parcel设置React应用
  6. 前端学习(2826):数据绑定
  7. 2014值得期待的Erlang两本新书
  8. 95-40-025-java.util.concurrent-并发容器
  9. 一个基本开发框架的整合演化之路--9、整合文件服务器fastdfs
  10. Java实现:四六级真题批量PDF文件英文单词词频分析、排序
  11. c语言无法定位程序输入点 于动态链接库,无法定位程序输入点于动态链接库?解决方法步骤...
  12. 知识图谱从入门到应用——知识图谱推理:基础知识
  13. 【C++】VS中读写操作(fclose.cpp)引发中断——将一个无效参数传递给了将无效参数视为严重错误的函数
  14. 解决Virtualbox安装系统界面显示不全问题
  15. 创造性思维与创新方法-2019春-期末试题
  16. win10安装linux系统视频播放器,u盘安装linux视频mac制作win10安装u盘
  17. 成都电子科技大学深圳校区计算机学院导师简介
  18. Spring Cloud 升级之路 - 2020.0.x - 1. 背景知识、需求描述与公共依赖
  19. html中实现页面跳转代码怎么写,用JavaScript怎么实现页面跳转?
  20. 超全,Python 量化金融库汇总!

热门文章

  1. fluent周期边界_在Fluent中采用TUI设置周期性边界的方法
  2. java生成不重复8位数字_如何生成8位随机不重复的数字编号
  3. 综合布线系统 (布线系统的一种)
  4. mysql sql 列变成横向_mysql怎么更改纵向变横向排列
  5. 工作中那些让人印象深刻的BUG(3)
  6. u盘win7纯净版_如何制作纯净版WIN7启动U盘
  7. 英文面试二——why you are looking for a new job
  8. The type initializer for ‘Gdip‘ threw an exception
  9. LabVIEW FPGA PCIe开发讲解-7.1节:FPGA PCIe/PXIe基础知识和概念概述
  10. cad lisp 螺栓_如何用cad画螺丝