天梯180404

天梯180404

 

1. (不定项)下列说法正确的是()?

A. 对于局部内部类,只有在方法的局部变量被标记为final或局部变量是effctively final的,内部类才能使用它们

B. 成员内部类位于外部类内部,可以直接调用外部类的所有方法(静态方法和非静态方法)

C. 由于匿名内部类只能用在方法内部,所以匿名内部类的用法与局部内部类是一致的

D. 静态内部类可以访问外部类的成员变量

 

2. jre 判断程序是否执行结束的标准是()

A. 所有的前台线程执行完毕

B. 所有的后台线程执行完毕

C. 所有的线程执行完毕

D. 和以上都无关

 

3. 下列关于Java并发的说法中正确的是()

A. CopyOnWriteArrayList适用于写多读少的并发场景

B. ReadWriteLock适用于读多写少的并发场景

C. ConcurrentHashMap的写操作不需要加锁,读操作需要加锁

D. 只要在定义int类型的成员变量i的时候加上volatile关键字,那么多线程并发执行i++这样的操作的时候就是线程安全的了

 

4. 下面有个hibernate延迟加载,说法错误的是?

A. Hibernate2延迟加载实现:a)实体对象 b)集合(Collection

B. Hibernate3 提供了属性的延迟加载功能

C. get支持延迟加载,load不支持延迟加

D. hibernate使用Java反射机制,而不是字节码增强程序来实现透明性

 

5. (不定项)下面哪些类可以被继承? Java.lang.Threadjava.lang.Numberjava.lang.Doublejava.lang.Mathjava.lang.ClassLoader

A. Thread

B. Number

C. Double

D. Math

E. ClassLoader

 

 

 

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

AB

A

B

C

ABE

 

答案详解:

1. 外部类和内部类是处于同一个级别的,内部类不会因为定义在方法中就随着方法执行完毕而被销毁。如果外部类的方法中变量不定义为final,那么外部类的方法执行完毕后,这个局部变量肯定被gc了。这时候内部类的某个方法还没执行完,却找不到他引用的外部变量了。如果定义为finalJava就会将这个变量复制一份作为成员变量置于内部类中,这样的话,final修饰的值始终无法改变,所以这个变量所指向的内存区域就不会变。

B,选项成员内部类是专指非静态的,静态内部类不能称之为成员

2. 前台线程和后台线程的区别和联系:

1、后台线程不会阻止进程的终止。属于某个进程的所有前台线程都终止后,该进程就会被终止。所有剩余的后台线程都会停止且不会完成。

2、可以在任何时候将前台线程修改为后台线程,方式是设置Thread.IsBackground 属性。

3、不管是前台线程还是后台线程,如果线程内出现了异常,都会导致进程的终止。

4、托管线程池中的线程都是后台线程,使用new Thread方式创建的线程默认都是前台线程。

 

3. ACopyOnWriteArrayList适用于写少读多(写加锁,读不加锁)的并发场景

BReadWriteLock即为读写锁,他要求写与写之间互斥,读与写之间互斥,

    读与读之间可以并发执行。在读多写少的情况下可以提高效率

CConcurrentHashMap是同步的HashMap,写加锁

Dvolatile保证多线程操作时变量的可见性,原子性。但是 i++不是原子性操作。

 

4. Hibernate get()load() 的区别:

1.get()采用立即加载方式,load()采用 延迟加载 ; get()方法执行的时候,会立即向数据库发出查询语句, load()方法返回的是一个代理(此代理中只有一个id属性),只有等真正使用该对象属性的时候,才会发出 sql语句 2.如果数据库中没有对应的记录,get()方法返回的是null.load()方法出现异常ObjectNotFoundException

 

5.

AThread可以被继承,用于创建新的线程

BNumber类可以被继承,IntegerFloatDouble等都继承自Number

CDouble类的声明为

public final class Doubleextends Numberimplements Comparable<Double>

  final生明的类不能被继承

DMath类的声明为

public final class Mathextends Object

   不能被继承

EClassLoader可以被继承,用户可以自定义类加载器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值