1、下面代码输出是?

enum AccountType
{SAVING, FIXED, CURRENT;private AccountType(){System.out.println("It is a account type");}
}
class EnumOne
{public static void main(String[]args){System.out.println(AccountType.FIXED);}
}

正确答案: C
编译正确,输出”It is a account type”once followed by”FIXED”
编译正确,输出”It is a account type”twice followed by”FIXED”
编译正确,输出”It is a account type”thrice followed by”FIXED”
编译正确,输出”It is a account type”four times followed by”FIXED”
编译错误

答案:C 枚举类有三个实例,故调用三次构造方法,打印三次It is a account type

2、下列关于Java语言中String和char的说法,正确的是()

正确答案: C
String是Java定义的一种基本数据类型。
String是以“\0”结尾的char类型的数组char[]。
使用equals()方法比较两个String是否内容一样(即字符串中的各个字符都一样)。
Char类型在Java语言里面存储的是ASCII码。

A选项:Java基本数据类型共有八大类,这八大数据类型又可分为四小类,分别是整数类型(byte/short/int/long)、浮点类型(float、double)、字符类型(char)和布尔类型(boolean),其中并不包括String。

B选项中是C语言当中的String,Java的String虽然也是char类型的数组char[]实现的,但并不以“\0”结尾。

C选项正确,String类重写了Object类的equals()方法,使用equals()方法可以用于比较两个String是否内容一样。

D选项, char 类型的编码是Unicode 编码。

3、以下说法错误的是()

正确答案: D
虚拟机中没有泛型,只有普通类和普通方法
所有泛型类的类型参数在编译时都会被擦除
创建泛型对象时请指明类型,让编译器尽早的做参数检查
泛型的类型擦除机制意味着不能在运行时动态获取List中T的实际类型

4、说明输出结果。

import java.util.Date;
public class SuperTest extends Date{ private static final long serialVersionUID = 1L; private void test(){ System.out.println(super.getClass().getName()); } public static void main(String[]args){ new SuperTest().test(); }
}

正确答案: C
SuperTest
SuperTest.class
test.SuperTest
test.SuperTest.class

C.
TestSuper和Date的getClass都没有重写,他们都是调用Object的getClass,而Object的getClass作用是返回的是运行时的类的名字。这个运行时的类就是当前类,所以
super.getClass().getName() 返回的是test.SuperTest,与Date类无关
要返回Date类的名字需要写super.getClass().getSuperclass()

5、
java中关于继承的描述正确的是()
正确答案: A C D
一个子类只能继承一个父类
子类可以继承父类的构造方法
继承具有传递性
父类一般具有通用性,子类更具体

子类不可以继承父类的构造方法,只可以调用父类的构造方法

6、下面有关forward和redirect的描述,正确的是() ?
正确答案: B C D
forward是服务器将控制权转交给另外一个内部服务器对象,由新的对象来全权负责响应用户的请求
执行forward时,浏览器不知道服务器发送的内容是从何处来,浏览器地址栏中还是原来的地址
执行redirect时,服务器端告诉浏览器重新去请求地址
forward是内部重定向,redirect是外部重定向
redirect默认将产生301 Permanently moved的HTTP响应

7、
下列哪些方法是针对循环优化进行的
正确答案: A B D
强度削弱
删除归纳变量
删除多余运算
代码外提

8、在 main() 方法中给出的整型数组,如果将其写到一个文件中,需要( )。

正确答案: B
A 、System.out.print (buffer[i]);
B、 DataOutputStream dout = new DataOutputStream(new FileOutputStream(this.filename));
C 、DataInputStream din = new DataInputStream(new FileInputStream(this.filename));。
D 、System.in.read(buffer)。

input和output指的是对于程序而言。input是从文件读取进来,output是输出到文件。

9、关于访问权限说法正确 的是 ? ( )

正确答案: B
外部类前面可以修饰public,protected和private
成员内部类前面可以修饰public,protected和private
局部内部类前面可以修饰public,protected和private
以上说法都不正确

( 1 )对于外部类而言,它也可以使用访问控制符修饰,但外部类只能有两种访问控制级别: public和默认。因为外部类没有处于任何类的内部,也就没有其所在类的内部、所在类的子类两个范围,因此 private 和 protected
访问控制符对外部类没有意义。

