1. 抽象类和接口区别
(1)接口只有定义无实现;抽象类可以有定义和实现。
(2)一个类只能继承一个抽象类,却能实现多个接口。
(3)接口字段定义默认为public static final,抽象类默认friendly(本包可见)
2. Hash table原理,以及与HashMap的区别
简单来说是通过节点的关键码确定节点的存储位置,在内部数组中的索引号和关键字建立对应关系f,即给定键值K,根据哈希函数f,获得存储位置。类似Hashmap的Key--value
哈希函数 f 的两个重要特点:
[1] 哈希函数可以自定义, 只要使得整数 f(K) 的范围不超出哈希表内部存储数组的上下界即可.
[2] K 的取法有任意种, 但 f(K) 只能固定在一个范围, 因此不同的关键字可能对应了相同的哈希值, 形成了冲突.
总的来说,"直接定址"与"解决冲突"是哈希表的两大特点。
区别:
(1)HashMap是Hahstable的轻量级实现,它们都实现了Map接口。采用的hash/rehash算法大体相同,性能上差异不大。
(2)HashMap允许空(null)键值,HashTable不允许。
(3)HashMap是非线程安全的,HashTable是。HashTable的方法是Synchronize的,而HashMap不是,在多线程访问HashTable时,不需要自己为它的方法实现同步;而HashMap需要。
(4)HashMap将HashTable的contains方法改为containsvalue和containskey。
(5)Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现。
3. forward和redirect区别
(1)forward是服务器端请求资源,将资源发给浏览器,浏览器根本不知道服务器发送的内容从哪里来的,地址栏不会变。
通俗来说,A访问B,B访问C,A-->B--> C,此时打开的是C的内容,但地址栏是B的地址。
redirect是服务端根据逻辑,发送一个状态码告诉浏览器重新去请求另一个地址,地址栏URL改变。相当于客户端向服务器端发出两次request,同时接收两次response。
通俗来说,A访问B,若想访问C,需由B返回给A一个参数,告诉A去访问C,过程是A-->B-->A-->C,地址栏是C的地址。2次访问指的是一次访问B,一次访问C。将会丢失第一次的Attributes/parameters.所以需要用session保存参数,而不能用setAttribute
(2)forward是控制权的转移,而redirect是完全的跳转,所以forward更加高效。
(3)forward只需一次request,而redirect需两次,所以forward可以在转发页面A和被转发到的页面B中共享数据,而redirect在A和C中无法共享数据,即丢失参数。
(4)forward:一般用于用户登陆的时候,根据角色转发到相应的模块;redirect:一般用于用户注销登陆时返回主页面和跳转到其它的网站等.
forward使用例子
<jsp:forward page="/servlet/login.jsp" />
<jsp:forward page="/servlet/login.jsp">
<jsp:param name="username" value="jsmith" />
</jsp:forward>
4. 什么是Web容器(不太懂)
实现J2EE规范中Web协议的应用,该协议定义了Web程序的运行时环境,包括并发性、安全性、生命周期等。如Java中的Tomcat容器,ASP中的IIS容器。
5. 解释关于J2EE的名词。(有必要深入学习)
(1)JNDI: Java Naming and Directory Interface,Java命名和目录接口。向程序员提供一种通用的接口,以访问属于不同供应商的产品的命名和目录服务,与JDBC类似。提供一个目录服务,让其他各地的应用程序在其上面留下自己的索引,从而满足快速查找和定位分布式应用程序的功能。
(2)JMS:Java Message Service,Java消息服务,主要实现各个应用程序间的通讯,包括点对点和广播。
(3)JTA:Java Transaction API,Java事务服务,提供各种分布式事务服务,应用程序只需调用其提供的接口即可。
(4)JAF:Java Action Framework,Java安全认证框架,提供一些安全控制方面的框架,让开发者通过各种部署和自定义实现在即的个性安全控制策略。
(5)RMI:Remote Method Interface,远程方法调用。
6. EJB是基于哪些技术实现的?并说出SessionBean和EntityBean的区别,StatefulBean和StatelessBean的区别。
EJB包括Session Bean、Entity Bean、 Message Driven Bean,基于JNDI、RMI、JAT技术。
Session Bean完成服务器端业务,如访问数据库、调用其他EJB组件。非持久化对象,只实现运行在服务器端的业务逻辑。
Entity Bean代表数据存储中维护的数据。持久化对象,代表存储在持久性存储器中的实体的对象视图。
Session Bean分为Stateful Bean和Stateless Bean,均可将系统逻辑放在method中。
Stateful可记录呼叫者状态,一个使用者有一个对应的Stateful session Bean实体。而Stateless不记录,可能数个使用者实行某个stateless session bean的方法时,共用一个实体。
Stateful消耗J2EE server较多内存,却能维持使用者状态。
7. XML的解析方法
8. 什么是Web Service
分享到:
相关推荐
最全的Java笔试面试题.zip最全的Java笔试面试题.zip最全的Java笔试面试题.zip最全的Java笔试面试题.zip最全的Java笔试面试题.zip最全的Java笔试面试题.zip最全的Java笔试面试题.zip最全的Java笔试面试题.zip最全的...
Java笔试面试题是Java开发者在求职过程中必须面对的重要环节,涵盖了基础语法、数据结构、算法、JVM、多线程、网络、设计模式等多个方面。以下是对这些知识点的详细解析: 1. **Java基础语法**:这是Java学习的起点...
JAVA笔试面试题详解.pdfJAVA笔试面试题详解.pdfJAVA笔试面试题详解.pdfJAVA笔试面试题详解.pdfJAVA笔试面试题详解.pdfJAVA笔试面试题详解.pdfJAVA笔试面试题详解.pdfJAVA笔试面试题详解.pdfJAVA笔试面试题详解.pdf...
【吉利汽车Java笔试面试题】是一份专门为应聘者准备的面试资源,主要涵盖了Java编程语言在实际面试中的常见问题和知识点。这份资料旨在帮助求职者更好地理解和掌握Java核心技术,提高他们在吉利汽车公司或其他IT企业...
java笔试面试题java笔试面试题
在准备Java面试的过程中,了解和掌握相关的核心知识点是至关重要的。以下是一些关于"JAVA面试宝典"中可能涉及的重要知识点的详细解析: 1. **Java基础** - **数据类型**:Java分为两种数据类型,基本数据类型(如...
Java笔试面试题是求职者在寻找Java相关职位时必须准备的内容。这涵盖了多个核心Java技术和软件测试的基础知识。首先,让我们深入理解其中的关键概念。 1. **J2EE**(Java 2 Platform, Enterprise Edition)是Java...
【标题】"华为java笔试面试题2014.zip"是一个包含华为公司在2014年针对Java开发者进行笔试和面试的题目集锦。这个压缩文件可能是为了帮助求职者准备华为的技术评估,提供了当年可能遇到的Java编程、设计模式、数据...
### Java笔试面试题详解 #### 3. 垃圾回收的优点和原理,并考虑2种回收机制 **垃圾回收的优点:** 1. **自动管理内存:** Java 的垃圾回收机制可以自动检测不再使用的对象,并释放其占用的内存空间,从而避免了...
4399游戏Java笔试面试题.zip_面试资料下载
以下是一份详细的Java笔试面试题及答案汇总,涵盖了基础概念、面向对象、集合框架、多线程、异常处理、I/O流、网络编程、JVM内存管理等多个方面。 1. **基础概念** - 什么是Java?Java是一种跨平台的、面向对象的...
【美的Java笔试面试题】是一份集合了众多Java程序员在应聘美的公司时可能会遇到的笔试和面试问题的资源。这份资料对于准备美的公司的Java岗位面试的求职者来说,具有极高的参考价值。以下是对其中可能包含的一些核心...
java笔试面试题 综合 java面试 Java笔试 部分面试题答案 Java面试题集(基础篇) java面试题集(编程篇) Java面试题集(高级篇) 另外本人整理上传的《java笔试面试题(分类)》希望能给您带来帮助(可在百度,...
【Java笔试面试题详解】 1. **面向对象的特征** - **抽象**:抽象是对象和类概念的基础,它允许我们将关注点集中在问题的关键部分,忽略不相关的细节。抽象分为过程抽象(方法)和数据抽象(类)。 - **继承**:...
这份"较全的java笔试面试题集(有大公司的)"资源显然为求职者提供了宝贵的准备材料,涵盖了J2EE技术栈的多个重要方面。下面,我们将深入探讨这些知识点。 首先,基础概念是面试的基石,包括Java语言特性、面向对象...
这份"字节跳动Java笔试面试题汇总"包含了丰富的题目,旨在帮助求职者深入了解Java编程语言和字节跳动的技术栈需求。以下是一些核心Java知识点的详细解释: 1. **基础语法**:理解Java的基本语法,包括变量、数据...
### Java笔试面试题汇总基础版最新最全 #### 1. Java基础知识概述 - **面试题背景**: 在Java笔试和面试中,基础知识是考察的重点之一。这部分内容旨在帮助求职者全面掌握Java的基础概念,以便更好地应对各类技术...