Java程序员常见笔试题分析
发布日期:2021-06-29 15:42:22 浏览次数:2 分类:技术文章

本文共 4280 字,大约阅读时间需要 14 分钟。

一、基础
1.super()与this()的区别
super从子类中调用父类的构造方法;this在同一类内调用其他方法
super()调用父类的无参构造方法;this()调用本身这个类的无参构造方法
2.作用域public、protected、private以及不写时的区别
作用域       当前类    同一package      子孙类     其他package
public             √           √              √                √
protected         √           √                      √                ×
                        √           √                      ×                ×
private            √           ×                      ×                ×
3.在Java中,如何跳出当前的多重嵌套循环
  在Java中,要想跳出多重循环,可以在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的break语句,即可跳出外层循环
4.一个“.java”源文件中是否可以包括多个类(不是内部类)?有什么限制
一个“.java”源文件里面可以包含多个类,但是只允许有一个public类,并且类名和文件名一致。
5.排序都有哪几种方法
插入排序、交互排序、归并排序、选择排序
6.Overload和Override的区别
Overload:重载  编译时的多态  在同一个类里面,两个方法名相同,参数列表不同,返回值可以相同,可以不相同。  
Override:重写  运行时的多态  子类中,与父类中的某个方法的名称和参数完全相同,子类重写的方法的访问权限不可以比父类小。
7.Final类有特点
final最终,
这个类不能再被继承了;
里面的方法不能被重写了;
里面的变量都是静态的;
8.&和&&的区别
&位运算  非短路
&&逻辑运算  短路
9.GC是什么?为什么要有GC
垃圾收集器
内层泄漏,自动的将没有引用的对象清理掉。
10.Math.round(11.5)等于多少。Math.round(-11.5)等于多少
    12  -11
 
二、初中级
11.什么是类的反射机制? 
类的反射机制,通过类的类名,可以获得类的字段,方法,构造方法,接口等。
通过类名,可以实例化这个类。
在hibernate和spring都有应用反射机制。
在设计模式中有一个代理模式中应用反射机制。
12.得到Class的三个过程是什么? 
对象.getClass()
类.class或Integer.type(int)  Integer.class(java.lang.Integer)
Class.forName();()
13.说出一些常用的类,包,接口,请各举5个?
常用的类:BufferedReader BufferedWriter FileReader FileWirter String Integer java.util.Date,System,Class,List,HashMap
常用的包:java.lang;java.io;java.util;java.sql;javax.servlet;org.apache.strtuts.action;org.hibernate
常用的接口:Remote List Map Document
NodeList ,Servlet,HttpServletRequest,HttpServletResponse,Transaction(Hibernate)、
Session(Hibernate),HttpSession
14.静态变量和实例变量的区别? 
静态变量:通过类名来访问,类加载的时候实例化
实例变量:通过对象来访问,对象new的时候实例化
15. String and StringBuffer的区别? 
String:String对象一旦产生后就不可以被修改
StringBuffer:StringBuffer对象的内容可以修改
16.集合的作用是什么? 
集合是用来存储对象的,这些对象可以是同一类型的,也可以是不同类型的。
17. List, Set, Map是否继承自Collection接口? 
List、Set是继承Collection
Map不是
18. String是最基本的数据类型吗? 
不是
19. char型变量中能不能存贮一个中文汉字?为什么? 
能  一个char
20.启动一个线程是用run()还是start()? 
start()来启动
三、中级
21. sleep() 和 wait() 有什么区别? 
sleep() 方法是线程类(Thread)的静态方法,让调用线程进入睡眠状态,让出执行机会给其他线程.
等到休眠时间结束后,线程进入就绪状态和其他线程一起竞争cpu的执行时间。 
wait()
wait()是Object类的方法,当一个线程执行到wait方法时,它就进入到一个和该对象相关的等待池,同时释放对象的机锁.
使得其他线程能够访问,可以通过notify,notifyAll方法来唤醒等待的线程
22. JDBC如何做事务处理? 
首先,设置事务的提交方式为非自动提交:
   conn.setAutoCommit(false);
接下来,.将需要添加事务的代码放入try,catch块中。
然后,.在try块内添加事务的提交操作,表示操作无异常,提交事务。
    conn.commit();
尤其不要忘记,.在catch块内添加回滚事务,表示操作出现异常,撤销事务:
    conn.rollback();
