《java面试题带答案.pdf》由会员分享,可在线阅读,更多相关《java面试题带答案.pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1.Class.forName 作用?2.调用该访问返回一个以字符串指定类名的类对象。3.进程和线程的区别是什么?进程是执行着的应用程序,而线程是进程内部的一个执行序列。一个进程可以有多个线程。线程又叫做轻量级进程。4.创建线程有几种不同的方式?你喜欢哪一种?为什么?继承 Thread 类实现 Runnable 接口应用程序可以使用 Executor 框架来创建线程池实现 Runnable 接口这种方式更受欢迎,因为这不需要继承 Thread 类。在应用设计中已经继承了别的对象的情况下,这需要多继承(而 Java 不支持多继承),只能实现接口。同时,线程池也是非常高效的,很容易实现和使用。5.
2、Java 集合类框架的基本接口有哪些?Collection:代表一组对象,每一个对象都是它的子元素。Set:不包含重复元素的 Collection。List:有顺序的 collection,并且可以包含重复元素。Map:可以把键(key)映射到值(value)的对象,键不能重复。6.Struts1 和 Struts2 原理和区别?7.Struts1 和 Struts2 是两个完全不同的框架,Struts1 以 ActionServlet 作为核心控制器,由 ActionServlet 负责拦截用户的所有请求。Struts2 以核心控制器 FilterDispatcher 为基础,包含了框架内部
3、的控制流程和处理机制。8.说出 servlet 生命周期?servlet 实例化时调用 init 方法,得到请求时调用service 方法,service 方法自动派遣doget 或 dopost 方法,最后当实例销毁时调用destroy 方法。9.swtich()能否作用在 byte、long、String 上?10.swtich()传递的应该是一个整数表达式,所以它的值只能是:int、short、char、byte 所以 long 和 String 都不能作用在 swtich()上。11.线程睡眠方法有哪些,有什么区别?12.sleep 是线程类(Thread)的方法,导致此线程暂停执行指
4、定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用sleep 不会释放对象锁。13.wait 是 Object 类的方法,对此对象调用wait 方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify 方法(或 notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。14.说出数据连接池的工作机制是什么?15.J2EE 服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。客户端程序需要连接时,池驱动程序会返回一个未使用的池连接并将其表记为忙。如果当前没有空闲连接,池驱动程序新建一定数量的连接,新建连接的数量有配
5、置参数决定。当使用的池连接调用完成后,池驱动程序将此连接表记为空闲,其他调用可以使用这个连接。16.什么是 cookie?session 和 cookie 有什么区别?cookie 是 Web 服务器发送给浏览器的一块信息。浏览器会在本地文件中给每一个Web 服务器存储 cookie。以后浏览器在给特定的Web 服务器发请求的时候,同时会发送所有为该服务器存储的 cookie。下面列出了 session 和 cookie 的区别:无论客户端浏览器做怎么样的设置,session 都应该能正常工作。客户端可以选择禁用cookie,但是,session 仍然是能够工作的,因为客户端无法禁用服务端的s
6、ession。在存储的数据量方面 session 和 cookies 也是不一样的。session 能够存储任意的 Java 对象,cookie 只能存储 String 类型的对象。17.浏览器和 Servlet 通信使用的是什么协议?浏览器和 Servlet 通信使用的是 HTTP 协议。18.关于 Java 网络编程,工作中是否有使用到?所谓 Java socket 通信通常也称作套接字,用于描述 IP 地址和端口,是一个通信链的句柄。应用程序通常通过套接字向网络发出请求或者应答网络请求。socket 开发分客户端与服务端。服务端开启服务监听某一端口。客户端向此服务器的这个端口发出请求,成
7、功则会建立会话,形成通道。这个通道若不做其它操作会一直存在,就是所谓的长连接了,这时服务端与客户端可以通过此通道进行即时通信。19.Thread 类中的 start()和 run()方法有什么区别?start()方法被用来启动新创建的线程,而且 start()内部调用了 run()方法,这和直接调用 run()方法的效果不一样。当你调用run()方法的时候,只会是在原来的线程中调用,没有新的线程启动,start()方法才会启动新线程。20.Java 中流的分类都有哪些?BufferedReader、BufferedWriter、PrintWriter、CharArrayReader、CharA
8、rrayWriter、FileReader、FileWriter、FilterReader、FilterWriter、InputStreamReader、OutputStreamWriter、PipedReader、PipedWriter、StringReader、StringWriter21.String 和 StringBuffer 的区别?String 是不可变的对象,每次对String 类型进行改变都相当于产生了一个新的对象,StringBuffer 是可变的字符序列,所以如果要经常改变某个字符串的话建议使用StringBuffer。22.面向对象的特征?封装:通过定义类并且给类的属性
9、和方法加上访问控制继承:子类继承父类,子类可以拥有父类中已定义的方法,并且子类可以修改父类中的方法使其更适合特殊需求。多态:不同对象对统一消息作出不同响应称之为多态抽象:忽略与当前主题无关的那些方面,将注意力集中在与当前目标有关的方面23.运行时异常和一般异常有何异同?运行时异常时(JVM)java 在运行过程中发生的问题,比如:内存溢出等问题。这类异常没法要求程序员去一一捕获并抛出,一般异常是类库或程序员自己写的代码发生的错误,这类异常可以由我们去一一捕获并抛出。24.Hibernate 工作原理,Hibernate 数据持久化?25.Hibernate 工作原理:26.a:读取并解析映射信
10、息,创建SessionFactory27.b:打开 Session28.c:创建事物29.d:持久化操作30.e:提交事务31.f:关闭 Session32.g:关闭 SessionFactory33.Hibernate 持久化:Hibernate 根据定义的映射规则将对象持久化保存到,这就实现了对象的持久化。34.Spring 由那几个模块组成?35.Spring 主要由 7 个模块组成:36.a:Spring 核心容器:提供了 Spring 框架的基本功能37.b:Spring AOP:通过配置管理特性38.c:Spring ORM:Spring 框架集成了若干 ORM 框架39.d:Spring DAO:打开关闭数据库连接40.e:Spring WEB:为基于 WEB 服务的应用程序提供上下文服务41.f:Spring Context:向 Spring 框架提供上下文信息42.g:Spring MVC:分离模型、视图、控制器、以便更容易定制43.常用动作?jsp:include引入一个文件jsp:useBean实例化 JavaBeanjsp:setProperty设置 JavaBean 属性jsp:getProperty输出 JavaBean 属性jsp:forward转发