本帖最后由 就业高冷派 于 2019-2-27 15:01 编辑
北京十安赛恩科技有限公司
公司行业:计算机软件 互联网/电子商务
公司规模:500-1000人
工作地址:陕西省西安市沣惠南路摩尔中心B座804室
1, Java中常见的异常,请说出常见的几种? NullPointerException , ClassCastException, ArrayIndexOutOfBoundsException, FileNotFoundException, NumberFormatException, SQLException, IOException, NoSuchMethodException
2, HashMap 和Hashtable 的区别? HashMap是线程不安全的,Hashtable是线程安全的; HashMap可以有NULL值和NULL键; Hashtable不可以有NULL值和NULL键
3, 创建线程,以及线程的启动方式?线程的创建方式 1)继承Thread类
2)实现Runnable接口
3)从线程池中获取 4) Callable 4, Jsp常用的动作类 jsp:include:在页面被请求的时候引入一个文件。 jsp:forward:把请求转到一个新的页面。 jsp:useBean:寻找或者实例化一个 JavaBean。 jsp:setProperty:设置 JavaBean 的属性。 jsp:getProperty:输出某个 JavaBean 的属性。
jsp:plugin:根据浏览器类型为 Java 插件生成 OBJECT 或 EMBED 标记
5, 什么是ServletContext?它由谁创建?
当Servlet容器启动时,它会部署并加载所有的web应用。当web应用被加载时,Servlet容器会一次性为每个应用创建Servlet上下文(ServletContext)并把它保存在内存里。Servlet容器会处理web应用的web.xml文件,并且一次性创建在web.xml里定义的Servlet、Filter和Listener,同样也会把它们保存在内存里。当Servlet容器关闭时,它会卸载所有的web应用和ServletContext,所有的Servlet、Filter和Listner实例都会被销毁。从Java文档可知,ServletContext定义了一组方法,Servlet使用这些方法来与它的Servlet容器进行通信。例如,用来获取文件的MIME类型、转发请求或者编写日志文件。在web应用的部署文件(deployment descriptor)标明“分布式”的情况下,web应用的每一个虚拟机都拥有一个上下文实例。在这种情况下,不能把Servlet上下文当做共享全局信息的变量(因为它的信息已经不具有全局性了)。可以使用外部资源来代替,比如数据库。
6, 什么是Cookie?Cookie有什么规范? ① 什么是cookieCookie是由服务器创建,然后通过响应发送给客户端的一个键值对。客户端会保存Cookie,并会标注出Cookie的来源(哪个服务器的Cookie)。当客户端向服务器发出请求时会把所有这个服务器Cookie包含在请求中发送给服务器,这样服务器就可以识别客户端了! ② HTTP的cookie规范如下:Cookie大小上限为4KB;一个服务器最多在客户端浏览器上保存20个Cookie;一个浏览器最多保存300个Cookie;
7, Cookie的生命① 什么是Cookie的生命 Cookie不只是有name和value,Cookie还是生命。所谓生命就是Cookie在客户端的有效时间,可以通过setMaxAge(int)来设置Cookie的有效时间。cookie.setMaxAge(-1):cookie的maxAge属性的默认值就是-1,表示只在浏览器内存中存活。一旦关闭浏览器窗口,那么cookie就会消失。cookie.setMaxAge(60*60):表示cookie对象可存活1小时。当生命大于0时,浏览器会把Cookie保存到硬盘上,就算关闭浏览器,就算重启客户端电脑,cookie也会存活1小时;cookie.setMaxAge(0):cookie生命等于0是一个特殊的值,它表示cookie被作废!也就是说,如果原来浏览器已经保存了这个Cookie,那么可以通过Cookie的setMaxAge(0)来删除这个Cookie。无论是在浏览器内存中,还是在客户端硬盘上都会删除这个Cookie。 8, 什么是session? ① 当首次使用session时,服务器端要创建session,session是保存在服务器端,而给客户端的session的id (一个cookie中保存了sessionId)。客户端带走的是sessionId,而数据是保存在session中。当客户端再次访问服务器时,在请求中会带上sessionId,而服务器会通过sessionId找到对应的session,而无需再创建新的session。 9, session的生命周期getSession() getSession(true); ① Session的销毁只有两种情况: 第一:session调用了 session.invalidate()方法.
第二:前后两次请求超出了session指定的生命周期时间. 其中Session的生命周期时间可以在web.xml配置. 默认30分钟 在web.xml可以做如下配置:<session-config> <session-timeout>5</session-timeout></session-config> 10, Filter与interceptor的区别
① 拦截器是基于java反射机制的,而过滤器是基于函数回调的。 ② 过滤器依赖与servlet容器,而拦截器不依赖与servlet容器。 ③ 拦截器只能对Action请求起作用,而过滤器则可以对几乎所有请求起作用。 ④ 拦截器可以访问Action上下文、值栈里的对象,而过滤器不能。 ⑤ 在Action的生命周期中,拦截器可以多次调用,而过滤器只能在容器初始化时被调用一次。
|