( 2 )内部类的上一级程序单元是外部类,它具有 4 个作用域:同一个类( private )、同一个包( protected)和任何位置( public )。

( 3 )因为局部成员的作用域是所在方法,其他程序单元永远不可能访问另一个方法中的局部变量,所以所有的局部成员都不能使用访问控制修饰符修饰。

10、下列有关Servlet的生命周期,说法不正确的是?
正确答案: A
在创建自己的Servlet时候,应该在初始化方法init()方法中创建Servlet实例

在Servlet生命周期的服务阶段,执行service()方法,根据用户请求的方法,执行相应的doGet()或是doPost()方法

在销毁阶段,执行destroy()方法后会释放Servlet 占用的资源

destroy()方法仅执行一次,即在服务器停止且卸载Servlet时执行该方法

答案:A 创建Servlet的实例是由Servlet容器来完成的,且创建Servlet实例是在初始化方法init()之前

11、关于Java的一些概念,下面哪些描述是正确的:( )
正确答案: B F
所有的Java异常和错误的基类都是java.lang.Exception, 包括java.lang.RuntimeException

通过try … catch … finally语句,finally中的语句部分无论发生什么异常都会得到执行

java中所有的数据都是对象

Java通过垃圾回收回收不再引用的变量,垃圾回收时对象的finallize方法一定会得到执行

Java是跨平台的语言,无论通过哪个版本的Java编写的程序都能在所有的Java运行平台中运行

Java通过synchronized进行访问的同步,synchronized作用非静态成员方法和静态成员方法上同步的目标是不同的

A.错误(Error)的基类是Throwable
C.基本类型不是对象
D.垃圾回收器并不总是工作,只有当内存资源告急时,垃圾回收器才会工作;即使垃圾回收器工作,finalize方法也不一定得到执行,这是由于程序中的其他线程的优先级远远高于执行finalize()函数线程的优先级。
E.低版本JRE无法运行高版本JRE

12、正确答案: A D
Statement sta=con.createStatement();
ResultSet rst=sta.executeQuery(“select * from book”);

Statement sta=con.createStatement(“select * from book”);
ResultSet rst=sta.executeQuery();

PreparedStatement pst=con.prepareStatement();
ResultSet rst=pst.executeQuery(“select * from book”);

PreparedStatement pst=con.prepareStatement(“select * from book”);
ResultSet rst=pst.executeQuery();

A,D是正确的;创建Statement是不传参的,PreparedStatement是需要传入sql语句

13、在开发中使用泛型取代非泛型的数据类型(比如用ArrayList取代ArrayList),程序的运行时性能会变得更好。()
正确答案: B
正确
错误

使用泛型的好处 1,类型安全。 泛型的主要目标是提高 Java
程序的类型安全。通过知道使用泛型定义的变量的类型限制,编译器可以在一个高得多的程度上验证类型假设。没有泛型,这些假设就只存在于程序员的头脑中(或者如果幸运的话,还存在于代码注释中)。

2,消除强制类型转换。 泛型的一个附带好处是,消除源代码中的许多强制类型转换。这使得代码更加可读,并且减少了出错机会。

3,潜在的性能收益。
泛型为较大的优化带来可能。在泛型的初始实现中,编译器将强制类型转换(没有泛型的话,程序员会指定这些强制类型转换)插入生成的字节码中。但是更多类型信息可用于编译器这一事实,为未来版本的
JVM 的优化带来可能。由于泛型的实现方式,支持泛型(几乎)不需要 JVM
或类文件更改。所有工作都在编译器中完成,编译器生成类似于没有泛型(和强制类型转换)时所写的代码,只是更能确保类型安全而已。

所以泛型只是提高了数据传输安全性,并没有改变程序运行的性能

14、下列正确的 Java 语言标识符是( )

正确答案: C
Sky
$Computer
for
NULL

15、当我们需要所有线程都执行到某一处,才进行后面的的代码执行我们可以使用?
正确答案: B
CountDownLatch
CyclicBarrier
Semaphore
Future

