【计算机类职业资格】(Java)程序员面试-12及答案解析.doc
《【计算机类职业资格】(Java)程序员面试-12及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】(Java)程序员面试-12及答案解析.doc(29页珍藏版)》请在麦多课文档分享上搜索。
1、(Java)程序员面试-12 及答案解析(总分:100.00,做题时间:90 分钟)一、论述题(总题数:26,分数:100.00)1.什么是守护线程 (分数:4.00)_2.join()方法的作用是什么 (分数:4.00)_3.如何通过 JDBC 访问数据库 (分数:4.00)_4.JDBC 处理事务采用什么方法 (分数:4.00)_5.Class.forName 的作用是什么 (分数:4.00)_6.Statement、PreparedStatement 和 CallableStatement 有什么区别 (分数:4.00)_7.getString()方法与 getObject()方法有什么
2、区别 (分数:4.00)_8.使用 JDBC 时需要注意哪些问题 (分数:4.00)_9.什么是 JDO (分数:4.00)_10.JDBC 与 Hibernate 有什么区别 (分数:4.00)_11.页面请求的工作流程是怎样的 (分数:4.00)_12.HTTP 中 GET 与 POST 方法有什么区别 (分数:4.00)_13.什么是 Servlet (分数:4.00)_14.doPost()方法与 doGet()方法怎么选择 (分数:4.00)_15.什么是 Servlet 的生命周期 (分数:4.00)_16.JSP 有哪些优点 (分数:4.00)_17.JSP 与 Servlet
3、有何异同 (分数:4.00)_18.如何使用 JSP 与 Servlet 实现 MVC 模型 (分数:4.00)_19.Servlet 中 forward 和 redirect 有什么区别 (分数:4.00)_20.JSP 的内置对象有哪些 (分数:4.00)_21.request 对象主要有哪些方法 (分数:4.00)_22.JSP 有哪些动作 (分数:4.00)_23.JSP 中 include 指令和 include 动作有什么区别 (分数:3.00)_24.会话跟踪技术有哪些 (分数:3.00)_25.Web 开发中如何指定字符串的编码 (分数:3.00)_26.什么是 Ajax (分
4、数:3.00)_(Java)程序员面试-12 答案解析(总分:100.00,做题时间:90 分钟)一、论述题(总题数:26,分数:100.00)1.什么是守护线程 (分数:4.00)_正确答案:()解析:Java 提供了两种线程:守护线程与用户线程。守护线程又被称为“服务进程”“精灵线程”或“后台线程”,是指在程序运行时在后台提供一种通用服务的线程,这种线程并不属于程序中不可或缺的部分。通俗点讲,任何一个守护线程都是整个 JVM 中所有非守护线程的“保姆”。 用户线程和守护线程几乎一样,唯一的不同之处就在于如果用户线程已经全部退出运行,只剩下守护线程存在了,JVM 也就退出了。因为当所有非守护
5、线程结束时,没有了被守护者,守护线程也就没有工作可做了,也就没有继续运行程序的必要了,程序也就终止了,同时会“杀死”所有守护线程。也就是说,只要有任何非守护线程还在运行,程序就不会终止。 在 Java 语言中,守护线程一般具有较低的优先级,它并非只由 JVM 内部提供,用户在编写程序时也可以自己设置守护线程,例如,将一个用户线程设置为守护线程的方法就是在调用 start()方法启动线程之前调用对象的 setDaemon(true)方法,若将以上参数设置为 false,则表示的是用户进程模式。需要注意的是,当在一个守护线程中产生了其他线程,那么这些新产生的线程默认还是守护线程,用户线程也是如此,
6、示例如下: class ThreadDemo extends Thread public void run() System.out.println(Thread.currentThread().getName()+“:begin“); try Thread.sleep(1000); catch(InterruptedException e) e.printStaekTrace(); System.out.println(Thread.currentThread().getName()+“:end“); public class Test public static void main(str
7、ingargs) System.out.println(“test3:begin“); Thread t1=new ThreadDemo(); t1.setDaemon(true); t1.start(); System.out.println(“test3:end“); 程序运行结果为: test3:begin test3:end Thread-0:begin 从运行结果中可以发现,没有输出 Thread-0:end。之所以结果是这样,是在启动线程前将其设置为守护线程了,当程序中只有守护线程存在时,JVM 是可以退出的,也就是说,当 JVM 中只有守护线程运行时,JVM 会自动关闭。因此,当
8、 test3 方法调用结束后,。main 线程将退出,此时线程 t1 还处于休眠状态没有运行结束,但是由于此时只有这个守护线程在运行,JVM 将会关闭,因此不会输出“Thread-0:end”。 守护线程的一个典型的例子就是垃圾回收器。只要 JVM 启动,它始终在运行,实时监控和管理系统中可以被回收的资源。 常见笔试题: 1Java 的 Daemon 线程,setDaemon 设置必须要_。 A在调用 start()方法之前 B调用在 start()方法之后 C前后都可以 答案:A。见上面讲解。 2关于守护线程的说法,正确的是_。 A所有非守护线程终止,即使存在守护线程,进程运行终止 B所有守
9、护线程终止,即使存在非守护线程,进程运行终止 C只要有守护线程或者非守护进程其中之一存在,进程就不会终止 D只要所有守护线程和非守护线程终止运行之后,进程才会终止 答案:A。见上面讲解。2.join()方法的作用是什么 (分数:4.00)_正确答案:()解析:在 Java 语言中,join()方法的作用是让调用该方法的线程在执行完 run()方法后,再执行 join 方法后面的代码。简单点说,就是将两个线程合并,用于实现同步功能。具体而言,可以通过线程 A 的join()方法来等待线程 A 的结束,或者使用线程 A 的 join(2000)方法来等待线程 A 的结束,但最多只等待 2s,示例如
10、下: public class JoinTest public static void main(Stringargs) Thread t=new Thread(new ThreadImp(); t.start(); tfy t.join(1000); /主线程等待 t 结束,只等 1 秒 if(t.isAlive()/t 已经结束 System.out.println(“t has not finished“); else System.out.println(“t has finished“); System.out.println(“joinFinish“); catch(Interru
11、ptedException e) e.printStackTrace(); class ThreadImp implements Runnable public void run() try System.out.println(“Begin ThreadImp“); Thread.sleep(5000); System.out.println(“End ThreadImp“); catch(InterruptedException e) e.printStackTrace(); 程序运行结果为: Begin ThreadImp t has not finished joinFinish En
12、d ThreadImp3.如何通过 JDBC 访问数据库 (分数:4.00)_正确答案:()解析:Java 数据库连接(Java DataBase Connectivity,JDBC)用于在 Java 程序中实现数据库操作功能,它提供了执行 SQL 语句、访问各种数据库的方法,并为各种不同的数据库提供统一的操作接口,java.sql包中包含了 JDBC 操作数据库的所有类。通过 JDBC 访问数据库一般有如下几个步骤: 1)加载 JDBC 驱动器。将数据库的 JDBC 驱动加载到 classpath 中,在基于 JavaEE 的 Web 应用开发过程中,通常要把目标数据库产品的 JDBC 驱动
13、复制到 WEB-INF/lib 下。 2)加载 JDBC 驱动,并将其注册到 DriverManager 中。一般使用反射 Class.forName(String driveName)。3)建立数据库连接,取得 Connection 对象。一般通过DriverManager.getConnection(url,username,passwd)方法实现,其中,url 表示连接数据库的字符串,username 表示连接数据库的用户名,passwd 表示连接数据库的密码。 4)建立 Statement 对象或是 PreparedStatement 对象。 5)执行 SQL 语句。 6)访问结果集
14、ResultSet 对象。 7)依次将 ResuhSet、Statement、PreparedStatement、Connection 对象关闭,释放掉所占用资源,例如rs.close(),con.close()等。为什么要这么做呢?原因在于 JDBC 驱动在底层通常都是通过网络 IO 实现SQL 命令与数据传输的。 常见笔试题: 1举出一个用 JDBC 访问 MySQL 的例子。 答案:首先,创建 Employee 表。 create table Employee( id int primary key, name varehar(20), age int ); 其次,创建一个示例程序,如下
15、所示。 import java.sql.*; public class Test public static void main(Stringargs)throws Exception String user=“user1“; String password=“pwd1“; String url=“jdbc:mysql:/localhost:3306/Test“; String driver=“com.mysql.jdbc.Driver“; Connection con=null; Statement stmt=null; ResultSet rs=null; try Class.forNam
16、e(driver); con=DriverManager.getConnection(url, user, password); stmt=con.createStatement(); stmt.execute(“insert into Employee values(1, “James1“, 25)“); stmt.execute(“insert into Employee values(2, “James2“, 26)“); rs=stmt.executeQuery(“select*from Employee“); while(rs.next() System.out.println(rs
17、.getInt(1)+“+rs.getString(2)+“+rs.getInt(3); catch(SQLException e1) e1.printStackTrace(); finally try if(rs!=null)rs.close(); if(stmt!=null)stmt.close(); if(con!=null)con.close(); catch(SQLException e) System.out.println(e.getMessage(); 程序运行结果为: 1 James1 25 2 James2 26 2JDBC 的主要功能有_。 A创建与数据库的连接 B发送
18、SQL 语句到数据库中 C处理数据并查询结果 D以上都是 答案:D。见上面讲解。 3提供 Java 存取数据库能力的包是_。 Ajava.sql Bjava.awt Cjava.lang Djava.swing 答案:A。对数据库操作的所有类都在 java.sql 包中。4.JDBC 处理事务采用什么方法 (分数:4.00)_正确答案:()解析:一个事务是由一条或多条对数据库操作的 SQL 语句所组成的一个不可分割的工作单元,只有当事务中的所有操作都正常执行完了,整个事务才会被提交给数据库。在 JDBC 中,一般是通过 commit()方法或rollback()方法来结束事务的操作。其中 co
19、mmit()方法表示完成对事务的提交,rollback()方法表示完成事务回滚,多用于在处理事务的过程中出现了异常的情况,这两种方法都位于 java.sql.Connection 类中。一般而言,事务默认操作是自动提交,即操作成功后,系统将自动调用 commit()方法,否则将调用rollback()方法。 当然,在 JDBC 中,也可以通过调用 setAutoCommit(false)方法来禁止自动提交,然后就可以把多个数据库操作的表达式作为一个事务,在操作完成后调用 commit()方法实现整体提交,如果其中一个表达式操作失败,就会抛出异常而不会调用 commit()方法。在这种情况下,就
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 JAVA 程序员 面试 12 答案 解析 DOC
