NowCoder-Java-Note(三)

001.jpg

一、 以下的变量定义语句中,合法的是()

A.byte=128
B.boolean=null
C.long a=123L
D.double=0.9239d

解析:
  • byte表示的范围为[-128,127];
  • boolean的取值只能是true或false
  • D选项缺少变量名

答案:C

二、若在某一个类定义中定义有如下的方法: abstract void performDial( );该方法属于()

A.本地方法
B.最终方法
C.解态方法
D.抽象方法

解析:
  • 本地方法:简单地讲,一个native Method就是一个java调用非java代码的接口;native方法表示该方法要用另外一种依赖平台的编程语言实现。

  • 最终方法:final void B(){},这样定义的方法就是最终方法,最终方法在子类中不可以被重写,也就是说,如果有个子类继承了这个最终方法所在的类,那么这个子类中不能出现void B(){}这样的方法。

  • 最终类:final class A {},这样定义的类就是最终类,最终类不能被继承

  • abstract修饰抽象类。

答案:D

三、 有以下程序片段,下列哪个选项不能插入到行 1 。( )。

1.
2.public class A {
3.    //do sth
4.} 

A.public class MainClass{ }
B.package mine;
C.class ANotherClass{ }
D.import java.util.*;

解析:
  • Java的一个源程序只能有一个public类存在,且类名与文件名相同。java程序是从main方法开始执行的,public为类加载器提供入口,然后找到public类中的main方法开始执行。如果存在多个public类,程序将不知道从哪里开始执行。
  • 注意:内部类是可以public的,因为内部类是作为外部类的成员而存在。

答案:A

strlen.gif

四、执行如下程序,输出结果是( )

public class Test_Thread {
    public static void main(String[] args) {
        Test mv = new Test();
        Thread t1 = new ThreadExample(mv);
        Thread t2 = new ThreadExample(mv);
        Thread t3 = new ThreadExample(mv);
        t1.start();
        t2.start();
        t3.start();
    }
}
class Test{
    private int data;
    int result = 0;
    public void m(){
        result += 2;
        data += 2;
        System.out.print(result + "  " + data);
    }
}
class ThreadExample extends Thread{
    private Test mv;
    public ThreadExample(Test mv) {
        this.mv = mv;
    }
    @Override
    public void run() {
        synchronized (mv) {
            mv.m();
        }
    }
}

A.0 22 44 6
B.2 42 42 4
C.2 24 46 6
D.4 44 46 6

解析:

Test mv =newTest()声明并初始化对data赋默认值
使用synchronized关键字加同步锁线程依次操作m()
t1.start();使得result=2,data=2,输出即为2 2
t2.start();使得result=4,data=4,输出即为4 4
t3.start();使得result=6,data=6,输出即为6 6
System.out.print(result +" "+ data);是print()方法不会换行,输出结果为2 24 46 6

答案:C

五、以下哪项不属于java类加载过程?

A.生成java.lang.Class对象
B.int类型对象成员变量赋予默认值
C.执行static块代码
D.类方法解析

解析:
类加载过程 :
  • 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)和卸载(Unloading)7个阶段。其中准备、验证、解析3个部分统称为连接(Linking)。
    类加载过程

引用内容链接:
http://blog.csdn.net/u013256816/article/details/50829596

选项 :
  • 生成java.lang.Class对象是在加载时进行的。生成Class对象作为方法区这个类的各种数据的访问入口。

  • 既然是对象成员,那么肯定在实例化对象后才有。在类加载的时候会赋予初值的是类变量,而非对象成员。

  • 类方法解析发生在解析过程。

答案:B

六、下面哪个语句是创建数组的正确语句?( )

A.float f[][] = new float[6][6];
B.float []f[] = new float[6][6];
C.float f[][] = new float[][6];
D.float [][]f = new float[6][6];
E.float [][]f = new float[6][];

解析:
  • 数组命名时名称与[]可以随意排列,但声明的二维数组中第一个中括号中必须要有值,它代表的是在该二维数组中有多少个一维数组。

  • 如果定义一个这样的二维数组int a[3][4]={{1,3,5,7},{9,11,13,15},{17,19,21,23}};则其在内存中的表示可能下面这样的。

    001.png

答案:A B D E