CountDownLatch:一个或者多个线程,等待其他多个线程完成某件事情之后才能执行;
CyclicBarrier:多个线程互相等待,直到到达同一个同步点,再继续一起执行。
对于CountDownLatch来说,重点是“一个线程(多个线程)等待”,而其他的N个线程在完成“某件事情”之后,可以终止,也可以等待。
而对于CyclicBarrier,重点是多个线程,在任意一个线程没有完成,所有的线程都必须互相等待,然后继续一起执行。
CountDownLatch是计数器,线程完成一个记录一个,只不过计数不是递增而是递减,而CyclicBarrier更像是一个阀门,需要所有线程都到达,阀门才能打开,然后继续执行。
按照这个题目的描述等所有线程都到达了这一个阀门处,再一起执行,此题强调的是,一起继续执行,我认为 选B 比较合理!

16、代码片段:

byte b1=1,b2=2,b3,b6;
final byte b4=4,b5=6;
b6=b4+b5;
b3=(b1+b2);
System.out.println(b3+b6);

关于上面代码片段叙述正确的是()
正确答案: C
输出结果:13
语句:b6=b4+b5编译出错
语句:b3=b1+b2编译出错
运行期抛出异常

C. 被final修饰的变量是常量,这里的b6=b4+b5可以看成是b6=10;在编译时就已经变为b6=10了
而b1和b2是byte类型,java中进行计算时候将他们提升为int类型,再进行计算,b1+b2计算后已经是int类型,赋值给b3,b3是byte类型,类型不匹配,编译不会通过,需要进行强制转换。
Java中的byte,short,char进行计算时都会提升为int类型。

17、关于下面一段代码,以下说法正确的是: ()

public class Test {private synchronized void a() {}private void b() {synchronized (this) {}}private synchronized static void c() {}private void d() {synchronized (Test.class) {}}
}

正确答案: A C
同一个对象,分别调用方法a和b,锁住的是同一个对象
同一个对象,分别调用方法a和c,锁住的是同一个对象
同一个对象,分别调用方法b和c,锁住的不是同一个对象
同一个对象,分别调用方法a、b、c,锁住的不是同一个对象

方法a为同步方法,方法b里面的是同步块,同步方法使用的锁是固有对象this,同步块使用的锁可以是任意对象,但是方法b里面的同步块使用的锁是对象this,所以方法a和方法b锁住的是同一个对象。方法
c为静态同步方法,使用的锁是该类的字节码文件,也就是Test.class。方法d里面的也是同步块,只不过使用的锁是Test.class,所以方法c和方法d锁住的是同一个对象。

18、JDK提供的用于并发编程的同步器有哪些?
正确答案: A B C
Semaphore
CyclicBarrier
CountDownLatch
Counter

A,Java 并发库 的Semaphore 可以很轻松完成信号量控制,Semaphore可以控制某个资源可被同时访问的个数,通过
acquire() 获取一个许可,如果没有就等待,而 release() 释放一个许可。
B,CyclicBarrier
主要的方法就是一个:await()。await() 方法没被调用一次,计数便会减少1,并阻塞住当前线程。当计数减至0时,阻塞解除,所有在此
CyclicBarrier 上面阻塞的线程开始运行。
C,直译过来就是倒计数(CountDown)门闩(Latch)。倒计数不用说,门闩的意思顾名思义就是阻止前进。在这里就是指
CountDownLatch.await() 方法在倒计数为0之前会阻塞当前线程。 D,Counter不是并发编程的同步器

19、下面的switch语句中,x可以是哪些类型的数据:()

switch(x)
{default:
System.out.println("Hello");
}

正确答案: B D F
long
char
float
byte
double
String

以java8为准,switch支持10种类型 基本类型:byte char short int 对于包装类
:Byte,Short,Character,Integer String enum

