Java_J2ee笔试总结(java算法)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.求两个数的最大公约数
解答:
欧几理德原理:辗转相除法
public static int zdgys(int a,int b){
int x = a%b;
if(x==0) return b;
else return zdgys(b,x);
}
2.关于java垃圾回收器的认识
解答:
对于GC来说,当程序员创建对象时,GC就开始监控这个对象的地址、大小以及使用情况。通常,GC采用有向图的方式记录和管理堆(heap)中的所有对象。通过这种方式确定哪些对象是"可达的",哪些对象是"不可达的"。当GC确定一些对象为"不可达"时,GC就有责任回收这些内存空间。可以。程序员可以手动执行System.gc(),通知GC运行,但是Java语言规范并不保证GC 一定会执行。
3.请问如何设计一个类,使其只能被初始化为一个实例。
解答:
Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。
第一种形式: 定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时实例话,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法。附件:
package parent.career.blest;
class Singleton {
private Singleton(){}//在外部用new关键字会报错,只供内部使用
//注意这是private 只供内部调用
private static Singleton instance = new Singleton();
//这里提供了一个供外部访问本class的静态方法,可以直接访问
public static Singleton getInstance() {
return instance;
}
public void say(String str){
System.out.println(str);
}
}
class commonClass{
public commonClass(){
System.out.println("这是一个普通类");
}
}
public class mySingleton{
public static void main(String args[])
{
Singleton sl = Singleton.getInstance();
Singleton sl2 = Singleton.getInstance();
sl.say("hello,world!");
sl2.say("hello,world again!");
System.out.println(sl==sl2);//输出true,说明sl,sl2指向同一个实例
commonClass cC = new commonClass();
commonClass cC2 = new commonClass();
System.out.println(cC==cC2);//输出false,说明cC,cC2分别指向不同的实例
}
}
4.有一个1001个元素的数组a[n],每个元素都在1到1000这些整数中取值,其中有一个数值重复了,现在要设计一个算法找出这个数字,且每个元素只能被访问一次。不能用辅助的存储容器。
解答:
This number = (a[0]+a[1]+a[3]+......a[1000])-(1+2+3+ (1000)
servlet生命周期以及servlet基本构架
解答:
servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由javax.servlet.Servlet接口的init,service和destroy方法表达。
Servlet的基本架构:
public class ServletName extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
}
5.死锁的四个必要条件
解答:
>互斥条件:某段时间内某资源只能由一个进程使用。
>请求和保持:进程因请求资源而阻塞时,对已分配给它的资源保持不放。
>不剥夺条件:资源在未使用完前,不能被剥夺,由使用进程释放。
>环路条件:发生死锁时,有向图必构成一环路。
7.EJB是基于哪些技术实现的?并说出SessionBean和EntityBean的区别,StatefulBean和StatelessBean的区别。
解答:
EJB包括Session Bean、Entity Bean、Message Driven Bean,基于JNDI、RMI、JAT等技术实现。SessionBean在J2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他EJB组件。EntityBean被用来代表应用系统中用到的数据。
对于客户机,SessionBean是一种非持久性对象,它实现某些在服务器上运行的业务逻辑。