最后,设置事务提交方式为自动提交:
     conn.setAutoCommit(true);
23. Java中访问数据库的步骤? 
导入连接数据库的Jar包:注册驱动
创建连接数据库对象Connection
创建Statement对象
执行SQL语句
返回结果集
对结果集用对象封装
关闭数据库连接
24. Class.forName的作用?为什么要用? 
通过类名来创建一个类的实例对象,在jdbc通常用来注册驱动。
25. String and StringBuffer的区别? 
26. forward和redirect的区别? 
forward请求转发,属于同一请求
redirect重定向,url会发生改变,不同的请求
27.如何实现一个自定义的Servlet? 
写一个Servlet类extends HttpServlet并重写doPost或doGet或service方法
28. Servlet的生命周期是什么? 
1)构造方法:创建servlet对象,默认情况下,第一次访问servlet的时候创建servlet对象,只调用一次。servlet对象是单实例的。
2)init方法:创建完servlet对象后调用,只调用一次。
3)service方法:每次发出请求时调用一次。
4)destroy方法:销毁servlet对象时候调用。停止tomcat服务器时调用。
29. JSP就是一个Servlet是否正确? 
是的
30.JSP有哪些内置对象?
request、response
page、pageContext
Application
Session
exception
out
config
四、高级
31. include的两种实现方式的区别?
<% include %>  静态包含,在编译之前包含进来
<jsp:include></jsp:include>  动态包含
 
32. JSP页面中两种跳转方式分别是什么?有什么区别?
请求转发:一次请求转发中
重定向:不同请求的跳转 
33.在JSP中如何读取客户端的请求,如何确定某个JSP文件的真实路径? 
request.getParameter
application.getRealPath
34.描述Cookie和Session的作用,区别和各自的应用范围,Session工作原理。
cookie保存客户端,客户的信息,用户名密码
session保存服务器,会话,保存状态,如购物车 
  其实session是一个存在服务器上的类似于一个散列表格的文件。里面存有我们需要的信息,在我们需要用的时候可以从里面取出来。类似于一个大号的map吧,
里面的键存储的是用户的sessionid,用户向服务器发送请求的时候会带上这个sessionid。这时就可以从中取出对应的值了。
35.什么情况下调用doGet()和doPost()? 
doGet()直接打开servlet或表单方式是get
doPost()表单方式post
36. Hibernate的核心配置文件是什么及其作用? 
hibernate.cfg.xml主要由以下四部分组成
(1)数据库连接信息,包括驱动程序类名、连接URL、用户名和密码。
(2)Hibernate相关特性,包括dialect(方言)、show_sql(输出SQL语句到控制台)、format_sql(格式化SQL语句)
(3)连接池相关信息。
(4)实体类映射文件,实体类与数据库表之间的逻辑映射
37. Hibernate中有哪几种关联关系?
单向N-1
单向1-1
单向1-N
单向N-N
双向1-N
双向N-N
双向1-1
38. Hibernate对象的三大状态?
自由状态:new出来,并没有load加载进去
持久状态:已经保存到数据库中,并且当前还引用着
托管状态:关闭了,已经保存到数据库中了
39. Struts 2处理请求的全过程是什么? 
客户端初始化一个指向servlet容器的请求。
请求经过一系列的过滤器(ActionContextCleanUp、SiteMesh)
FilterDispatcher被调用,并询问ActionMapper来决定这个请求是否需要调用某个Action
ActionMapper决定要调用那一个Action,FilterDispatcher把请求交给ActionProxy。
ActionProxy通过Configurate Manager询问Struts配置文件,找到要调用的Action类
ActionProxy创建一个ActionInvocation实例
ActionInvocation实例使用命令模式来调用,回调Action的exeute方法
一旦Action执行完毕,ActionInvocation负责根据Struts.xml的配置返回结果。
40.什么是AOP和IOC,它们的作用是什么? 
AOP:面向切面编程,代理模式;在一个事务里面可以无缝的插入到另外一条处理中
IOC:依赖注入,不用实例化去创建一个对象,根据配置文件,将对象注入进去

转载地址:https://codingchaozhang.blog.csdn.net/article/details/80967078 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Java笔试题
下一篇:排序算法整合

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2024年04月10日 23时25分55秒