`
xudongcsharp
  • 浏览: 477325 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java基础面试

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

(2)abstract class和interface有什么区别?    
    1.接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的;而抽象类是可以有私有方法(可以包含方法体)或私有变量的
      2.实现接口的一定要实现接口里定义的所有方法,而实现抽象类可以有选择地重写需要用到的方法,一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后才到具体类实现。继承抽象类必须实现抽象类中的抽象方法
      3.含有抽象方法的类一定是抽象类
   
(3)ArrayList和Vector的区别:
ArrayList与Vector主要从二方面来说.    
  一.同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的    
  二.数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半.

(4)jsp的内置对象有哪些?功能是什么?

request:request表示HttpServletRequest对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取 cookie, header和session数据的有用的方法。

response:response表示HttpServletResponse对象,并提供了几个用于设置送回 浏览器的响应的方法(如cookies,头信息等)

out:out 对象是javax.jsp.JspWriter的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。

pageContext:pageContext表示一个javax.servlet.jsp.PageContext对象。它是用于方便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方法。
session session表示一个请求的javax.servlet.http.HttpSession对象。Session可以存贮用户的状态信息

application :applicaton 表示一个javax.servle.ServletContext对象。这有助于查找有关servlet引擎和servlet环境的信息
config:config表示一个javax.servlet.ServletConfig对象。该对象用于存取servlet实例的初始化参数。
page:page表示从该页面产生的一个servlet实例。

(5)1、forward 和redirect的区别
答:forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。
redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。

(6)jsp有哪些动作?作用分别是什么?
答:JSP共有以下6种基本动作
jsp:include:在页面被请求的时候引入一个文件。
jsp:useBean:寻找或者实例化一个JavaBean。
jsp:setProperty:设置JavaBean的属性。
jsp:getProperty:输出某个JavaBean的属性。
jsp:forward:把请求转到一个新的页面。
jsp:plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记
(6)JSP中动态INCLUDE与静态INCLUDE的区别?
答:动态INCLUDE用jsp:include动作实现
<jsp:include page="included.jsp" flush="true" />它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数
静态INCLUDE用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面
<%@ include file="included.htm" %>
(9)什么是Web容器?

 实现J2EE规范中web协议的应用.该协议定义了web程序的运行时环境,包括:并发性,安全性,生命周期管理等等.

(10).解释下面关于J2EE的名词

  (1)JNDI:Java Naming & Directory Interface,JAVA命名目录服务.主要提供的功能是:提供一个目录系统,让其它各地的应用程序在其上面留下自己的索引,从而满足快速查找和定位分布式应用程序的功能.
  (2)JMS:Java Message Service,JAVA消息服务.主要实现各个应用程序之间的通讯.包括点对点和广播.
  (3)JTA:Java Transaction API,JAVA事务服务.提供各种分布式事务服务.应用程序只需调用其提供的接口即可.
  (4)JAF: Java Action FrameWork,JAVA安全认证框架.提供一些安全控制方面的框架.让开发者通过各种部署和自定义实现自己的个性安全控制策略.
  (5)RMI:Remote Method Interface,远程方法调用

(12) XML的解析方法

  Sax,DOM,JDOM, Xstream

(13)什么是Web Service?

  Web Service就是为了使原来各孤立的站点之间的信息能够相互通信、共享而提出的一种接口。
Web Service所使用的是Internet上统一、开放的标准,如HTTP、XML、SOAP(简单对象访问协议)、WSDL等,所以Web Service可以在任何支持这些标准的环境(Windows,Linux)中使用。

  注:SOAP协议(Simple Object Access Protocal,简单对象访问协议),它是一个用于分散和分布式环境下网络信息交换的基于XML的通讯协议。在此协议下,软件组件或应用程序能够通过标准的HTTP协议进行通讯。它的设计目标就是简单性和扩展性,这有助于大量异构程序和平台之间的互操作性,从而使存在的应用程序能够被广泛的用户访问。

  优势:
  (1).跨平台。
  (2).SOAP协议是基于XML和HTTP这些业界的标准的,得到了所有的重要公司的支持。
  (3).由于使用了SOAP,数据是以ASCII文本的方式而非二进制传输,调试很方便;并且由于这样,它的数据容易通过防火墙,不需要防火墙为了程序而单独开一个“漏洞”。
  (4).此外,WebService实现的技术难度要比CORBA和DCOM小得多。
  (5).要实现B2B集成,EDI比较完善与比较复杂;而用WebService则可以低成本的实现,小公司也可以用上。
  (6).在C/S的程序中,WebService可以实现网页无整体刷新的与服务器打交道并取数。

  缺点:
  (1).WebService使用了XML对数据封装,会造成大量的数据要在网络中传输。
  (2).WebService规范没有规定任何与实现相关的细节,包括对象模型、编程语言,这一点,它不如CORBA。

(14).多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?

  答:多线程有两种实现方法,分别是继承Thread类与实现Runnable接口
  同步的实现方面有两种,分别是synchronized,wait与notify

二、Java编程与程序运行结果

  1.Java编程,打印昨天的当前时刻

public class YesterdayCurrent{
  public void main(String[] args){
    Calendar cal = Calendar.getInstance();
    cal.add(Calendar.DATE, -1);
    System.out.println(cal.getTime());
  }
}

  2.文件读写,实现一个计数器

  public int getNum(){
        int i = -1;
        try{
            String stri="";
            BufferedReader in = new BufferedReader(new FileReader(f));
            while((stri=in.readLine())!=null){
                i = Integer.parseInt(stri.trim());
            }
            in.close();
        }catch(Exception e){
            e.printStackTrace();
        }
        return i;
    }
    public void setNum(){
        int i = getNum();
        i++;       
        try{
            PrintWriter out=new PrintWriter(new BufferedWriter(new FileWriter(f,false))); 
            out.write(String.valueOf(i));            //可能是编码的原因,如果直接写入int的话,将出现java编码和windows编码的混乱,因此此处写入的是String
            out.close() ;
        }catch(Exception e){
            e.printStackTrace();
        }
    }

  3. 指出下面程序的运行结果:

class A{
    static{
        System.out.print("1");
    }
    public A(){
        System.out.print("2");
    }
}
class B extends A{
    static{
        System.out.print("a");
    }
    public B(){
        System.out.print("b");
    }  
}
public class Hello{
    public static void main(String[] ars){
        A ab = new B(); //执行到此处,结果: 1a2b
ab = new B(); //执行到此处,结果: 1a2bab
    }
}

  注:类的static 代码段,可以看作是类首次加载(被虚拟机加载)执行的代码,而对于类的加载,首先要执行其基类的构造,再执行其本身的构造

  4.写一个Singleton模式的例子

public class Singleton{
private static Singleton single = new Singleton();
private Singleton(){}
public static Singleton getInstance(){
  return single;
}
}

Singleton模式是设计模式中最简单的模式,很多人学习设计模式都是从这个模式开始学习的,但是该模式仍然有许多细节往往被大家忽略。

一、       Singleton模式的作用

Singleton模式提供了一个全局唯一访问类的方法,它在整个程序中只有一个实例,不允许出现多个。作用类似于全局变量。但是全局变量的类型依然可以实例化多个对象,从而不能保证唯一性,所以必须采用Singleton模式。

程序中经常将某种管理类,以Singleton模式实现,比如资源管理、路径服务、网络访问处理,这些在整个程序中都应该只有一个实例。

二、       Singleton模式的要点

要点1:Singleton类的构造函数必须是非Public的(及Private或Protected), 从而避免外部实例化该对象;

要点2:自己实例化自己;

要点3:  Singleton类必须提供一个访问自己的接口(靠static声明的函数访问);

三、数据库

  1.删除表的重复记录

  如果记录完全相同才算重复记录,那么:  (sql server2000下测试通过)

select distinct * into #tmpp from tid
delete from tid    
insert into tid select * from #tmpp
drop table #tmpp

  如果有id主键(数字,自增1的那种),那么:(sql server2000下测试通过)

delete from tableA where id not in
(select id = min(id) from tableA group by name)

  2.delete from tablea & truncate table tablea的区别

  truncate 语句执行速度快,占资源少,并且只记录页删除的日志;
  delete 对每条记录的删除均需要记录日志
分享到:
评论

相关推荐

    经典Java基础面试题集锦

    ### 经典Java基础面试题集锦 #### 核心知识点概述 本文将围绕一系列经典Java基础面试题目展开,深入探讨各个知识点的核心概念及其应用场景。这些面试题旨在考察应聘者对于Java基础知识的理解程度以及实际应用能力...

    java基础面试题.doc

    Java 基础面试题知识点总结 Java 是一种广泛应用于软件开发的高级编程语言,它具有跨平台、面向对象、简单易用等特点。下面是 Java 基础面试题的知识点总结: 一、Java 基础知识 1. Java 程序的入口点是 main ...

    java基础面试题

    以上只是Java基础面试中的一部分可能涉及到的知识点。面试者还需要关注Java新版本(如Java 8、Java 11)带来的新特性和变化,如Lambda表达式、Stream API、Optional类等。同时,良好的编程习惯、代码优化能力和问题...

    java 基础面试题

    很全面的java基础面试题,给我一个你最常见到的runtime exception abstract class和interface有什么区别

    经典java基础面试题及答案大汇总.rar

    经典java基础面试题及答案大汇总.rar 经典java基础面试题及答案大汇总.rar 经典java基础面试题及答案大汇总.rar 经典java基础面试题及答案大汇总.rar 经典java基础面试题及答案大汇总.rar 经典java基础面试题及答案...

    Java基础面试题 word文档类型

    这些只是Java基础面试中可能会涉及到的部分知识点,实际文档可能还包含更多细节,如网络编程、数据库操作、并发编程等。准备面试时,不仅要理解这些概念,还要通过实践来加深理解,以便在面试中能够流畅地讨论和解答...

    Java基础面试题.pdf

    Java 基础面试题 本文档总结了 Java 面试中的一些常见问题和概念,包括面向对象和面向过程的区别、Java 语言的特点、JVM、JDK 和 JRE 的概念和关系、Oracle JDK 和 OpenJDK 的对比等。 1. 面向对象和面向过程的...

    Java基础面试题(2012完整版)

    Java是一种流行的编程语言,它的设计哲学...Java基础面试题中包含的这些知识点,能够帮助面试者更好地理解Java的基本概念、特性以及面向对象的编程思想。掌握这些基础知识点对于通过面试和成为Java开发工程师至关重要。

    关于java基础面试题0基础!!易懂!!!.html

    java基础面试题0基础!!易懂!!java基础面试题0基础!!易懂!!java基础面试题0基础!!易懂!!java基础面试题0基础!!易懂!!java基础面试题0基础!!易懂!!java基础面试题0基础!!易懂!!java基础面试题...

    2017年阿里Java基础面试题文档 Java知识分享

    ### 2017年阿里Java基础面试题文档解析 #### 一、自我介绍与问题解决能力 在自我介绍部分,面试者应该清晰地表达自己的背景、经历以及为什么选择当前的职业道路。此外,通过讲述一个具体的问题解决案例,能够展现...

    java基础面试题带答案.rar

    java基础面试题带答案.rarjava基础面试题带答案.rarjava基础面试题带答案.rarjava基础面试题带答案.rarjava基础面试题带答案.rarjava基础面试题带答案.rarjava基础面试题带答案.rarjava基础面试题带答案.rarjava基础...

    java基础面试考察点.pdf

    Java 基础面试考察点 Java 基础面试考察点是 Java 开发人员必须掌握的知识点,涵盖了 Java 基础知识、多线程、JVM 相关知识点等几个方面。 Java 基础知识点 1. Java 内部集合类:ArrayList 和 LinkedList 的区别...

    Java基础面试题

    java常见基础面试题

    java基础面试题合集.rar

    内容比较老,包含java面试基础题,包含java基础,语法redis,异常处理,IO,集合,多线程,java高级,http协议,cookie-session,jsonp,Linux常用命令,常用前端框架,mysql,oracle数据库,主流框架,quartz定时任务,...

    JAVA基础面试大全

    java基础类型面试题大全.doc CoreJavaNoteBook.doc 博文链接:https://yidwo.iteye.com/blog/42906

    javas pring,java基础 面试题

    依赖注入(控制反转)的意思就是你不用显示的在一个类里用new关键字来生成你想要的对象而只需在xml配置文件里添加相应节点即可,这样就让你整个程序的组成变得灵活多样

    Java基础面试题.docx

    在Java基础面试中,常见问题覆盖了Java语言的核心概念、基础语法、面向对象编程、集合框架、异常处理、多线程、输入输出流及JVM(Java虚拟机)等多个方面。以下是几个常见Java基础面试题的简要介绍: Java基础语法...

    java基础面试全集 java基础面试全集

    【Java基础面试全集】是针对Java求职者准备面试的重要参考资料。这个面试全集的创建者通过对网络上流传的《Java面试题大全》进行修订,删除了无价值和错误的题目,更新为Java 7的标准,并增加了现代Java开发中重要的...

    java基础面试笔试题及其答案

    本资料"java基础面试笔试题及其答案"提供了一系列常见的Java面试题及对应的解答,旨在帮助求职者准备面试。 1. **Java基础知识** - **数据类型**:Java有两大类数据类型,基本数据类型(如int、char、boolean)和...

Global site tag (gtag.js) - Google Analytics