优就业2018七夕活动
 陕西
029-87400537
首页 > 面试技巧 > Java开发面试题:JAVA 中堆和栈的区别,说下java 的内存机制

Java开发面试题:JAVA 中堆和栈的区别,说下java 的内存机制

2018-02-12 17:44:14 来源:互联网 荐:IT资料豪华升级版,点击加群领取

春节过后是找工作的高峰期,Java工程师在找工作的时候,难免会遇到很多专业性非常强的面试题,所以要提前准备,西安IT培训小编整理了两个经典面试题,希望能帮到大家!

Java开发面试题:JAVA 中堆和栈的区别,说下java 的内存机制

1.Java中堆和栈的区别,说下Java的内存机制

a. 基本数据类型比变量和对象的引用都是在栈分配的

b. 堆内存用来存放由new创建的对象和数组

c. 类变量(static修饰的变量),程序在一加载的时候就在堆中为类变量分配内存,堆中的内存地址存放在栈中

d. 实例变量:当你使用Java关键字new的时候,系统在堆中开辟并不一定是连续的空间分配给变量,是根据零散的堆内存地址,通过哈希算法换算为一长串数字以表征这个变量在堆中的”物理位置”,实例变量的生命周期–当实例变量的引用丢失后,将被GC(垃圾回收器)列入可回收“名单”中,但并不是马上就释放堆中内存

e. 局部变量: 由声明在某方法,或某代码段里(比如for循环),执行到它的时候在栈中开辟内存,当局部变量一但脱离作用域,内存立即释放

2.Switch能否用string做参数?

a. 在 Java 7 之前, switch 只能支持byte,short,char,int 或者其对应的封装类以及 Enum 类型。在JAVA 7中,String 支持被加上了。

除了这些小编还特意为大家准备了求职面试秘籍,快来关注微信公众号:【saujiuye】或者扫描下方微信二维码)并回复关键词:就业课面试秘籍,就可以领取啦!

更多分享交流,礼品领取,海量干货,请扫描下方内部资料领取二维码,一不小心就爱上IT,成为了大佬!

免责声明:本文来源于网络,由网友提供或网络搜集,仅供个人交流学习参考使用,不涉及商业盈利目的。如有版权问题,请联系本站管理员予以更改或删除。谢谢合作!

热门标签: Java面试题 Java面试技巧 Java培训机构 Java教程 Java面试题 Java面试技巧

猜你喜欢

推荐阅读

 
 
咨询中心
优就业微信扫一扫
微信扫一扫

400-650-7353

加入官方微博