题目
关于instanceof的应用
正解为C,错解为A。
instanceof是java中的一个二元操作符,作用是测试它左边的对象是否是它右边的类的实例。
该题中 obj 对象声明为A类型,创建为D类型对象。D对象继承了B对象,B对象继承了A对象,而C对象又继承了B对象,也就是说,D并不是C的一个实例。
JVM内存不包含如下哪个部分( )
正解为D,错解为B。
错误原因:众所周知,JVM内存区域大概分为五块:堆,栈,本地方法区,程序计数器,方法区。
其中线程共享的是:堆,方法区。
PC寄存器也叫程序计数器。
如果要建立一个java.scut.computer的包,叙述正确的是? ( )
正解:A(存疑),错解:D
一般不能用java来命名,不然会报错。
而如果能够用java命名,那么package必须在非注释语句第一行。
总结:该题不严谨。
java中将ISO8859-1字符串转成GB2312编码,语句为 ?
JAVA有一个 public String(byte bytes[], Charset charset) 函数可以用指定字节数组和编码来构造字符串。一个 public byte[] getBytes(Charset charset) 函数把字符串按指定编码来得到字节数组。可以用这两个函数来实现编码转换。选A。
下面有关java object默认的基本方法,说法错误的是?
正解:B,错解:C
解析:Object类中只有以下几种方法。
- clone
- notify
- notifyAll
- toString
- wait(三个重载)
- finalize
- getClass
- hashCode
- equals
其中没有copy方法,只有clone方法。
下面哪个行为被打断不会导致InterruptedException:( )?
正解:E 错解:B
解答这个题,我们首先得了解InterruptedException。
官方源码解释是:
翻译:当线程在活动之前或者活动期间处于正在等待,休眠或占用状态且线程中断 时,抛出该异常。
抛InterruptedException的代表方法有:
- java.lang.Object 类的 wait 方法
- java.lang.Thread 类的 sleep 方法
- java.lang.Thread 类的 join 方法
而选项D这个类大概的意思就是一个可循环利用的屏障,属于并发的知识。它的await方法可以简单的理解为:等待多个线程同时到达之后才能继续进行,在此之前它就是这些线程的屏障,线程不能继续进行,而对于失败的同步尝试,CyclicBarrier 使用了一种要么全部要么全不 (all-or-none) 的破坏模式:如果因为中断、失败或者超时等原因,导致线程过早地离开了屏障点,那么在该屏障点等待的其他所有线程也将通过 BrokenBarrierException(如果它们几乎同时被中断,则用 interruptedException)以反常的方式离开。因此它被中断也是可以抛出interruptedException的。
E选项的方法以及被淘汰,不多了解。
从内存实现或者反射的角度来看,关于继承的说法正确的是()。注:此处的继承不代表能调用
正解:A,错解:B
子类将会继承父类的所有的数据域和方法,只是对于调用有所限制,否则反射也无法去调用。
Java中的集合类包括ArrayList、LinkedList、HashMap等类,下列关于集合类描述正确的是()(多选)
正解:ABD
ArrayList底层是一个动态数组,而LinkedList底层是一个链表,所以在访问的时候ArrayList是更快一些,而LinkedList在删除元素和增加元素的时候是更为快速的。
HashMap是可以插入null值的,但是HashTable不可以。
Java 提供的事件处理模型是一种人机交互模型。它有三个基本要素
正解:ABD 错解:ACD
解析:面向过程的语言中没有对象这个概念,面向对象的语言中没有过程这个概念。
以下关于final关键字说法错误的是()
正解:AC 错解:AD
可以重载,不能重写。
java中关于继承的描述正确的是()
正解:ACD 错解:AD
继承具有传递性,背的。
往OuterClass类的代码段中插入内部类声明, 哪一个是错误的: (多选)
正解:ABCD 错解: AD
主要考核了这几个知识点:
- 静态内部类才可以声明静态方法
- 静态方法不可以使用非静态变量
- 抽象方法不可以有函数体
下列JAVA程序的运行结果是什么
正解:D 错解:A
三元运算符会自动提升精度。
下面的Java赋值语句哪些是有错误的 ()(多选)
正解:BF 错解:BE
解析:float赋值的时候需要在值后面加上一个l,Double类型赋值的时候需要是一个小数,或者在数后面加上d。
以下各类中哪几个是线程安全的?( ) (多选)
正解:BCD 错解:BC
解析:看错了,没看到Stack。
Math.floor(-8.5)=( )
正解:D 错解:B
解析:
- floor(地板)代表向下取整,返回double
- ceil(天花板)代表向上取整,返回double
- round代表四舍五入,返回int
下面有关webservice的描述,错误的是?
正解:B 错解:D
解析:webservice没听过,查看题解后得知其为xml数据交换。
以下代码段执行后的输出结果为
不能用来修饰interface的有( )(仅限外部接口)(多选)
正解:ACD 错解:CD
解析:接口的权限修饰符只能够使用 public 和 缺省。
Java类Demo中存在方法func1、func2、func3和func4,请问该方法中,哪些是不合法的定义?
正解:AD 错解:ABC
解析:范围更小的数值类型可以自动转为范围更大的数值类型。
在jdk 1.7中,以下说法正确的是( )。
正解:A 错解:C
解析:限制1.7,1.8接口中也可以写方法了,所以屏蔽。
下面为ture的是
正解:G 错解:E
解析:equals类会先比较是否为同一类型的类,如果不是就直接返回 false。
下列说法正确的是
正解:D 错解: B
解析:
intValue()是把Integer对象类型变成int的基础数据类型;
parseInt()是把String 变成int的基础数据类型;
Valueof()是把String 转化成Integer对象类型;(现在JDK版本支持自动装箱拆箱了。)
本题:parseInt得到的是基础数据类型int,valueof得到的是装箱数据类型Integer,然后再通过valueInt转换成int,所以选择D
String s = new String(“xyz”);创建了几个StringObject?
正解:A 错解:B
解析:如果常量池中有“xyz”,那么就是一个,不然就是两个。
关于Java的抽象类、接口,以下描述错误的是?
正解:C 错解:B
解析:抽象类只是一个不能够实例化的类,除了不能实例化和可能带有抽象方法之外都跟普通类一致。其中可以有普通方法。
非抽象类实现接口后,必须实现接口中的所有抽象方法,除了abstract外,方法头必须完全一致.
正解:B 错解:A
实际上这道题考查的是两同两小一大原则:
方法名相同,参数类型相同
子类返回类型小于等于父类方法返回类型,
子类抛出异常小于等于父类方法抛出异常,
子类访问权限大于等于父类方法访问权限。
如果希望监听TCP端口9000,服务器端应该怎样创建socket?
正解:B 错解:A
解析:
new Socket(“localhost”,9000); //客户端连接端口
new ServerSocket(9000); //服务器端监听端口
在java中重写方法应遵循规则的包括()(多选)
正解:BC 错解:BD
解析:没看清题目。
下面选项中,哪些是interface中合法方法定义?() (多选)
正解:ACD 错解:CD
解析:众所周知,jdk1.8之后接口中可以写方法。
下面关于变量及其范围的陈述哪些是不正确的()(多选)
正解:BC 错解:BD
解析:局部变量当代码执行到该变量被赋值的代码时才被创建
关于Java的一些概念,下面哪些描述是正确的:( ) (多选)
正解:BF 错解:BD
解析:
D:finallize一些特殊情况下不会执行。
F:Synchronized修饰非静态方法,实际上是对调用该方法的对象加锁,俗称“对象锁”
Synchronized修饰静态方法,实际上是对该类对象加锁,俗称“类锁”。
下列代码编译和运行的结果是
正解:C 错解:A
解析:正常运行。
以下Java程序运行的结果是:
正解:A 错解:C
解析:方法传递是对象的一个副本。
哪个类可用于处理 Unicode?
正解A 错解:B
解析:单选选A,多选选AB。
下列关于容器集合类的说法正确的是?
正解:C 错解:A
解析:
A:继承AbstractList
下面代码在main()方法中第八行后可以正常使用的是()
正解:AD 错解:ABD
解析:static方法里没有this的说法。
以下哪种方式实现的单例是线程安全的
正解:ABCD 错解:BD
解析:实现单例模式的方法有六种
- 懒汉式(线程不安全)
- 饿汉式(线程安全)
- 懒汉式(线程安全)
- 双重检查锁实现(线程安全)
- 静态内部类实现(线程安全)
- 枚举类实现(线程安全)
下面有关值类型和引用类型描述正确的是
正解:ABC 错解:ACD
解析:引用类型变量也在栈上,只是这个对象实体在堆上。
内部类(也叫成员内部类)可以有4种访问权限。
正解:A 错解:B
解析:内部类也可以看做类的成员,所以其也有四种访问权限。
以下哪项不属于java类加载过程?
正解:A 错解:B
解析:
不会生成Class类对象。
下列程序的运行结果
正解:A 错解:B
解析:无论是什么情况,都只会抛出一个异常。
下面哪些语法结构是正确的?
正解:AC 错解:ACD
解析:看错了。。。
下面有关java的instanceof、?、&、&&说法正确的有?(多选)
正解:ABCD 错解:ABD
解析:
下面哪些类可以被继承? Java.lang.Thread、java.lang.Number、java.lang.Double、java.lang.Math、 java.lang.ClassLoader(多选)
正解:ABE 错解:ABCD
解析:CD是由final修饰的类。
以下哪个不属于JVM堆内存中的区域()?
正解:B 错解:A
解析:jvm堆分为:新生代(一般是一个Eden区,两个Survivor区),老年代(old区)。
常量池属于 PermGen(方法区)
try块后必须有catch块。
catch可以省略
以下哪个区域不属于新生代?
正解:C
from和to都是Survious区域。