Servlet单实例多线程模式

问题:Servlet是线程安全的吗?Servlet类本质上也是一个普通的类,并且Servlet容器默认只允许单个实例存在。当请求到达服务器时,Servlet实例如果已经存在的话则直接加载该实例,如果该Servlet类还未实例化则会先初始化这个Servlet。当请求到达Web服务器时,Web服务器中有一个线程池,它会从线程池中取一个工作线程,通过该线程调用请求的Servlet。因此,对Serv …… 阅读全文

JDK1.7 switch支持String类型的原理

我们知道在JDK1.6之前 switch语句只支持byte、char、short、int以及Enum,是不支持String类型的JDK1.7之后加入了对String类型的支持,如下代码(需1.7以上版本):public class Test { public static void main(String[] args) { String str = …… 阅读全文

文章整理

Java集合HashMap实现原理及源码分析ArrayList和Vector的区别ArrayList和LinkedList的区别HashSet实现原理及源码分析TreeMap实现原理及源码分析 TreeSet实现原理及源码分析Hashtable实现原理及源码分析HashMap和Hashtable的区别WeakHashMap实现原理及源码分析Iterator迭代器Java虚拟机 …… 阅读全文

JXL返回正确的行数

如果Excel中在有数据的行下面有回车,getRows()也会返回该行数,判断方法为如果该行每一列都是空值就过滤掉/** * 过滤掉空行 * @param sheet * @return */ private static int getRightRows(Sheet sheet) { int rsCols = sheet.get... …… 阅读全文

Java 获取两个日期之间的所有日期

import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Calendar;import java.util.Date;import java.util.List;p... …… 阅读全文

Java实现同一时间只允许一个账号登录

客户要求不允许同一账号多地登录,这里就需要用到JavaWeb的四大作用域1、page 指当前页面有效。在一个jsp页面里有效2、request 指在一次请求的全过程中有效3、Session 是用户全局变量,在整个会话期间都有效4、application 是程序全局变量,对每个用户每个页面都有效。存放在ServletContext对象中登录时设置用户ID(也可以其他)至applic... …… 阅读全文