引用内容链接:
https://www.cnblogs.com/bewolf/p/4321642.html

七、下面哪些属于JSP内置对象及方法?

A.request
B.out
C.application
D.config

解析:
JSP 有 9 个内置对象:
  • request:封装客户端的请求,其中包含来自 GET 或 POST 请求的参数;
  • response:封装服务器对客户端的响应;
  • session:封装用户会话的对象;
  • application:封装服务器运行环境的对象;
  • out:输出服务器响应的输出流对象;
  • config:Web 应用的配置对象;
  • pageContext:通过该对象可以获取其他对象;
  • page:JSP 页面本身(相当于 Java 程序中的 this);
  • exception:封装页面抛出异常的对象

答案:A B C D

八、final、finally和finalize的区别中,下述说法正确的有?

A.final用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。
B.finally是异常处理语句结构的一部分,表示总是执行。
C.finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源的回收,例如关闭文件等。
D.引用变量被final修饰之后,不能再指向其他对象,它指向的对象的内容也是不可变的。

解析:
  • B选项→
    PS:finally 是无论是否有异常都会被处理的语句,除非在 finally 前存在被执行的System.exit(int i)时除外。
  • C选项:JVM 不保证此方法总被调用
  • D选项:使用final修饰一个变量时,是指引用变量不能变引用变量所指向对象中的内容可以改变。

答案:A B

九、下列方法中哪个是线程执行的方法? ()

A.run()
B.start()
C.sleep()
D.suspend()

解析:
  • run()方法用来执行线程体中具体的内容;
    start()方法用来启动线程对象,使其进入就绪状态
    sleep()方法用来使线程进入睡眠状态
    suspend()方法用来使线程挂起,需要通过resume()方法使其重新启动,不推荐使用。
注:线程的生命周期及五种基本状态:

关于Java中线程的生命周期,首先看一下下面这张较为经典的图:


线程的生命周期
  • Java线程具有五种基本状态:
  1. 新建状态(New):当线程对象创建后,即进入了新建状态,如:
    Thread t = new MyThread();

  2. 就绪状态(Runnable):当调用线程对象的start()方法(t.start();),线程即进入就绪状态。处于就绪状态的线程,只是说明此线程已经做好了准备,随时等待CPU调度执行,并不是说执行了t.start()此线程立即就会执行;

  3. 运行状态(Running):当CPU开始调度处于就绪状态的线程时,此时线程才得以真正执行,即进入到运行状态。注:就 绪状态是进入到运行状态的唯一入口,也就是说,线程要想进入运行状态执行,首先必须处于就绪状态中;

  4. 阻塞状态(Blocked):处于运行状态中的线程由于某种原因,暂时放弃对CPU的使用权,停止执行,此时进入阻塞状态,直到其进入到就绪状态,才 有机会再次被CPU调用以进入到运行状态。根据阻塞产生的原因不同,阻塞状态又可以分为三种:
    1.等待阻塞:运行状态中的线程执行wait()方法,使本线程进入到等待阻塞状态;
    2.同步阻塞 -- 线程在获取synchronized同步锁失败(因为锁被其它线程所占用),它会进入同步阻塞状态;
    3.其他阻塞 -- 通过调用线程的sleep()join()或发出了I/O请求时,线程会进入到阻塞状态。当sleep()状态超时、join()等待线程终止或者超时、或者I/O处理完毕时,线程重新转入就绪状态。

  5. 死亡状态(Dead):线程执行完了或者因异常退出了run()方法,该线程结束生命周期。
    引用内容链接:
    https://www.cnblogs.com/lwbqqyumidi/p/3804883.html

答案:A

十、以下哪些类是线程安全的()

AVector
B.HashMap
C.ArrayList
D.StringBuffer
E.Properties

解析:
java中的线程安全是什么:
  • 就是线程同步的意思,就是当一个程序对一个线程安全的方法或者语句进行访问的时候,其他的不能再对他进行操作了,必须等到这次访问结束以后才能对这个线程安全的方法进行访问
线程安全一般会涉及到synchronized
  • 查看源代码,可以发现Vector,StringBuffer,Properties许多操作都加了synchronized修饰。

答案:A D E

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342

推荐阅读更多精彩内容