Java 基础题
HashMap和HashTable的区别
- Hashtable中的“key”和“value”都不允许null,而HashMap允许。
- Hashtable是线程安全的,适合在多用户环境中使用,效率稍低;HashMap不是线程安全的,效率稍高,适合在单线程环境下使用。
接口抽象类
区别- 成员变量:抽象类可以是变量也可以是常量,接口只能是常量
- 关键字:抽象类abstract ,接口是interface
- 构造方法: 接口没有构造方法,抽象类有构造方法
- 成员方法:抽象类可以有非抽象方法,而接口不能有
- 接口可以多实现,而抽象类只能单继承
- 接口可以同时继承多个接口
相同点
- 不能直接实例化
- 都可以有抽象方法
- 子类实现类(如果是普通类)必须实现抽象方法
String,StringBuffer,StringBuilder区别
- String是final修饰的最终类是固定不变的
- StringBuffer和StringBulider可以改变他们的值
- StringBuffer是同步的,Stringbulider是非同步的
servlet 相关
servlet 生命周期
- servlet被服务器实例化后,容器运行init方法,请求到达时运行service方法,service 方法自动调用doxxx(doGet doPost)方法,当服务器决定将实例销毁时调用destroy方法
javaScript
js的三种弹窗方式
- alert(“内容”);弹出括号内容
- confirm(“是否确定”);作用是否确定
- prompt(“输入验证码”,”“);弹出个输入框 让你输入东西
九大内置对象
- page :jsp网页本身
- config :servlet的构架部件
- out :用来传送回应的输出
- request :用户端请求包含GET/Post请求的参数
- response :网页传回客户端的回应
- session :与请求有关的会话期
- application :servlet正在执行的内容
- pageContext :网页的属性是在这里管理
- exception :针对错误的网页
JSP页面
jsp2种跳转方式是什么,有什么区别
- 在JSP中跳转有两种方式:
forward跳转:
response跳转:response.sendRedirect(“跳转页面地址”);- 两种跳转的区别如下:
forward跳转:
服务器端跳转,地址栏不改变。
执行到跳转语句后马上执行跳转,之后的代码不再执行(跳转之前一定要释放全部资源)。
request设置的属性在跳转后的页面仍然可以使用。
response跳转:
客户端跳转,地址栏改变。
所有代码执行完毕后跳转。
跳转后页面不能使用上一个页面的request。
使用地址重写传递参数(response.sendRedirect(“URL?参数名=参数值”))。jsp动态include和静态include区别
- 动态include :< jsp:include page=”include.jsp” flush=”true”>
他总会检查所含文件的变化,适合用于包含动态页面,并且可以带参数,先编译之后再处理 - 静态include:< %@include file=”include.jsp” % >
不会检查所含文件的变化,适合用于包含静态页面直接将文件包含后处理
- 动态include :< jsp:include page=”include.jsp” flush=”true”>