赞
踩
讲到它的方法,就不可避免地去了解servlet的运行过程(也可以说是生命周期),如下图所示:
它的四个过程:
(1).当客户端第一次发送请求后,由容器(Web服务器Tomcat)解析请求,并根据请求找到对应的servlet,判断该类的对象是否存在,不存在则创建servlet实例;
(2).调取init()方法 进行初始化操作;
(3).初始化完成后调取service()方法,由service()判断客户端的请求方式,如果是get,则执行doGet(),如果是post则执行doPost().处理方法完成后,作出相应结果给客户端.单次请求处理完毕;
(4).服务终止或继续。
这就得涉及到mvc这个设计模式(它不属于java里的23种设计模式),以及与三层架构的关系。
能够看出来它和页面关联性比较强。
MVC主要应用于表现层(UI),对于表现层,有实体、控制器、视图三个部分去实现,控制器完成页面逻辑,控制层和逻辑业务层(Bill)相关联,实体来关联具体数据。所以说MVC可以一个是表现层框架。
输出的是true,
原因:
短路运算符就是从左到右的运算中前者满足要求,就不再执行后者了; 可以理解为:
&&为取假运算,从左到右依次判断,如果遇到一个假值(也可以说是不成立),就返回假值,以后不再执行,否则返回最后一个真值;
|| 为取真运算,从左到右依次判断,如果遇到一个真值,就返回真值,以后不再执行,否则返回最后一个假值。
首先是String的源码:
public final class String implements Serializable, Comparable<String>, CharSequence {
/** The value is used for character storage. */
private final char[] value;
/** Cache the hash code for the string */
private int hash;// Default to 0
可以看出这是一个由final限制的char数组。
然后原因:
List、LinkedHashMap、LinkedHashSet、TreeMap、TreeSet是有序的,
List、LinkedHashMap、LinkedHashSet、LinkedHashSet在遍历时会保持添加的顺序,
TreeMap、TreeSet在遍历时会以自然顺序(Comparable接口的compareTo)输出
调用线程的 start() 方法后,线程处于可运行状态,此时它可以由 JVM 调度并执行,这并不意味着线程就会立即运行
run() 方法是线程运行时由 JVM 回调的方法,无需手动写代码调用
直接调用线程的 run() 方法,相当于在调用线程里继续调用方法,并未启动一个新的线程
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。