1.下列哪些是Thread类中的方法()
A start() B run() C exit() D getPriority()
解析:线程的就绪状态:新建线程后start()方法的调用,来启动线程,但此时线程并没有进入运行状态,只是线程就绪状态,等待cpu服务。
线程的运行状态:当线程获得cpu中的时间碎片,时进入运行状态。 此时调用线程对象的run()方法,此线程就定义啦该线程的操作和功能。
线程的堵塞状态:一个正在运行的线程在某种特殊下(执行耗时操作或调用sleep(),suspend(),wait( )等方法),会让出cpu并暂时进入堵塞状态,此时线程不能 进入排队队列,当堵塞消除后,线程可以转入就绪状态。
线程的死亡状态:当调用stop()或run()状态运行完后进入死亡状态。
getPriority()方法和setPriority()方法来存储线程的优先级。
exit()方法:是System类中的方法exit()方法的调用是用来关闭jvm 。 exit(0),是正常关闭jvm,非0是非正常关闭jvm. System.exit(0)//
2) 下列关于 java.lang.exception 类的说法正确的是()
A extends 于 Throwable B Serialable C 都不正确
解析:java异常的基类是( java.lang.Throwable , java.lang.Error, java.lang.Exception)都是extends 于 Throwable 类。
RuntimeException和其他的Exception 继承(extends)于Exception类,具体的RuntimeException继承于(extends)具体的RuntimeException
知识点的扩展:Error vs Exception
Error是不正常的错误,不应该出现的,用户不应该去 try/catch 这种错误,
3)下列代码段的结果()
- String str1="Hello";
- String str2="He"+new String("llo");
- System.out.println("str1=str2:"+(str1==str2)); 答案: false;
解析: “==”在java发中是判断引用是否相等(内存中的地址是否相等,并不是值相等),new String("llo")之后肯定是在堆内存中开辟内存空间,所以地址改变,若是
判断 String str1=str2; System.out.println("str1=str2:"+(str1=str2)); / 答案:true
4)下列说法中正确的是()
A class 类中constructor 不能省 B constructor 必须与class相同,但方法不能与class 相同。 C constructor 时在一个对象被new 时执行
D class中只能定义一个constructor
解析:constructor 是构造函数的意思。一般普通的方法可以与类名相同,普通方法与构造方法唯一的区别是构造方法没有返回值。
5)代码:
- public static void main(String[] args){
- Thread t=new Thread(){
- public void run(){
- pong();
- }
- };
- t.run();
- System.out.println("ping");
- }
- static void pong(){
- System.out.println("pong");
- }
结果:pong ping;
6)下列关系型数据库是()
A oracle B mysql C IMS D MongoDB
解析: IMS是IBM开发的两种数据库之一(一种是关系型数据库:DB2,一种是层次型数据库:IMS);非关系型数据库:MongoDB, Redis, memcachedb等。
7)gc的线程是否为守护线程
答:是, 线程分为守护线程和非守护线程(即用户线程),只有当jvm中非守护线程没有结束时,守护线程全部工作,当非守护线程结束时,守护线程会跟随jvm的结束,而结束。守护线程中最典型的应用是gc。
后续、、、、、、、、