一、 接口和抽象类的区别是什么?
相似性:都不能被实例化,都可以包含抽象的方法,实现接口或者继承抽象类的普通子类必须实现这些抽象方法。
区别:1)接口只能包含抽象方法,不能为普通方法提供方法实现,抽象类可以;
2)接口只能定义静态常量,不能定义普通成员变量,抽象类两者都可以;
3)接口不能包含构造器,抽象类可以有;
4)一个类最多只能继承一个抽象类父类,但是可以实现多个接口。
二、 什么是值传递和引用传递?
值传递:(形式参数类型是基本数据类型):方法调用时,实际参数把它的值传递给对应的形式参数,形式参数只是用实际参数的值初始化自己的存储单元内容,是两个不同的存储单元,所以方法执行中形式参数值的改变不影响实际参数的值。
引用传递:(形式参数类型是引用数据类型参数):也称为传地址。方法调用时,实际参数是对象(或数组),这时实际参数与形式参数指向同一个地址,在方法执行中,对形式参数的操作实际上就是对实际参数的操作,这个结果在方法结束后被保留了下来,所以方法执行中形式参数的改变将会影响实际参数。
三、 线程有几种,你喜欢哪种,为什么?
继承Thread类
实现Runnable接口
应用程序可以使用Executor框架来创建线程池
实现Runnable接口这种方式更受欢迎,因为这不需要继承Thread类。在应用设 计中已经继承了别的对象的情况下,这需要多继承(而Java不支持多继承),只能实现接口。
同时,线程池也是非常高效的,很容易实现和使用。
四、 什么是数据库的连接池?
数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。
五、 Servlet是什么?
来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。
六、 简述一下servlet的生命周期;
· 创建Servlet对象,通过服务器反射机制创建Servlet对象,第一次请求时才会创建。
· 调用Servlet对象的init()方法,初始化Servlet的信息,init()方法只会在创建后被调用一次;
· 响应请求,调用service()或者是doGet(),doPost()方法来处理请求,这些方法是运行的在多线程状态下的。
· 在长时间没有被调用或者是服务器关闭时,会调用destroy()方法来销毁Servlet对象。
七、 doPost()和doGet()方法的区别;
doGet:
GET调用用于获取服务器信息,并将其做为响应返回给客户端。当经由Web浏览器或通过HTML、JSP直接访问Servlet的URL时,一般用GET调用。GET调用在URL里显示正传送给SERVLET的数据,这在系统的安全方面可能带来一些问题。
doPost:
它用于客户端把数据传送到服务器端,也会有副作用。但好处是可以隐藏传送给服务器的任何数据。Post适合发送大量的数据。
八、 HTTP响应的结构是什么?
响应消息行:包含协议/版本,响应状态码,对响应状态码的描述(一切正常)
响应消息头::服务器与客户端通信的暗码,告诉客户端该怎么执行某些操作
响应消息正文:和网页右键“查看源码”看到的内容一样
九、 Cookie是什么?说说cookie和session的区别;
Cookies是指服务器暂存放在你的电脑里的txt格式的文本文件资料,主要用于网络服务器辨别电脑使用。通俗的说,Cookies是一种能够让网站服务器把少量数据储存到客户端的硬盘或内存,或是从客户端的硬盘读取数据的一种技术。Cookies是当你浏览某网站时,由Web服务器置于你硬盘上的一个非常小的文本文件,它可以记录你的用户ID、密码、浏览过的网页、停留的时间等信息,以便于下次登陆的时候,会提示您曾经输入的用户名,甚至密码等。
十、 Jsp的隐含对象是什么?有哪几个?
1、out 来源于java.io.Writer类,它用于发送输出流到客户端。
2、request 来源于javax.servlet.http.HttpServletRequest接口。它被关联到每一个HTTP请求。
3、response 来源于javax.servlet.http.HttpServletResponse。response对象用于把取得的数据返回到客户端。
4、pageContext 提供访问JSP页面的命名空间。它也提供用来访问其他的JSP隐含对象。
5、session 来源于javax.servlet.http.HttpSession。它用于存储客户端请求的信息,因此它是有状态交互式的。
6、application 来源于javax.servlet.ServletContext。
7、config 来源于ServletConfig,它包含了当前JSP/Servlet所在的WEB应用的配置信息。
8、page 来源于当前被访问JSP页面的实例化。它实际使用的是JSP转换成的Servlet。
9、exception 用于捕获JSP抛出的异常。它只有在JSP页面属性isErrorPage=true时才可用。