资源描述:
《上汽集团java开发笔试题目 》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、上汽集团Java幵发笔试题目一、J2EE(总分20分。每题2分)简述String和StringBuffer的区别。String对一串字符进行操作。不可变。一旦被创建,就不能修改它的值。StringBuffer也是对一串字符进行操作,但是可变类。运行时异常(RuntimeException)与一般异常有何不同?一般异常是可捕捉到的。运行时异常是不可预知的异常。Sleep()和wait()有什么区别?sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,把执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁。wait().会释放锁实现多线程有
2、几种方法?三种,1.继承Thread类,重写run函数2.实现Runnable接口,重写run函数3.实现Callable接口,重写call函数简述线程的基本状态及状态之间的关系。属性提供一个位掩码,用它指示线程的当前状态。一个线程至少总是处于ThreadState枚举中一个可能状态,并且可以同时处于多个状态。一旦线程由于调用而离开Unstarted状态,则它将永远无法返回到Unstarted状态。同样,线程也永远无法离开Stopped状态。什么是线程同步,何如实现线程的同步?当两个或多个线程需要访问同一资源时,它们需要以某种顺序来确保该资源某一时刻只能被一个线程使用的方式称为同步。要想实
3、现同步操作,必须要获得每一个线程对象的锁。获得它可以保证在同一时刻只有一个线程访问对象中的共享关键代码,并且在这个锁被释放之前,其他线程就不能再进入这个共享代码。此时,如果还有其他线程想要获得该对象的锁,只得进入等待队列等待。只有当拥有该对象锁的线程退出共享代码时,锁被释放,等待队列中第一个线程才能获得该锁,从而进入共享代码区。JSP或Servlet中的forward和redirect有什么区别?forward是服务器内部重定向,程序收到请求后重新定向到另一个程序,客户机并不知道;redirect则是服务器收到请求后发送一个状态头给客户,客户将再请求一次,这里多了两次网络通信的来往。red
4、irect是送到客户端后再一次request,所以资料不被保留.简述JDBC调用数据库的基本步骤。1,加载驱动2,创建连接3,4,5,获取语句对象执行sql语句如果是查询,还可以使用结果集6,关闭连接7,捕捉和处理异常简述Servlet的生命周期。Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的do方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。二、算法(总共20分)请列举几种排序算法,并用JAVA实现快速排序算法。(6分)冒泡排序,快速排序,shaker排序,堆
5、排序。publicvoidquick(Integer[]str)if(>o){//查看数组是否为空quickSort(str,0,-1)publicvoidquickSort(Integer[]list,intlow,inthigh){if(lowintmiddle=getMiddle(list,low,high);//将list数组进行一分为二_quickSort(list,1ow,middle-1);//对低字表进行递归排序quickSort(list,middle+1,high);//对高字表进行递归排序publicintgetMiddle(Integer[]list,intlow,
6、inthigh){inttmp=list[low];//数组的第一个作为中轴while(lowwhile(lowtmp){high-;}list[low]=list[high]://比中轴小的记录移到低端while(lowlow++;}list[high]=list[low]://比中轴大的记录移到高端list[low]=tmp;//中轴记录到尾returnlow;//返回中轴的位置用Java实现二叉树前序遍历、中序遍历和后序遍历。(8分)publicclassTree{privateintdata;//数据节点privateTreeleft;//左子树privateTreeright;/
7、/右子树publicTree(intdata){二data;=null:=null;}/林*创建二叉树,返回根结点*/publicstaticTreecreateTree(int[]input){Treeroot=null:Treetemp=null:for(inti=0;i//创建根节点if(root==null){root=temp=newTree(input[i]);}else{//回到根结点temp=root:/