2021年09月08日 java2
考点1:Java标识符
在JAVA中, 下列标识符合法的是()
- A 3kyou
- B @163
- C name
- D while
显示答案/隐藏答案
正确答案: CJava中标识符规则
- 由字母、数字、
美元符号$
、**下划线_**4种组成, - 不能以数字开头,
- 不能是保留字和关键字
- 不能是true,false,null等引用常量
C语言标识符规则
- 标识符由字母(A-Z,a-z)、数字(0-9)、下划线“_”组成,
- 首字符不能是数字,但可以是字母或者下划线
- 不能是保留字和关键字
Java标识符字符构成比C语言的多了一个美元符$
考点2:java常识 局部变量 成员变量
局部变量能否和成员变量重名?
- A 可以,局部变量可以与成员变量重名,这时可用“this”来指向成员变量
- B 可以,这时可用“local”关键字来指向局部变量
- C 不能,局部变量不能与成员变量重名
- D 不能,在一个类中不能有重名变量,不管是成员变量还是函数中的局部变量
显示答案/隐藏答案
正确答案: Ajava访问变量采用就近原则
JAVA访问变量采用就近原则,局部变量与成员变量重名时,局部变量比较近,使用局部变量。
java采用局部优先的思想。局部变量可以和成员变量相同,使用标识符调用时,优先使用局部变量。在实例方法中出现变量名相同时,可以使用this关键字来调用实例变量。
考点3:Java常识
有以下程序片段且Interesting不是内部类,下列哪个选项不能插入到行1。( )
1. 2. public class Interesting{ 3. // 省略代码 4. }
- A import java.awt.*;
- B package mypackage;
- C class OtherClass{ }
- D public class MyClass{ }
显示答案/隐藏答案
正确答案: D一个.java文件中只能有一个public外部类
在同一个java原文件中,可以有多个class类,但是只有有一个公共的 public class
一个.java文件中,可以有多个类,包括内部类和外部类。
考虑到内部类的原因,一个.java文件可以中可以有多个public类。
但是对于外部类
而言,一个.java文件必须只能有一个public类,同时这个类的类名必须和.java的文件名一致(包括大小写)。
考点4:内存泄漏
java程序内存泄露的最直接表现是( )
- A 频繁FullGc
- B jvm崩溃
- C 程序抛内存控制的Exception
- D java进程异常消失
显示答案/隐藏答案
正确答案: Cjava是自动管理内存的,通常情况下程序运行到稳定状态,内存大小也达到一个 基本稳定的值
但是内存泄露导致Gc不能回收泄露的垃圾,内存不断变大.
最终超出内存界限,抛出OutOfMemoryExpection。
答案 C,依次解释一下相关选项
什么是内存泄漏
首先理解一下内存泄漏的概念,内存泄漏就是对象引用消失了,对象内存却没有被回收。
A 答案:FullGC 是老年代内存空间不足的时候,才会触发的,老年代一般是生命周期较长的对象或者大对象,频繁的 FullGC不会可能会影响程序性能(因为内存回收需要消耗CPU等资源),但是并不会直接导致内存泄漏。
B 答案:JVM奔溃的可能是内存溢出引起的,也可能是其他操作导致JVM崩溃,例如设置了错误的JVM参数等。
C 答案:内存异常,最常见的 就是 StackOverFlow了把,内存溢出,其实内存泄漏的最终结果就是内存溢出。所以,基本上C是对的答案。
D 答案:Java 进程异常消失,这个明显不对的。
题目有问题:
“程序抛内存控制的Exception”
java只有OutOfMemoryError,是Error。
java没有OutOfMemoryException。
C#倒是有OutOfMemoryException。
考点5:Java关键字 Java非法标识符
以下为 java 语法保留不能作为类名和方法名使用的是
- A default
- B int
- C implements
- D throws
显示答案/隐藏答案
正确答案: ABCDJava8关键字default也被使用了,所以正确答案应该全选
implements《注意有s结尾》是java实现接口的关键字,而implement则是普通单词,
default是保留字,
throws是抛出异常的关键字,所以正确答案是ABD
考点6:Java常见数据类型
int,String,*point,union
哪些不是 Java 的数据类型?
- A
int
- B
String
- C
*point
- D
union
显示答案/隐藏答案
正确答案: CD*point是指针,java中没有这种类型
union是C系的类型,java中没有
考点7:栈
如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是()
注:一个元素进栈后可以马上出栈,不用等全部进栈
- A e3,e1,e4,e2
- B e2,e4,e3,e1
- C e2,e3,e4,e1
- D 任意顺序都有可能
显示答案/隐藏答案
正确答案: BCA选项e3先出栈。那么e1,e2,e3进栈,e3出栈,如果e1想要出栈必须要e2先出栈,所以A是不可能的。
B选项
入栈顺序:e1进,e2进去又出来,e3进,e4进
出栈:e2、e4、e3、e1
C选项
入栈顺序:e1进,e2进去又出来,e3进去又出来,e4进
出栈:e2、e3、e4、e1