版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2026年Java开发工程师技能考核题库一、单项选择题(每题2分,共20题,共40分)1.下列哪个不是Java的基本数据类型?A.intB.booleanC.StringD.double答案:C解析:String是引用类型,Java基本数据类型包括byte、short、int、long、float、double、char、boolean。2.关于Java构造方法,描述错误的是?A.构造方法名与类名相同B.构造方法可以重载C.构造方法可以有返回值D.构造方法在对象创建时自动调用答案:C解析:构造方法没有返回值,也不能使用void声明。3.下列代码运行结果是?intx=1;
System.out.println(x+++++x);A.2B.3C.4D.5答案:C解析:x++先取值1,然后x变为2;计算++x时x先自增为3再取值3,表达式结果为1+3=4。4.Strings=newString("abc");创建了几个字符串对象?A.1B.2C.3D.0答案:B解析:若常量池中没有"abc",则先在常量池创建"abc",再在堆中创建new出来的对象,共2个;若常量池已有"abc",则只创建堆中的1个对象。通常按无缓存情况算2个。5.下列哪个集合类是线程安全的?A.ArrayListB.HashMapC.VectorD.LinkedList答案:C解析:Vector是早期线程安全集合,通过synchronized方法实现;ArrayList、HashMap、LinkedList均非线程安全。6.关于final关键字,下列说法正确的是?A.final修饰的类可以被继承B.final修饰的方法不能被子类重写C.final修饰的变量初始化后不能被修改,但可以不初始化D.final修饰的变量必须在声明时初始化答案:B解析:final类不可继承;final方法不可重写;final变量一旦初始化后不可修改,但可以在构造方法中初始化,不是必须在声明时初始化。7.下列哪个流属于字符流?A.FileInputStreamB.BufferedInputStreamC.InputStreamReaderD.ObjectInputStream答案:C解析:InputStreamReader是字节流到字符流的桥梁,属于字符流;FileInputStream、BufferedInputStream、ObjectInputStream均为字节流。8.关于异常处理,下列哪个说法是错误的?A.Error是程序无法处理的严重问题B.RuntimeException可以不被捕获C.checkedexception必须被捕获或声明抛出D.一个try块只能有一个catch块答案:D解析:一个try块可以有多个catch块,按顺序捕获不同类型的异常。9.在Java线程状态转换中,处于RUNNABLE状态的线程不能直接转换为下列哪种状态?A.BLOCKEDB.WAITINGC.TIMED_WAITINGD.NEW答案:D解析:线程一旦进入RUNNABLE后不能回到NEW,NEW是线程创建但尚未调用start()的状态。10.下列哪个特性不是Java8引入的?A.Lambda表达式B.StreamAPIC.接口默认方法D.泛型答案:D解析:泛型在Java5引入;Lambda表达式、StreamAPI、接口默认方法均为Java8新特性。11.关于HashMap和Hashtable的区别,下列哪个说法是错误的?A.HashMap允许null键和null值B.Hashtable不允许null键和null值C.HashMap是线程安全的D.Hashtable是线程安全的答案:C解析:HashMap非线程安全;Hashtable线程安全;HashMap允许null键和值,Hashtable不允许。12.下列哪种方式可以正确创建一个线程并启动?A.newThread().run();B.newThread(newRunnable(){publicvoidrun(){}}).start();C.newRunnable(){publicvoidrun(){}}.start();D.newThread().start();答案:B解析:A直接调用run()是普通方法调用,不会启动新线程;C中Runnable接口没有start()方法;D中Thread没有关联任务,启动后无实际执行内容。13.实现接口使用的关键字是?A.extendsB.implementsC.importD.package答案:B14.Java中int类型的取值范围是?A.−231B.−232C.-32768到32767D.-128到127答案:A解析:int占4字节32位,有符号范围−231到15.下列哪个方法不是Object类中定义的?A.equals(Objectobj)B.hashCode()C.wait()D.compareTo(Objecto)答案:D解析:compareTo是Comparable接口的方法,不属于Object类。16.关于垃圾回收(GC),下列哪个说法是正确的?A.程序员可以手动调用System.gc()精确回收某个对象B.System.gc()会立即执行垃圾回收C.对象的finalize()方法在对象被回收前调用D.垃圾回收只能回收堆内存,不能回收方法区答案:C解析:System.gc()只是建议JVM执行GC,不保证立即执行;finalize()在对象被回收前可能被调用,但已不推荐使用;方法区也会发生GC(如卸载类)。17.下列代码编译错误的是?A.inti=1;if(i){}B.floatf=1.0f;C.booleanb=true;if(b){}D.charc='a';答案:A解析:Java中if条件表达式必须是boolean类型,int不能直接作为条件。18.关于接口,下列说法错误的是?A.接口中的方法默认是publicabstract(Java8之前)B.接口中可以有默认方法C.接口中的成员变量默认是publicstaticfinalD.接口可以直接实例化答案:D解析:接口不能实例化,必须通过实现类实例化。19.下列哪个不属于JVM运行时数据区?A.堆B.虚拟机栈C.方法区D.静态区答案:D解析:JVM运行时数据区包括堆、虚拟机栈、本地方法栈、方法区、程序计数器,没有独立的“静态区”,静态变量存储于方法区(或堆,取决于版本)。20.关于synchronized关键字,下列哪个说法是错误的?A.可以修饰实例方法B.可以修饰静态方法C.可以修饰成员变量D.可以修饰同步代码块答案:C解析:synchronized不能修饰变量,可以修饰方法和代码块,以及用在静态方法上。二、多项选择题(每题3分,共5题,共15分)1.下列哪些属于Java中的引用类型?A.StringB.int[]C.intD.List答案:ABD解析:int是基本类型;String、数组、List都是引用类型。2.下列哪些集合类位于java.util.concurrent包且线程安全?A.ConcurrentHashMapB.CopyOnWriteArrayListC.VectorD.Hashtable答案:AB解析:ConcurrentHashMap和CopyOnWriteArrayList属于并发包;Vector、Hashtable是早期同步容器,位于java.util包,不属于并发包。3.下列哪些操作可能抛出ClassNotFoundException?A.Class.forName("com.mysql.cj.jdbc.Driver")B.newString("test")C.ClassLoader.getSystemClassLoader().loadClass("unknown.Class")D.数据库驱动加载时驱动类不存在答案:ACD解析:Class.forName和自定义类加载器的loadClass在类找不到时会抛ClassNotFoundException;数据库驱动加载依赖Class.forName,驱动不存在时同样抛该异常。new已知类不会。4.关于Java8的StreamAPI,下列哪些说法正确?A.一个流只能被消费一次B.流的操作分为中间操作和终止操作C.map是终止操作D.forEach是终止操作答案:ABD解析:map是中间操作,不会触发执行;forEach是终止操作,会触发流执行。5.下列哪些设计模式属于创建型模式?A.单例模式B.工厂方法模式C.观察者模式D.建造者模式答案:ABD解析:观察者模式属于行为型模式;单例、工厂方法、建造者均为创建型模式。三、判断题(每题1分,共10题,共10分)1.Java源文件的扩展名是.java。答案:正确2.一个Java源文件中只能有一个public类。答案:正确解析:可以有多个类但只能有一个public类,且public类名必须与文件名相同。3.Java中类的构造方法可以被继承。答案:错误解析:构造方法不能被继承,子类通过super调用父类构造方法。4.数组的下标从0开始。答案:正确5.String是不可变类。答案:正确6.使用synchronized关键字修饰方法可以保证该方法在同一时刻只被一个线程访问。答案:正确7.抽象类中不能有构造方法。答案:错误解析:抽象类可以有构造方法,供子类调用,但抽象类不能被实例化。8.一个类可以实现多个接口。答案:正确9.Java中==比较两个字符串时总是比较内容。答案:错误解析:==比较引用地址;字符串内容比较应使用equals()方法。10.JVM的垃圾回收是自动进行的,程序员无法手动释放内存。答案:正确四、简答题(每题5分,共3题,共15分)1.简述String、StringBuilder和StringBuffer的区别及适用场景。•String:不可变字符序列,底层使用final数组存储,每次修改都会生成新对象,效率低但安全,适合少量字符串拼接或常量。•StringBuilder:可变字符序列,非线程安全,单线程环境下效率高,适合大量字符串操作。•StringBuffer:可变字符序列,线程安全(方法使用synchronized修饰),多线程环境下适用,效率略低于StringBuilder。解析:从可变性、线程安全性、性能三个维度对比,并说明各自典型场景即可。2.简述JDK8中HashMap的底层数据结构及put方法的简要流程。•底层数据结构:数组+链表+红黑树(链表长度超过8且数组长度>=64时树化)。•put流程:计算key的hash值并定位数组下标;若该位置为空,直接放入;若不为空,遍历链表或树判断key是否已存在,存在则覆盖value,不存在则采用尾插法插入;插入后若链表长度超过阈值则考虑树化;最后判断是否需要扩容(默认容量16,负载因子0.75)。解析:需强调JDK8之后引入红黑树优化查询性能,以及扩容机制。3.谈谈Java中创建线程有哪几种方式,并简述各自特点。•继承Thread类:简单方便,但Java单继承限制,无法再继承其他类。•实现Runnable接口:避免单继承限制,适合资源共享,与Thread类解耦。•实现Callable接口:可以有返回值,可以抛出异常,需配合FutureTask使用。•使用线程池(ExecutorService):线程可复用,降低资源消耗,便于统一管理。解析:重点是说明各方式的使用场景和区别,推荐使用Runnable或Callable+线程池。五、编程题(每题10分,共2题,共20分)1.请编写一个线程安全的懒汉式单例类,使用双重检查锁定(Double-CheckedLocking)实现,并解释volatile关键字的作用。publicclassSingleton{
privatestaticvolatileSingletoninstance;
privateSingleton(){}
publicstaticSingletongetInstance(){
if(instance==null){
synchronized(Singleton.class){
if(instance==null){
instance=newSingleton();
}
}
}
returninstance;
}
}解析:双重检查锁定:第一次判空避免每次进入同步块,提升性能;第二次判空确保多线程下只创建一个实例。volatile作用:禁止指令重排序。newSingleton()可分为分配内存、初始化对象、引用指向内存三个步骤,JVM可能重排序导致引用先指向未初始化对象,其他线程可能拿到不完整实例;volatile保证可见性和有序性。2.给定一个整数数组int[]nums,请编写一个方法findSecondMax找出数组中第二大的数,要求不能使用排序算法,时间复杂度为O
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年环境智能高级调控专家招聘笔试试卷 招录10人题库
- 2026年保密法治宣传知识竞赛试题及答案
- 2026年病理学主治医师考试试题含答案‑外科病理诊断专题
- 2026年初级银行从业资格练习题《银行管理》综合检测练习题(含答案)
- 2026年保安模拟考试题库附完整答案(各地真题)
- 2026年保密知识全员培训测试试题库及答案
- 2026年病理科疾病诊断能力考察试题及答案解析
- 2026年餐饮服务食品安全管理人员专业知识考核试题附答案
- 2026年财务大数据分析期末考试题及答案
- 2026年船员英语考试题库带答案(完整版)
- 2025年少先队应知应会知识测试竞赛题库及答案
- 静脉输液管理制度
- 第25课《文言文二则曹冲称象》课件(五四学制)语文六年级上册
- 大象版六年级心理健康教育全册教案
- 浙教版小学劳动六年级《项目一创意改造提效率-劳动工具的改进》教案
- 2023 年 5 月全国事业单位联考 C 类《综合应 用能力》及参考答案
- 坐标纸(A4纸直接打印就可用)
- 03第三章-林分结构Y课件
- 兽医流行病学 第七章 描述流行病学
- 疏浚工程概预算编制规定
- LY/T 2749-2016桉树速丰林配方施肥技术规程
评论
0/150
提交评论