2021/8/21错题

这篇博客探讨了Java编程中的类加载顺序、调试工具、Servlet包名、线程局部存储TLS以及内部类声明的规则。内容涉及类加载、错误调试、HTTP编程、线程安全及类结构设计等多个方面,旨在帮助读者巩固Java基础知识。
摘要由CSDN通过智能技术生成

场景:

在练习

错题1描述:

子类A继承父类B, A a = new A(); 则父类B构造函数、父类B静态代码块、 父类B非静态代码块、子类A构造函数、子类A静态代码块、子类A非静态代码块 执行的先后顺序是?


A.父类B静态代码块->父类B构造函数->子类A静态代码块->父类B非静态代码块
->子类A构造函数->子类A非静态代码块


B.父类B静态代码块->父类B构造函数->父类B非静态代码块->子类A静态代码块
->子类A构造函数->子类A非静态代码块

C.父类B静态代码块->子类A静态代码块->父类B非静态代码块->父类B构造函数
->子类A非静态代码块->子类A构造函数

D.父类B构造函数->父类B静态代码块->父类B非静态代码块->子类A静态代码块
->子类A构造函数->子类A非静态代码块

当实例化子类对象时,首先要加载父类的class文件进内存,静态代码块是随着类的创建而执行,所以父类静态代码块最先被执行,子类class文件再被加载,同理静态代码块被先执行;实例化子类对象要先调用父类的构造方法,而调用父类构造方法前会先执行父类的非静态代码块

答案:C (我做出来了,觉得这题比较重要就拎出来了)


原因分析:

safd

错题2描述:

下列哪个选项是Java调试器?如果编译器返回程序代码的错误,可以用它对程序进行调试

A.java

B.javadoc

C.jdb

D.javaprof
 

原因分析:

java,exe是java虚拟机
javadoc.exe用来制作java文档
jdb.exe是java的调试器
javaprof,exe是剖析工具

答案:C


错题3描述:

常用的servlet包的名称是?

A.java.servlet

B.javax.servlet

C.servlet.http

D.javax.servlet.http


原因分析:

JEE5.0中的Servlet相关的就下面这几个包:
javax.servlet
javax.servlet.jsp
java.servlet.jsp.el
java.servlet.jsp.tagext
而最用得多的就是
javax.servlet
javax.servlet.http
这两个包了.

答案:B D


错题4描述:

对于线程局部存储TLS(thread local storage),以下表述正确的是

A.解决多线程中的对同一变量的访问冲突的一种技术

B.TLS会为每一个线程维护一个和该线程绑定的变量的副本

C.每一个线程都拥有自己的变量副本,从而也就没有必要对该变量进行同步了

D.Java平台的java.lang.ThreadLocal是TLS技术的一种实现


原因分析:

C:同一全局变量或者静态变量每个线程访问的是同一变量,多个线程同时访存同一全局变量或者静态变量时会导致冲突,尤其是多个线程同时需要修改这一变量时,通过TLS机制,为每一个使用该全局变量的线程都提供一个变量值的副本,每一个线程均可以独立地改变自己的副本,而不会和其它线程的副本冲突。C:选项后半句说没必要对变量进行同步错误。

答案:A B D


错题5描述:


往OuterClass类的代码段中插入内部类声明, 哪一个是错误的:(多选)
	
public class OuterClass{
    private float f=1.0f;
    //插入代码到这里
}


A	class InnerClass{
public static float func(){return f;}
}

B	abstract class InnerClass{
public abstract float func(){}
}

C	static class InnerClass{
protected static float func(){return f;}
}

D	public class InnerClass{
 static float func(){return f;}
}



原因分析:

主要考核了这几个知识点:
1.静态内部类才可以声明静态方法
2.静态方法不可以使用非静态变量
3.抽象方法不可以有函数体

A,静态方法不可调用非静态变量 (排除)
B. 抽象方法不能有方法体(排除)
C. 静态方法不可调用非静态变量(排除)
D. 内部类跟外部类都使用了public 修饰 (排除)

答案:A B C D


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

关于我成为程序员这档事

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

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

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

打赏作者

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

抵扣说明:

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

余额充值