Java基础题(五)

1.javac将源程序编译成.class字节码文件;java将字节码转为机器码,.exe程序

2. package语句必须作为源文件的第一条非注释性语句,一个源文件只能指定一个包,只能包含一条package语句

3. 在java中,无论在何处调用,使用静态属性必须以类名做前缀。(错)
解析:
1如果是本类使用,可以直接就用静态变量名。
2如果是其他类使用,可以使用类名来调用,也可以创建一个实例对象来调用。
3如果静态变量所在的类是静态类,那么不管在本类里或者在其他外部类,都可以直接使用静态变量名。

4. 一个类的构造器不能调用这个类中的其他构造器。( 错)
解析:
this(x),这种形式的调用就ok

5.
1.接口必须为public abstract,因为接口是高度抽象的类,它的存在就是被其他类实现。
2.接口中声明的变量必须为 public static final。
3.接口中定义的方法必须为public abstract,且没有方法体。

6. 事务隔离级别是由谁实现的?(C)
A. Java应用程序
B. Hibernate
C. 数据库系统
D. JDBC驱动程序
解析:
A,我们写java程序的时候只是设定事物的隔离级别,而不是去实现它
B,Hibernate是一个java的数据持久化框架,方便数据库的访问
C,事物隔离级别由数据库系统实现,是数据库系统本身的一个功能
D,JDBC是java database connector,也就是java访问数据库的驱动

7. 下面的方法,当输入为2的时候返回值是多少?()

public static int getValue(int i) {
        int result = 0;
        switch (i) {
        case 1:
            result = result + i;
        case 2:
            result = result + i * 2;
        case 3:
            result = result + i * 3;
        }
        return result;
}

解析:
switch结构中没有break的话,匹配完不会跳出,会继续匹配下一个case直到整个结构结束
所以:case 2结束时result=4;case3结束时result=10;

8. 有以下类定义,运行后为(B)::

abstract class Animal{
    abstract void say();
}
public class Cat extends Animal{
    public Cat(){
        System.out.printf("I am a cat");
    }
    public static void main(String[] args) {
        Cat cat=new Cat();
    }
}

A. I am a cat
B. Animal能编译,Cat不能编译
C. Animal不能编译,Cat能编译
D. 编译能通过,但是没有输出结果

解析:
当一个实体类继承一个抽象类时,有两种解决方法:
1实现抽象类中的全部抽象方法;
2用abstract修饰子类,不实现抽象方法,方法的实现交由别的类实现。

9. 在java7中,下列哪个说法是正确的(D)
A. ConcurrentHashMap使用synchronized关键字保证线程安全
B. HashMap实现了Collection接口
C. Arrays.asList方法返回java.util.ArrayList对象
D. SimpleDateFormat对象是线程不安全的
解析:
A项:hashMap在单线程中使用大大提高效率,在多线程的情况下使用hashTable来确保安全。hashTable中使用synchronized关键字来实现安全机制,但是synchronized是对整张hash表进行锁定即让线程独享整张hash表,在安全同时造成了浪费。concurrentHashMap采用分段加锁的机制来确保安全
B项:HashMap继承了AbstractMap类,实现的是Map接口
C项:Arrays.asList()
将一个数组转化为一个List对象,这个方法会返回一个ArrayList类型的对象, 这个ArrayList类并非java.util.ArrayList类,而是Arrays类的静态内部类!用这个对象对列表进行添加删除更新操作,就会报UnsupportedOperationException异常。

10. 下面哪段程序能够正确的实现了GBK编码字节流到UTF-8编码字节流的转换:(B)
byte[] src,dst;
A. dst=String.frombytes(src,”GBK”).getbytes(“UTF-8”)
B. dst=new String (src,”GBK”).getbytes(“UTF-8”)
C. dst=new String (”GBK”, src,) getbytes()
D. dst=String.encode(String.decode(src,”GBK”)), “UTF-8”)

解析:
String (byte[] bytes, String charsetName) 通过使用指定的 charset 解码指定的 byte 数组,构造一个新的String
String.getBytes(Charset charset) 使用给定的 charset 将此 String 编码到 byte 序列,并将结果存储到新的 byte 数组

11. 以下声明合法的是(B)
A. default String s
B. public final static native int w( )
C. abstract double d
D. abstract final double hyperbolicCosine( )

解析:
A:java的访问权限有public、protected、private和default的,default不能修饰变量
C:普通变量不能用abstract修饰,abstract一般修饰方法和类
D:被定义为abstract的类需要被子类继承,但是被修饰为final的类是不能被继承和改写的

12.
原子性-事务管理子系统
一致性-完整子系统
隔离性-并发控制子系统
持久性-恢复管理子系统

13. 以下程序的输出结果为(D)

class Base{
    public Base(String s){
        Syst
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

M1kasal

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值