java笔记-做题点III

java专项练习模糊点第三弹。
包括servlet和CGI、switch语句、内存的存储区、抽象方法等。


1.java的跨平台特性是指,编译后的文件跨平台,而不是源程序跨平台。

2.servlet和CGI:

servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。

传统的CGI程序,不具备平台无关性特征,系统环境发生变化,CGI程序就要瘫痪,而Servlet具备Java的平台无关性,在系统开发过程中保持了系统的可扩展性、高效性。

3.switch语句后的控制表达式只能是short、char、int、long整数类型和枚举类型,不能是float,double和boolean类型。String类型是java7开始支持。


2017-09-28

1.内存的储存区:

堆区:只存放类对象,线程共享;
方法区:又叫静态存储区,存放class文件和静态数据,线程共享;
栈区:存放方法局部变量,基本类型变量区、执行环境上下文、操作指令区,线程不共享。

2.关于抽象方法:

抽象方法是仅声明,并不做实现的方法,抽象方法没有实体时候,大括号必须省略;
抽象类不能被实例化,实例化的工作应该交由它的子类来完成,它只需要有一个引用即可;
抽象方法必须由子类来进行重写;
只要包含一个抽象方法的类,该类必须要定义成抽象类,不管是否还包含有其他方法;
抽象类中可以包含具体的方法,当然也可以不包含抽象方法;
abstract不能与final并列修饰同一个类;
abstract 不能与private、static、final或native并列修饰同一个方法。
【抽象类和接口的对比见[java笔记-基础点I](https://xqcheese.github.io/2017/09/24/java%E7%AC%94%E8%AE%B0-%E5%9F%BA%E7%A1%80%E7%82%B9I/)】