java笔试题含答案总结相关推荐

  1. java笔试题含答案总结五

    1.正确的是() A.LinkedList 继承自 List B.TreeMap 继承自 HashMap C.HashSet 继承自 AbstractSet D.AbstractSet 继承自 Set ...

  2. 北大青鸟Java内侧答案_北大青鸟推荐:Java精选笔试题(含答案解析)

    北大青鸟推荐:Java精选笔试题(含答案解析)如果你是计算机专业出生,但是还没有找到工作的话,你就得补补技术了,一些关于面试.笔试的题要多刷一刷.有可能你知道答案,但是由于语言组织能力有所欠缺,所以面 ...

  3. vf省计算机考试题库,四川省33次计算机等级考试vf笔试题(含答案).

    四川省33次计算机等级考试vf笔试题(含答案). (6页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 24.9 积分 ...第一部分 软件技术基础一.是非 ...

  4. 博彦科技JAVA笔试题及答案

    博彦科技JAVA笔试题及答案 一.单选题 15题*4分=60分 1.链表不具有的特点是(). A.插入.删除不需要移动元素: B.可随机访问任一元素: C.不必事先估计存储空间: D.所需空间与线性长 ...

  5. c语言错误 xef代表什么,C语言(次)笔试题含答案【DOC精选】.doc

    C语言(次)笔试题含答案[DOC精选] 第二十二次等级考试 二级(C与C++语言) 笔 试 试 卷 时间: 2005年4月16日 上午 9:00-11:00 第一部分 软件技术基础 (共15分) 一. ...

  6. java 字符串乱码_这份Java面试题含答案解析竟然真的让你不用在面试上“如履薄冰”...

    面试题集共分为以下十部分: 一.Core Java: 1 - 95 题1 - 24 页 基础及语法: 1 - 61 题1 - 13 页 异常: 62 - 69 题13 - 15 页 集合: 70 - ...

  7. 贵港java_贵港人才网:经典java笔试题及答案分享

    经典java笔试题及谜底,共享与参考: 1.Anonymous Inner Class (匿名里面类) 是否能够extends(秉承)别的类,是否能够implements(完成)interface(接 ...

  8. java高级工程师笔试题含答案_java高级工程师笔试题

    java高级工程师笔试题 选择题 1:which is the main() method return of a application? a.string b.byte c.char d.void ...

  9. 【撷英采华】阿里面试Linux基础笔试题-含答案

    文章目录 一. 阿里面试流程 二. 阿里原题限时答题 三. 参考答案: 四. 总结 一. 阿里面试流程 阿里的面试一般分为笔试和电话面试. 很多大的外包公司都在帮阿里招聘,所以他们的候选人很多. 所以 ...

最新文章

  1. python序列类型-Python基础-序列类型的常用方法
  2. Postgres 9.5的特性及未来发展方向
  3. 爬虫的步骤解析内容xpath介绍_爬虫入门到精通-网页的解析(xpath)
  4. IOS之代理文字点击变大变小
  5. wp自定义帖子没标签_拼多多搜索智能推广和自定义推广区别在哪里?
  6. 俞渝欲花费百万召开“抢章座谈会” ?当当网回应来了
  7. java如何关闭线程池_如何优雅的关闭Java线程池
  8. 吴恩达机器学习之单变量线性回归理论部分
  9. 【二十三】win 10 :Jmeter 报告可视化 —— 配置生成测试报告仪表板,Jmeter + Jenkins 自动化构建生成 HTML 报告
  10. NIO的基本概念和缓冲区
  11. python怎样更新requests库-足球运动员的体能训练
  12. 无损连接和保持依赖性(有脑就行,尽量说人话版本)
  13. 微信小程序之生成海报保存本地
  14. Java 练习题:求平方根
  15. 使用Puppeteer轻松爬取网易云音乐、QQ音乐的精品歌单
  16. @Value注解使用过程中遇到的一些坑
  17. 华为荣耀9青春版系统像鸿蒙,荣耀9青春版参数配置
  18. 贪心——Greedy
  19. GMS(Groundwater modeling system) 如何根据流域边界生成三维网格?
  20. MVT和MVC的区别

热门文章

  1. 使用VirtualBox安装Seed 虚拟机踩坑记录
  2. 招标投标管理微信小程序解决方案
  3. 13.Java(Scanner、String)
  4. SSH框架实现添删改查的详细步骤及其原理(傻瓜教程)
  5. oracle ebs实施伙伴,Oracle EBS 实施方法论扫盲: 什么是CRP(Confrence Room Pilot)
  6. Caltech 数据集转换成VOC格式
  7. git可视化工具TortoiseGit使用,让你不在纠结git命令!!!
  8. Python的回顾-7月24日
  9. win10 安装scrapy 出现LINK : fatal error LNK1158: cannot run 'rc.exe' 错误的解决办法
  10. 中级软件工程师考试资料--2023年初版