java基础10题

本文解析了Java中Daemon线程setDaemon()方法的正确调用时机——必须在启动前,并澄清构造方法的特性。还讨论了内存区域、构造方法、包和Servlet配置,以及Java Socket编程细节。
摘要由CSDN通过智能技术生成

1.Java的Daemon线程,setDaemon( )设置必须要?
A.在start之前
B.在start之后
C.前后都可以
2.以下关于构造方法的描述错误的是 。
A.构造方法的返回类型只能是void型。
B.构造方法是类的一种特殊方法,它的方法名必须与类名相同。
C.构造方法的主要作用是完成对类的对象的初始化工作。
D.一个类可以定义多个构造方法。
3.以下描述错误的一项是( )?
A.程序计数器是一个比较小的内存区域,用于指示当前线程所执行的字节码执行 到了第几行,是线程隔离的
B.原则上讲,所有的对象都是在堆区上分配内存,是线程之间共享的
C.方法区用于存储JVM加载的类信息、常量、静态变量,即使编译器编译后的代码等数据,是线程隔离的
D.Java方法执行内存模型,用于存储局部变量,操作数栈,动态链接,方法出口等信息,是线程隔离的
4.下面代码执行结果为

public class Demo{
    public static void main(String[] args){
        System.out.print(getNumber(0));
        System.out.print(getNumber(1));
        System.out.print(getNumber(2));
        System.out.print(getNumber(4));
    }

    public static int getNumber(int num){
        try{
            int result = 2 / num;
            return result;
        }catch (Exception exception){
            return 0;
        }finally{
            if(num == 0){
                return -1;
            }
            if(num == 1){
                return 1;
            }
        }
    }    
}

5.ServletConfig接口默认是哪里实现的?
A.Servlet
B.GenericServlet
C.HttpServlet
D.用户自定义servlet
6.不考虑反射机制,一个子类显式调用父类的构造器必须用super关键字。( )
A.正确
B.错误
7.下列哪个修饰符可以使在一个类中定义的成员变量只能被同一包中的类访问?
A.private
B.无修饰符
C.public
D.protected
8.下列关于包(package)的描述,正确的是()
A.包(package)是Java中描述操作系统对多个源代码文件组织的一种方式。
B.import语句将所对应的Java源文件拷贝到此处执行。
C.包(package)是Eclipse组织Java项目特有的一种方式。
D.定义在同一个包(package)内的类可以不经过import而直接相互使用。
9.关于 Socket 通信编程,以下描述正确的是:( )
A.客户端通过new ServerSocket()创建TCP连接对象
B.客户端通过TCP连接对象调用accept()方法创建通信的Socket对象
C.客户端通过new Socket()方法创建通信的Socket对象
D.服务器端通过new ServerSocket()创建通信的Socket对象
10.以下哪种JAVA的变量表达式使得变量a和变量b具有相同的内存引用地址( )
A.String a = “hello”; String b = “hello”;
B.Integer a; Integer b = a;
C.int a = 1; Integer b = new Integer(1);
D.int a = 1; Integer b = 1;

(1)答案是A
setDaemon()方法必须在线程启动之前调用,当线程正在运行时调用会产生异常。
(2)答案选A。
A:构造方法是一种特殊的方法,它没有返回值,这里没有返回值的意思不是void,void是返回值为空的意思
(3)C
方法区: 1.又叫静态区,跟堆一样,被所有的线程共享。方法区包含所有的class和static变量。 2.方法区中包含的都是在整个程序中永远唯一的元素,如class,static变量。
(4)-1110
try,catch,finally中:
num=0,捕获异常,执行catch语句,catch中返回0,执行finally语句,finally语句中返回-1,于是返回finally中的-1;
num=1,try中返回2,执行finally语句,finally语句中返回1,于是返回finally中的1;
num=2,try中返回1,执行finally语句,finally语句中没有返回,于是返回try中的1;
num=4,try中返回0,执行finally语句,finally语句中没有返回,于是返回try中的0.
(5)选B
GenericServlet类的实现接口中包括了ServletConfig接口,但是它自身的init(ServletConfig config)方法又需要外界给它传递一个实现ServletConfig的对象,就是说GenericServlet和ServletConfig的依赖关系既是继承关系,也是一种关联关系。
(6)应该是正确的,题目中说的是子类显示调用父类中的构造方法必须使用super关键字;如果子类没有显示调用父类中的构造方法,则系统默认会调用父类中的无参构造方法;若此时父类中没有定义无参构造方法则会报错。
(7)B
解题要点:
1、public:任何地方均可访问;
2、private:只限类的内部访问;
3、protected:受保护的,类的内部可访问;同一个包下的不管是否有继承关系均可访问;不同包下只有有继承关系的才可访问;
4、默认(default):类的内部可访问;同一个包下不管是否有继承关系均可访问;不同包下不管有没有继承关系都不能访问。
(8)A:Java是跨平台的,跟操作系统无关。
B:不是拷贝,仅仅是引入,告诉编译器有使用外部文件,编译的时候要去读取这个外部文件
(9)C
服务器端通过new ServerSocket()创建TCP连接对象
接纳客户端请求的函数是accept
(10)正确答案: A B
默认基本类型属于局部变量,地址在栈区;
对象的引用地址存储在堆区,不使用new则不分配空间,实行浅拷贝。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Nicholas_giao

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

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

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

打赏作者

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

抵扣说明:

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

余额充值