JSP 简答题
JSP 中动态 include 与静态 include 的区别?
动态include:<jsp:include page="include.jsp" flush="true"/>
静态include:<%@ include file="includeed.htm"%>
1、静态导入是将被导入页面的代码完全融入,两个页面融合在一个整体servlet;而动态
导入则在是servlet中使用include方法来引入被导入页面的内容。
2、静态导入时被导入页面的编译指令会起作用,而动态导入时被导入页面的编译指令则失
去作用,则是插入被导入页面的body内容。
3、动态包含还可以增加额外的参数。
Java 简答题
什么是数据库连接池?
数据库连接是一种有限的昂贵的资源,数据库连接影响到程序的性能指标。数据库连接池正
是针对这个问题而提出来的。数据库连接池负责分配、管理和释放数据库连接,它允许应用
程序重复使用一个现有的数据库连接,而再不是重新新建一个;释放空闲时间超过最大空间
时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏,这项技术能明
显提高对数据库操作的性能。
Java 简答题
HashMap 和 Hashtable 的区别?
1、继承的历史不同
public class Hashtable extends Dictionary implements Map;
public class HashMap extends AbsracctMap implement Map;
Hashtable 是继承Dictionary类的,而HashMap则是java1.2引进的Map接口的一个实现
2、安全性不同
HashMap是非synchronized,效率上是比Hashtable要高,而HashTable 在默认的情况下是
synchronized,这意味着 HashTable 是线程安全的,多个线程可以共享一个 HashTable;
而如果没有正确的同步的话,多个线程是不能共享 HashMap 的。Java 5以后提供了 ConcurrentHashMap,它是 HashTable 的替代,比 HashTable 的扩展性更好。当然,我们
可以通过以下方法让 HashMap 同步:
Map m = Collections.synchronizeMap(hashMap)
3、是否可为空值的异同
HashMap 可以让你将空值作为一个表条目的 key 或 value 。HashMap 中只有一条记录可以
是一个空的 key,但任意数量的条目可以是空的 value。这就是说,如果在表中没有发现搜索
键,或者如果发现了搜索键,但它是一个空的值,那么 get() 将返回 null;而 HashTable 则
不行,key 和 value 都不允许出现 null 值。