2020年最新Java数组面试题_极悦注册
专注Java教育14年 全国咨询/投诉热线:444-1124-454
极悦LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java学习 2020年最新Java数组面试题

2020年最新Java数组面试题

更新时间:2020-01-10 16:03:01 来源:极悦 浏览2928次


2020年最新Java数组面试题


  在java中,声明一个数组过程中,是如何分配内存的?


  1. 当声明数组类型变量时,为其分配了(32位)引用空间,由于未赋值,因此并不指向任何对象;


  2. 当创建了一个数组对象(也就是new出来的)并将其地址赋值给了变量,其中创建出来的那几个数组元素相当于引用类型变量,因此各自占用(32位的)引用空间并按其默 认初始化规则被赋值为null


  3. 程序继续运行,当创建新的对象并(将其地址)赋值给各数组元素,此时堆内存就会有值了


  Java变量一定要初始化吗?


  不一定。Java数组变量是引用数据类型变量,它并不是数组对象本身,只要让数组变量指向有效的数组对象,即可使用该数组变量。对数组执行初始化,并不是对数组变量进行初始化,而是对数组对象进行初始化——也就是为该数组对象分配一块连续的内存空间,这块连续的内存空间就是数组的长度。


  基本类型变量都放在栈内存中?


  错。应该这样说:所有局部变量都放在栈内存里保存的,不管其是基本类型的变量,还是引用类型变量,都是存储在各自的方法栈区中;但是引用类型变量所引用的对象(包括数组、普通java对象)则总是存储在堆内存中。


  引用变量何时只是栈内存中的变量本身,何时又变为引用实例的java对象?


  引用变量本质上只是一个指针,只要程序通过引用变量访问属性,或者通过引用变量来调用方法,该引用变量将会由他所引用的对象代替。


2020年最新Java数组面试题


      以上就是极悦注册机构小编介绍的“2020年最新Java数组面试题”的内容,希望对大家有帮助,如有疑问,请在线咨询,有专业老师随时为你服务。


相关推荐







提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>