Java面试题2019简书_2019-07-08 Java面试题

方法通常存储在进程中的哪一区()

A.堆区

B.栈区

C.全局区

D.方法区

解析:

一条进程的栈区,堆区,方法区,代码区在内存中的映射.

栈区:主要用来存放局部变量,传递参数,存放函数的返回地址

堆区:动态分配内存,使用new 等进行分配时,所得到的内存就存放在堆中,动态分配的区域附带有分配信息,所以可以free和detete它们.

数据区: 全局变量,静态变量,常量都存放在数据区,数据区包括BSS,BSS包括未初始化数据区和初始化数据区

堆向高内存地址生长

栈向低内存地址生长

堆和栈相向而生,堆和栈有一个临界点,叫strbrk.

一条进程在内存中的映射

假设现在有一个程序,它的函数调用顺序如下:

main(...) ->; func_1(...) ->; func_2(...) ->; func_3(...),即:主函数main调用函数func_1; 函数func_1调用函数func_2; 函数func_2调用函数func_3。

当一个程序被操作系统调入内存运行, 其对应的进程在内存中的映射如下图所示:

5a96d74c58f1

image.png

超链接:一条进程的栈区、堆区、数据区和代码区在内存中的映射

下列关于包(package)的描述,正确的是()

A.包(package)是Java中描述操作系统对多个源代码文件组织的一种方式。

B.import语句将所对应的Java源文件拷贝到此处执行。

C.包(package)是Eclipse组织Java项目特有的一种方式。

D.定义在同一个包(package)内的类可以不经过import而直接相互使用。

解析:

A:为了更好的组织类,Java提供了包机制.包是类的容器,用于分割类名空间.

B:Improt语句不是把JAVA源文件拷贝,而是引用.告诉编译器有外部文件引入,编译的时候要去读取这个文件.

C:包机制跟IDE无关

D.定义在同一个包的类可以不经过import而直接互相使用

下列不属于Java语言性特点的是

A.Java致力于检查程序在编译和运行时的错误

B.Java能运行虚拟机实现跨平台

C.Java自己操纵内存减少了内存出错的可能性

D.Java还实现了真数组,避免了覆盖数据类型的可能

解析:

A.Java致力于检查程序在编译和运行时的错误

B.JAVA虚拟机实现了跨平台的接口

C:JAVA直接操纵内存减少了内存出错的可能性

D.JAVA实现了真数组,避免了覆盖数据的可能,不是数据类型

程序设计语言中,数组元素在内存中是一个接着一个线性存放的,通过第一个元素就能访问随后的元素,这样的数组称之为“真数组”。

实现了真数组为Java语言健壮性的特点之一。

内存连续就是真数组,内存不连续就是假数组,例如python的list

如下代码,执行test()函数后,屏幕打印结果为()

public class Test2

2 {

3 public void add(Byte b)

4 {

5 b = b++;

6 }

7 public void test()

8 {

9 Byte a = 127;

10 Byte b = 127;

11 add(++a);

12 System.out.print(a + " ");

13 add(b);

14 System.out.print(b + "");

15 }

16 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值