2021年java应届毕业生笔试题
java笔试题大集合及答案

java笔试题大集合及答案# Java笔试题大集合及答案1. Java中接口和抽象类的区别是什么?- 接口和抽象类都是抽象的,不能直接实例化。
- 接口中所有的方法默认是public的,而抽象类可以包含非public的成员。
- 一个类可以实现多个接口,但只能继承一个抽象类。
- 接口中不能包含构造方法,而抽象类可以。
- 接口中的字段默认是public static final的,而抽象类中的字段可以是任意类型。
2. Java中如何实现单例模式?- 单例模式确保一个类只有一个实例,并提供一个全局访问点。
- 可以通过私有化构造方法,提供一个私有静态变量来保存实例,并提供一个公有静态方法来获取实例。
3. Java中集合框架的层次结构是怎样的?- 集合框架分为两大类:单元素集合和复合元素集合。
- 单元素集合包括List、Set和Queue。
- 复合元素集合包括Map。
- 每个接口都有多个实现类,如ArrayList、LinkedList、HashSet、TreeSet、HashMap、TreeMap等。
4. Java中如何实现多线程?- 可以通过继承Thread类并重写run方法来实现。
- 也可以通过实现Runnable接口并重写run方法,然后创建Thread对象来实现。
- Java 5引入了Executor框架,可以更方便地管理线程。
5. Java中异常处理的机制是什么?- Java使用try-catch-finally块来处理异常。
- try块中编写可能抛出异常的代码。
- catch块中编写处理异常的代码。
- finally块中的代码无论是否发生异常都会执行。
6. Java中StringBuffer和StringBuilder的区别是什么?- StringBuffer是线程安全的,而StringBuilder不是。
- StringBuffer的方法是同步的,StringBuilder的方法不是。
- 在单线程环境下,StringBuilder的性能优于StringBuffer。
正式应聘的JAVA笔试题和答案

