天梯180322

1. (不定项)JVM中垃圾回收分为scanvenge gc full gc 。其中full GC 触发的条件可能有哪些()?

A. 栈空间满

B. 年轻代空间满

C. 老年代满

D. 持久代满

E. System.gc()

 

2. (不定项)有关线程的叙述正确的是()

A. 可以获得对任何对象的互斥锁。

B. 通过继承Thread类或实现 Runnable接口,可以获得对类中方法的互斥锁定。

C. 线程通过使用sychronized关键字 可以获得对象的互斥锁定

D. 线程调度算法是平台独立的

 

3. 下列叙述正确的是()

public class TestClass {

private static void testMethod() {

System.out.println(“test Method”);

}

public static void main(String[] args) {

((TestClass)null).testMethod();

}

}

A. 编译不通过

B. 编译通过,运行异常,NullPointerException

C. 编译通过,运行异常,IllegalArgumentException

D. 编译通过,运行异常,Exception

E. 运行正常,输出 test Method

 

4. 下面哪一项不是加载驱动程序的方法?

A. 通过 DriverManager.getConnection()方法加载

B. 调用方法 Class.forName();

C. 通过添加 系统的 jdbc.drivers 属性

D. 通过 registerDriver 方法注册

 

5. 执行下面函数的输出是()

Class Foo {

final int i;

int j;

public void doSomething() {

System.out.println(++j + i);

}

}

A. 0

B. 1

C. 2

D. 编译错误

 

 

//----------------------------------------分割线---------------------------------------------

答案:

 

CDE

CD

E

A

D

 

 

 

 

 

天梯180322 (答案解析)

 

答案详解:

1. JVM 类型题

新生代:  一,所有对象创建在新生代的Eden区,当Eden区满了之后触发新生代的Minor GC,将Eden区和非空闲Sruvivor区存活的对象 复制到 另外一个空闲的Survivor区中。二,保证一个survivor区是空的,新生代MinorGC 就是在两个survivor区之间相互复制存活对象,直到Survivor区满为止。

老年代: Survivor区也满了之后就通过Minor GC将对象复制到老年代。老年代也满了的话,就将触发Full GC,针对整个堆(包括新生代、老年代、持久代)进行垃圾回收。

持久代: 持久代如果满了,将触发Full GC

栈空间满了会抛出 StackOverFlow异常;

System.gc(): 建议JVM进行full GC

 

2. Java多线程相关类型题

A任何对象,太绝对,无访问权限的对象呢,

B 胡诌

C

D 线程调度 分为 协同式调度调度和抢占式调度,

Java使用的是 抢占式调度,也就是每个线程将由操作系统来分配执行时间,线程的切换不由线程本身来决定(不然JDK不会无法保证线程优先级的作用)。所以是平台独立。

 

3. null 可以被强制类型转换成 任意类型(不是任意类型对象!),所以可以用它来执行静态方法。(要知道 对象.静态方法也是可以调用的,虽然不符合语法。你要这么想也行)

 

4. 加载驱动有3种方法,但A选项显然不是,A是获取数据库连接的方法。

5. final 类型的变量  必须 初始化,因为final的变量不可更改。 初始化可以实现在  声明处、代码块、构造函数  中,否则编译报错。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值