java程序员面试题(基础部分)_职业发展_非技术区_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 非技术区 > 职业发展 > java程序员面试题(基础部分)

java程序员面试题(基础部分)

 2011/8/13 11:59:54    程序员俱乐部  我要评论(0)
  • 摘要:java程序员面试题(基础部分),据说是广州一家公司招jsp程序员的初试题,这家公司是为华为做外包的1.请写出下列Java代码的输出结果packagetest;publicclassFatherClass(){publicFatherClass(){System.out.println("FatherClassCreate");}}子类:packagetest;importtest.FatherClass
  • 标签:程序 面试 程序员面试 程序员 Java 面试题 java程序员面试题

java程序员面试题(基础部分),据说是广州一家公司招jsp程序员的初试题,这家公司是为华为做外包的

1.请写出下列Java代码的输出结果  
  package   test;  
  public   class   FatherClass()  
      {   public   FatherClass()  
            {     System.out.println("FatherClass     Create");}  
            }  
          子类:  
      package   test;  
        import   test.FatherClass;  
        public   class     ChildClass   extends     FatherClass  
        {  
            public   ChildClass()  
              {     System.out.println("ChildClass   Create");     }  
          public   static   void   main(String[]     args)  
            {       FatherClass   fc=new   FatherClass();  
                  ChildClass     cc=new   ChildClass();     }      
            }  
        输出结果:  
  2.请问HTTP协议面向联接吗?面向会话吗?有哪些请求方法?  
  3.请问在JAVA中实现线程有哪两种方式?    
  4.请说明在JAVA中处理数据库事务的方法。  
  5.ArrayList和Vector的区别,HashMap和Hashtable的区别  
  6.请用Java编程实现一个网络监听服务程序,它将网络客户端的输入内容在屏幕上进行输出.  
  7.请从面向对象角度简述静态与非静态成员的区别.  
  8.请简述接口和抽象类的区别(所表现的东西,他们的用途)  
  9.请简述接口的作用.  
  10.请简述面向对象建模中你对类职责的认识  

下面是参考答案(多人的答案,非完全正确):

2\面向会话、post、get  
  3、继承和实现接口  
  4、先关闭自动提交,然后同一提交  
  5、ArrayList是Vector的优化后的类,本质相同,HashMap和Hashtable继承和实现相同但有线程安全和相同实例存储区别问题。  

 

1.  
  FatherClass     Create  
  FatherClass     Create  
  ChildClass   Create  

 

4.请说明在JAVA中处理数据库事务的方法。  
      通过   conn.setAutocommit(false)  
            ....一系列的语句  
                  conn.commit   //提交完成  
                  conn.setAutocommit(true)  
  但会产生很多不确定性,原则上不能。   都用存储程序。  
   
  8.请简述接口和抽象类的区别(所表现的东西,他们的用途)  
    一样:都是抽象类,都不能直接生成对象实体。  
    用法:优先用接口,     当明确知道要继承类的时候才用抽象类。

 

1   FatherClass   Create  
      FatherClass   Create  
      ChildClass   Create  
  2   面向连接,面向回话,post,get  
  3   继承自Thread和Daemon线程  
  4   JavaBean中使用JDBC方式进行事务处理  
  5   Vector的方法都是同步的(Synchronized),是线程安全的(thread-safe),而ArrayList的方法不是,由于线程的同步必然要影响性能,因此,ArrayList的性能比Vector好。    
  当Vector或ArrayList中的元素超过它的初始大小时,Vector会将它的容量翻倍,而ArrayList只增加50%的大小,这样,ArrayList就有利于节约内存空间。    
  Hashtable和HashMap      
  它们的性能方面的比较类似   Vector和ArrayList,比如Hashtable的方法是同步的,而HashMap的不是。    
  6   此题暂时未做,考虑后再贴  
  7   static数据成员对每一个class而言都只有一份,而非静态成员则是每个对象各有一份。  
      static最重要的用途之一就是让你可以再不建立任何对象情形下可以调用  
  8,9题在java编程思想中应当可以找到很完整的答案,我就不赘述拉  
  10   在面向对象方法中,系统功能最终是分配到每个类的操作上实现的,这个机制叫职责分配  

7.请从面向对象角度简述静态与非静态成员的区别.  
  如果用面向对象的方法来回答的话应当是这样的。  
  对象,那我就从“相对象”来说:举例,如果用来给我介绍对象,首先我的知道她的名字,这样通过名字我可疑找到这个“对象”的身高、年龄等信息这些信息是不用见面也就是“new”就能得到的数据。  
  而有些关于她的信息则必须见面后才能知道,例如她爱吃肯德基还是麦当劳,这就是非静态的东西了,例如你象知道她的三围的话就的近一步得到她的允许,才能知道,这也就相当于私有变量了。  
  哈哈希望能够理解

 

HashMap和Hashtable的区别。  
   
    都属于Map接口的类,实现了将惟一键映射到特定的值上。  
   
    HashMap   类没有分类或者排序。它允许一个   null   键和多个   null   值。  
    Hashtable   类似于   HashMap,但是不允许   null   键和   null   值。它也比   HashMap   慢,因为它是同步的。    

abstract   class和interface有什么区别?    
    声明方法的存在而不去实现它的类被叫做抽象类(abstract   class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract   类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract   类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。  
    接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static   final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof   运算符可以用来决定某对象的类是否实现了接口。  

 

ArrayList和Vector的区别,HashMap和Hashtable的区别    
  答:就ArrayList与Vector主要从二方面来说.    
  一.同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的    
  二.数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半    
  就HashMap与HashTable主要从三方面来说。    
  一.历史原因:Hashtable是基于陈旧的Dictionary类的,HashMap是Java   1.2引进的Map接口的一个实现    
  二.同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的    
  三.值:只有HashMap可以让你将空值作为一个表的条目的key或value    
   
  多线程有两种实现方法,分别是继承Thread类与实现Runnable接口    

1   FatherClass   Create  
      FatherClass   Create  
      ChildClass   Create  
  2   面向连接,面向回话,post,get  
  3   继承Thread类和实现Runable接口  
  4.请说明在JAVA中处理数据库事务的方法。  
      通过   conn.setAutocommit(false)  
            ....一系列的语句  
                  conn.commit   //提交完成  
                  conn.setAutocommit(true)  
  但会产生很多不确定性,原则上不能。   都用存储程序。

发表评论
用户名: 匿名