正式应聘的JAVA笔试题和答案一:选择题1:List, Set, Map是否继承自Collection接口A:都是,B 都不是 C:List, Set 是 D:Set, Map 是正确答案 C2:下面描述哪个是正确的A:构造器Constructor可被overrideB:可以继承String类C:try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code不会被执行D:两个对象值相同(x.equals(y) == true),那么也有相同的hash code正确答案 D3 abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized A:都能 B:都不能 C:可以为static D:可以为native正确答案 A4:下面的程序中,temp的最终值是什么?long temo=(int)3.9;temp%=2;A: 0 B :1 C :2 D : 3正确答案 B5、请在以下选项中选出非基本数据类型的选项 ( )A: int B:byte C: boolean D:String正确答案 D6、阅读下面代码段, 给出以下代码的输出结果public class Test{public static void main(String args[]){String str1 = "abc";String str = "abc;String str2 = new String("abc");System.out.println(str1 == str2);System.out.println(str1.equals(str2));System.out.println(str == str1);}}A:true,true,true B:true,false,true C:true,true,false D:false,true,true正确答案 D7、阅读下面代码段, 给出以下代码的输出结果:int i=1;switch (i) {case 0:System.out.println("zero");break;case 1:System.out.println("one");case 2:System.out.println("two");default:System.out.println("default");}A: B::D:default 正确答案 C8、阅读下面代码段, 给出以下代码的输出结果public class MyClass{static int i;public static void main(String argv[]){System.out.println(i);}}A: Error Variable i may not have been initialized B:null C:D:0 正确答案 D9、阅读下面代码段, 给出以下代码的输出结果:class A{static{System.out.print( “A1”);}public A(){System.out.print( “A2”);}}class B extends A{static{System.out.print( “B1”);}public B(){System.out.print( “B2”);}}public class Hello{public static void main(String[] args){A ab = new B();ab = new B();}}A:A1B1A2B2B1B2 B:A1B1A2B2A2B2 C:A1B1A2B2B1B2 D:A1A2B1B2A2B2正确答案 B10、阅读下面代码段, 给出以下代码的输出结果public class TestData {public String getValue () {String value = "";try{value = "test1";return value;}catch(Exception e){e.printStackTrace();}finally{value = "test2";}return value;}public static void main(String args[]){ TestData test = new TestData();String a = test.getValue();System.out.println(a);}}A.test1B.test2C.nullD.””正确答案 A二、改错题,如果有错误,请指出并修正。
Java开发工程师招聘笔试题及解答2024年

2024年招聘Java开发工程师笔试题及解答(答案在后面)一、单项选择题(本大题有10小题,每小题2分,共20分)1、以下哪个不是Java中的基本数据类型?A、intB、floatC、StringD、boolean2、在Java中,以下哪个关键字用于声明一个类?A、classB、structC、enumD、interface3、关于Java中的String类,以下描述正确的是:A. String类是final类,无法继承。
B. String类是可变的,可以对其进行修改。
C. String类是可变的,每次对String对象的操作都会创建新的对象。
D. String类是不可变的,每次对String对象的操作都会创建新的对象。
4、关于Java中的垃圾回收机制,以下描述不正确的是:A. 垃圾回收器可以自动回收不再使用的对象占用的内存空间。
B. 垃圾回收机制是Java自动管理内存的一种方式,程序员无需手动释放内存。
C. 垃圾回收器会定期检查并回收那些不再有引用的对象。
D. 堆内存中的所有对象在不再有引用后,会自动关联到垃圾回收机制中,即成为垃圾,等待垃圾回收器来回收。
5、以下哪个Java版本正式支持模块化系统“Java Platform Module System”(JPMS)?A、Java 8B、Java 9C、Java 10D、Java 116、在Java中,以下哪个关键字用来声明一个线程?A、threadB、runC、ThreadD、start7、以下哪个关键字是Java中用于实现多线程的同步机制?A. synchronizedB. transientC. volatileD. static8、以下哪个选项不是Java中的访问修饰符?A. privateB. publicC. protectedD. friendly9、在Java中,以下哪个选项不是访问修饰符?A. publicB. privateC. protectedD. friend 10、下列关于Java异常处理的说法中,哪一个是正确的?A. Java程序必须捕获并处理所有抛出的异常。
java常见基础知识笔试题

java常见基础知识笔试题Java常见基础知识笔试题:一、Java基础语法1. 请解释Java中的变量和常量有什么区别?2. 请问Java中的关键字有哪些?请列举出来。
3. 请解释Java中的注释有哪几种形式?4. 请说一下Java的数据类型有哪些?5. 请解释Java中的运算符有哪些?二、面向对象1. 请解释面向对象的三大特性是什么?2. 请解释Java中的继承,多态,封装和抽象类分别是什么?3. 请解释Java中的接口是什么?4. 请解释Java中的重载和重写有什么区别?5. 请解释Java中的构造方法和普通方法有何区别?三、异常处理1. 请解释Java中的异常处理机制是什么?2. 请解释Java中的异常分类有哪些?3. 请解释Java中的异常处理关键字try,catch,finally的作用分别是什么?4. 请解释Java中的自定义异常是什么?5. 请解释Java中的异常链是什么?四、集合类1. 请解释Java中的集合类有哪些?2. 请解释Java中的ArrayList和LinkedList的区别。
3. 请解释HashSet和TreeSet的区别。
4. 请解释HashMap和TreeMap的区别。
5. 请解释Java中如何遍历一个集合?五、多线程1. 请解释Java中的线程是什么?2. 请解释Java中的线程实现方式有哪些?3. 请解释Java中的线程池是什么?4. 请解释Java中的synchronized关键字是做什么的?5. 请解释Java中的volatile关键字是做什么的?六、IO流1. 请解释Java中的IO是什么?2. 请解释Java中的字节流和字符流有什么区别?3. 请解释Java中的输入流和输出流有什么区别?4. 请解释Java中的文件读写操作步骤是什么?5. 请解释Java中的RandomAccessFile是什么?以上是java常见基础知识笔试题。
希望这些问题能够帮助读者熟悉Java的基础语法、面向对象、异常处理、集合类、多线程以及IO流的相关知识,在笔试中更好地发挥自己的能力。
java高级开发笔试题

以下是一份Java高级开发的笔试题,包含了从基础知识到高级特性的各种问题。
1. 什么是Java?请简要描述其特点。
2. Java的主要应用领域有哪些?3. 什么是面向对象编程(OOP)?请列举Java中的几个主要面向对象特性。
4. 什么是垃圾回收(Garbage Collection)?它在Java中是如何工作的?5. 请解释Java中的异常处理机制。
6. Java中的继承和多态是什么?请给出一个示例。
7. 请描述Java中的泛型和它在集合框架中的应用。
8. 请解释Java中的Lambda表达式及其用途。
9. Java中的并发编程有哪些工具和技术?请列举几个。
10. 请解释Java中的Stream API及其用途。
11. 如何使用Java中的注解(Annotations)?请给出一个示例。
12. 请解释Java中的反射(Reflection)及其用途。
13. 请描述Java中的泛型擦除(Type Erasure)及其影响。
14. 如何使用Java中的序列化(Serialization)和反序列化(Deserialization)?请给出一个示例。
15. Java中的装饰器模式是什么?请给出一个示例。
16. 如何使用Java中的静态导入(Static Imports)?请给出一个示例。
17. Java中的接口和抽象类有什么区别?请给出一个使用场景。
18. 如何使用Java中的Optional类来避免空指针异常?请给出一个示例。
19. 请解释Java中的final、finally和finalize关键字的作用和区别。
20. 请描述Java中的JVM参数及其对应用程序性能的影响。
这只是一个基础的Java高级开发的笔试题,可以根据需要进行适当的扩展和深化,以满足不同公司和项目的需求。
大学java笔试题库及答案

大学java笔试题库及答案1. 以下哪个选项是Java语言的特点?A. 面向过程B. 面向对象C. 面向组件D. 面向服务答案:B2. Java中,用于定义类的关键字是:A. classB. publicC. privateD. interface答案:A3. 在Java中,下列哪个关键字用于声明一个方法?A. classB. methodC. functionD. void答案:D4. Java中,下列哪个关键字用于声明一个私有变量?A. publicB. privateC. protectedD. static答案:B5. 在Java中,下列哪个关键字用于声明一个静态变量?A. publicB. privateC. protectedD. static答案:D6. Java中,下列哪个关键字用于声明一个接口?A. classB. interfaceC. abstractD. final答案:B7. 在Java中,下列哪个关键字用于声明一个抽象类?A. abstractB. finalC. staticD. interface答案:A8. Java中,下列哪个关键字用于实现多态性?A. extendsB. implementsC. overrideD. super答案:A9. 在Java中,下列哪个关键字用于声明一个异常?A. throwB. throwsC. tryD. catch答案:B10. Java中,下列哪个关键字用于声明一个同步方法?A. synchronizedB. staticC. finalD. abstract答案:A11. 在Java中,下列哪个关键字用于声明一个内部类?A. innerB. nestedC. classD. private答案:C12. Java中,下列哪个关键字用于声明一个枚举类型?A. enumB. listC. setD. map答案:A13. 在Java中,下列哪个关键字用于声明一个泛型?A. genericB. typeC. extendsD. <>答案:D14. Java中,下列哪个关键字用于声明一个注解?A. annotationB. commentC. noteD. @interface答案:D15. 在Java中,下列哪个关键字用于声明一个线程?A. threadB. runnableC. synchronizedD. concurrent答案:B。
Java常见笔试题及答案

Java常见笔试题及答案一、单选择题(每小题2分,共10分)1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。
A. .javaB. .classC. .htmlD. .exe2、设 x = 1 , y = 2 , z = 3,则表达式 y+=z--/++x 的值是( A )。
A. 3B. 3. 5C. 4D. 53、在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( D )方法来完成一些画图操作。
A. start( )B. stop( )C. init( )D. paint( )4、不允许作为类及类成员的访问控制符的是( C )。
A. publicB. privateC. staticD. protected5、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。
A. static void method( )B. public void method( )C. final void method( )D. abstract void method( )二、填空题(每空格1分,共20分)1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、编译生成字节码、和解释运行字节码。
2、如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是 Applet、类的子类并且存储该源程序文件的文件名为MyApplet。
13、如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK编译器javac.exe 编译该源程序文件将产生 3 个文件名与类名相同而扩展名为 . class 的字节码文件。
4、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用2 字节内存空间,这样,无论是中文字符还是英文字符,都是占用2 字节内存空间。
校招Java工程师笔试题

校招Java工程师笔试题请在1个小时内完成测试题,题目较多,注意把控时间。
基本信息:[矩阵文本题] *一、单选题1. 关于Spring的事务传播特性,以下描述错误的是()。
[单选题] *A. PROPAGATION_REQUIRED:支持当前事务,如果当前没有事务,就抛出异常;(正确答案)B. PROPAGATION_SUPPORTS:支持当前事务,如果当前没有事务,就以非事务方式执行;C. PROPAGATION_REQUIRES_NEW:新建事务,如果当前存在事务,把当前事务挂起;D. PROPAGATION_NESTED:支持当前事务,新增Savepoint点,与当前事务同步提交或回滚;2. 关于线程和线程状态的描述,以下错误的是()。
[单选题] *A. 调用sleep()方法时,当sleep()时间结束或被打断后,线程重新回到运行状态;(正确答案)B. 调用join()方法时,当join()中断或IO完成,线程重新回到可运行状态;C. 调用 wait()方法后,线程处于等待锁定池,直到notify()或notifyAll(),线程被唤醒放到锁定池;D. 对运行状态的线程加同步锁,会使其进入锁定池。
当同步锁被释放后进行可运行状态;3. 关于线程同步的描述,以下错误的是()。
[单选题] *A. volatile可用于修饰共享变量,其保证了线程的可见性且提供了一定的有序性,但是无法保证原子性。
使用了此修饰符可禁止CPU指令重排序;(正确答案)B. synchronized用来修饰一个方法或者代码块时,能够保证在同一时刻最多只有一个线程能执行该段代码,且在获锁的的过程中线程是不能被中断的;C. lock比synchronized更灵活,性能更高。
lock()和unlock()必须成对出现,否则将会导致程序出现重大问题;D. 某个类中存在多个synchronized方法,当一个线程正在执行其中一个方法时,该方法将被锁定,其他线程不能执行该方法,只能执行其他方法;4. 关于JAVA异常类的描述,以下正确的是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
长春位智天下技术开发有限公司
应届毕业生面试题(Java工程师岗位)
时间:90分钟内
一、选取题(单选)
1package语句对的是:( )
A 必要在程序开头
B 不一定在程序开头
C 可以在import之后
D 包名可以以数字开头
2 java中,关于char类型错误是:( )
A 占2字节
B 可以存储一种英文字母
C 不能存储一种中文
D 其相应封装类是Character
3 关于内部类错误是:( )
A 静态内部类可以访问其外部类非静态属性
B 非静态内部类可以访问其外部类静态属性
C 内部类可以是protected
D 内部类可以是final
4 异常解决对的是: ( )
A 调用任何也许抛出异常办法,都必要捕获try catch 或者throws
B RuntimeException可以不捕获或者throws
C throw 跟throws 用法是同样
D try 必要有catch,可以没有finally
5 Vector 与 ArrayList对的是:( )
A ArrayList 浮现比Vector早
B ArrayList 速度比Vector慢
C ArrayList 没有同步保护,Vector具备同步保护
D ArrayList Vector 两者都是无序集合"
6 关于XML和HTML语言错误是:( )
A HTML语言不具备扩展性,XML语言具备较好扩展性
B HTML侧重构造话描述内容,XML侧重体现信息形式
C HTML内容与显示为一体,XML则内容与显示相分离
D HTML语言浮现比XML语言早
7 一种表字段为varchar,如果建表时没有指定长度,则默认长度为 ( )
A 1
B 25
C 38
D 255
E 4000
F 建表时varchar类型字段必要指定长度
8 A 表字段a类型int中有100条记录,值分别为1至100,如下语句select a from
A where a between 1 and 50 or (a in (25,70,95) and a between 25 and 75),则如下哪个值在这个sql语句返回成果集中 ()
A 30
B 51
C 75
D 95
二、简述题
1、请回答如下几种名词意思
JVM:
JDK:
JRE:
J2SE:
J2EE:
JNDI:
GC:
2、
short s1 = 1;
s1 = s1 + 1;
和
short s1 = 1;
s1 += 1;
比较,哪个不能得到对的运营成果?为什么?
3、抽象类和接口区别?
4、两个servlet间对象传递办法
5、Servlet生命周期,越详细越好
6、java中实现多态机制是什么?
7、jsp有哪些内置对象和惯用办法?
8、简略回答如下问题
①数组有length()这个办法吗?
②与否可以继承String类?
③try {}里有一种return语句,那么紧跟在这个try后finally {}里code会不
会被执行,什么时候被执行,在return前还是后?
④swtich与否能作用在byte上,与否能作用在long上,与否能作用在
String上?
三、SQL题,如下是一种数据库建表语句,请按规定写出查询语句。
/*
dept:部门表
emp:职工表
Deptno:部门编号
建表:
dept:
deptno(primary key),dname,loc
emp:
empno(primary key),name,job,mgr,sal,deptno */
create table dept
(
deptno varchar(10) primary key,
dname varchar(10)
);
create table emp
(
empno varchar(10) primary key,
name varchar(10),
job varchar(10),
mgr varchar(10),
sal varchar(10),
deptno varchar(10) references dept(deptno) );
insert into dept values ('1','事业部');
insert into dept values ('2','销售部');
insert into dept values ('3','技术部');
insert into emp values ('01','jacky','clerk','tom','1000','1'); insert into emp values ('02','tom','clerk','','','1');
insert into emp values ('07','biddy','clerk','','','1');
insert into emp values ('03','jenny','sales','pretty','600','2'); insert into emp values ('04','pretty','sales','','800','2');
insert into emp values ('05','buddy','jishu','canndy','1000','3'); insert into emp values ('06','canndy','jishu','','1500','3'); select * from dept;
select * from emp;
1、列出emp表中各部门部门号,最高工资,最低工资
2、列出emp表中各部门job为'CLERK'员工最低工资,最高工资
3、对于emp中最低工资不大于部门,列出job为'CLERK'员工部门号,最低工资,最高工资
4、依照部门号由高而低,工资有低而高列出每个员工姓名,部门号,工资
5、对于emp中有管理者员工,列出姓名,管理者姓名(管理者外键为mgr)
6、对于工资高于本部门平均水平员工,列出部门号,姓名,工资,按部门号排序
三、程序阅读题
写出运营成果:
四、常用代码题
1、写出一种JavaScript表单验证,验证HTML表单中<input type=”text”name=”num”id=”num”/>输入项必要为数字。
2、请写出int型转Integer型,String型转int型,int型转String型原则写法。
int num = 5;
String str = “10”;
3、写出一段完整JDBC方式连接本机MySql数据库代码。
4、写出一种单例,即一种Singleton类,只能被实例化一次。
五,java算法应用题
1、将某网页评论提交给后台字符串str中,如果包具有“\”,“<”,“>”,“=”四种符
号,过滤掉以防止系统被执行恶意代码。
写出你java代码。
String str = “<<楼主说非常对!\\和谐社会,科学上网>=。
”;
2、从前,有一种数组,这个数组里面是1到10阿拉伯数字,但是是乱序。
你敢不敢写一种冒泡帮那个数组排序一下。