Java期末复习资料Word文件下载.docx
《Java期末复习资料Word文件下载.docx》由会员分享,可在线阅读,更多相关《Java期末复习资料Word文件下载.docx(8页珍藏版)》请在冰豆网上搜索。
数组的空间是连续的,集合不一定。
效率方面:
数组更优
7、线程对象调用了start方法后,进入运行状态,是否正确:
准确的说,调用start方法后,线程只是进入“可运行状态”,真正运行需要被CPU分派时间片
8、简述抽象类和抽象方法的关系:
抽象类可以不包含抽象方法,由抽象方法的类一定是抽象类。
9、布局管理器BorderLayout的特点:
界面分东西南北中5个部分。
10、Socket编程的特点:
socket编程分为“流式”和“数据报”,前者针对面向连接的TCP/IP编程,后者针对无连接的UDP编程。
11、接口和抽象类:
两者都不能被实例化;
抽象类只能被单继承,接口可以可以被多继承,抽象类可以包含非抽象的方法,接口不行。
12、类中的成员和方法中变量的区别:
类中的成员可以不需要赋初始值,有默认值;
方法中的变量相反;
类中的成员在堆或者静态区,局部变量只能在栈里面。
13、Preparedstatement和statement的关系:
始终以preparedstatement代替statement
14、线程常用的类和方法记住(大概如下)
Java的线程是通过java.lang.Thread类来实现的。
创建线程:
继承Thread类重写run(),通过start()方法初始化后才能调用run()方法;
实现Runnable接口重写run(),再MyThreadthread=newMyThread();
ThreadthreadObj=newThread(thread);
再start()
isAlive()判断线程是否还活着;
getPriority()获得优先级setPriority();
Thread.sleep()将当前线程睡眠指定毫秒数;
join()调用某线程的该方法,将当前线程与该线程“合并”,即等待该线程结束,再恢复当前线程的运行;
yiled()让出CPU,当前线程进入就绪队列等待调度;
wait()当前线程进入对象的waitpool。
Notifu/notifyAll唤醒对象的waitpool中的一个/所有等待线程。
线程的终止:
stop(强行终止)、interrupt(等到子线程执行完毕后才终止);
关键字synchronized来与对象的互斥锁联系。
当某个对象synchronized修饰时,表明该对象在任一时刻只能由一个线程访问。
简答题中可能出现:
1、(代码见文件mvc_test)
MVC设计模式Model—View—Controller:
在ModeⅡ中所有的开发都是以Servlet为主体展开的,由Servlet接收所有的客户端请求,然后根据请求调用相应的JavaBean,并将所有的显示结果交给JSP完成。
它强制地使应用程序的输入、处理和输出分开;
显示层:
主要负责接收Servlet传递的内容,并且调用JavaBean将内容显示给客户;
控制层:
主要负责所有的用户请求参数,判断请求参数是否合法,根据请求的类型调用JavaBean执行操作并将最终的处理结果交由显示层进行显示;
模型层:
完成一个独立的业务操作组件,一般都是以JavaBean或者EJB的形式进行定义的。
JSP负责显示界面,相当于MVC中的View;
Servlet负责历程控制,相当于MVC中的Controller;
JavaBean负责功能,相当于MVC中的Model
2、Servlet生命周期:
1加载Servlet,web容器负责加载servlet,当web容器启动是或者是在第一次使用这个servlet时,容器会负责创建Servlet实例
2初始化:
当一个Servlet被实例化后,容器将调用init()方法初始化这个对象
3、处理服务:
当有请求提交时,Servlet将调用service()方法(常用doGetdoPost)进行处理。
4、销毁:
当web容器关闭或检测到一个Servlet要从容器中被删除时,会自动调用destroy()方法,以便让该实例释放掉所占用资源。
5、卸载:
当一个Servlet调用完destory()方法后,此实例将等待垃圾收集器所回收,如果需要再次使用该Servlet时,会重新调用init()方法初始化。
3、Servlet运行过程/处理步骤:
1、客户端(很可能是Web浏览器)通过HTTP提出请求;
2、Web服务器接受该请求并将其发送给Servlet。
如果这个Servlet尚未被加载,Web服务器把它加载到Java虚拟机并执行它;
3、Servlet程序将接受该HTTP请求并执行某种处理。
4、Servlet服务器会将处理后的结果向Web服务器返回应答。
5、Web服务器将从Servlet收到的应答发回给客户端。
4、JSP9内置对象:
pageContext:
JSP的页面容器;
request:
得到用户的请求信息;
out:
页面输出;
response:
服务器向客户端的回应信息;
session:
用来保存每一个用户的信息;
application:
所有用户的共享信息;
config:
服务器配置,可以取得初始化参数;
page:
表示从页面中表示出来的一个Servlet实例;
exception:
表示JSP页面所发生的异常,在错误页中才起作用。
5、JSP4属性范围:
page只在一个页面中保存属性,跳转后无效;
request只在一次请求中保存属性,服务器跳转后依然有效。
Session:
在一次会话范围中保存,无论何种跳转都可以使用,但是新开另一种浏览器无法使用;
在整个服务器上保存,任何用户都可以使用。
9、(有可能考)JavaBean5个特点:
所有的类必须放在一个包中,在web中没有包的类是不存在的;
所有的类必须声明为publicclass,这样才能被外部所访问;
类中所有的属性都必须封装,即使用private声明;
封装的属性如果需要被外部所操作,则必须编写对应的setter/getter方法;
一个JavaBean中至少存在一个为参构造方法,此方法为JSP中的标签所使用;
10、JavaBean中3个标签:
1.(导入所需要的JavaBean)
<
jsp:
useBeanid=”simple”scope=”page”class=”cn.demo.SimpleBean”/>
2.(设置指定的属性)
setPropertyname=”simple”property=”name”value=”zhangsan”/>
设置具体内容
getPropertyname=”simple”property=”name”/>
输出name属性的内容
3.(跳转指令)
forwardpage=”forward_demo.jsp”>
<
paramname=”name”value=”<
%=username%>
”>
/jsp:
forward>
JavaBean4个保存范围:
page:
保存在一页的范围内,跳转后此JavaBean无效;
一个JavaBean对象可以保存在一次服务器跳转的范围中;
在一个用户的操作范围中保存,重新打开浏览器时才会声明新的JavaBean;
在整个服务器上保存,服务器关闭时才会消失。
11、熟悉表单的代码(见JavaWeb书)
12、外部引入JSP文件
scriptlanguage=”JavaScript”src=”hello.js”>
/script>
13、绑定事件响应:
例子1,<
ahref=”#”onClick=”fun()”>
/a>
例子2,<
inputtype=”buttton”value=”显示”onclick=”show()”>
14、动态包含<
includepage=”a.htm”>
paramname=”name”value=”haa”>
include>
标签指令,标签指令在最后一定要有完结。
将一个用户的请求(request)从一个页面传递到另一个页面,即完成跳转的操作。
15、页面编码问题:
%@pagelanguage=”java”contentType=”text/html;
charset=GBK”%>
或<
…pageEncoding=”GBK”%>
使用pageEncoding和contentype中的charset编码文件有什么区别:
如果pageEncoding存在,则有他决定,否则由charset决定,pageEncoding指的是JSP文件本身的编码,charset指的是服务器发送给客户端的内容编码。
程序填空中可能出现的题目:
见图片
JavaWeb教材书:
P14(http协议,HTML基本元素);
p19(表单例子);
P23(导入外部js例子);
P30(事件处理例子);
P91(JSP注释和3中Scriptet是用来做什么的);
P113(动态包含例子);
P115(跳转指令);
P124(JSP9个内置对象);
P124(四种属性范围;
注意:
session是新开另一种浏览器无法使用);
P188、192、195(JavaBean);
P204(MVC)
(说明:
以上考点均为个人观点,个人整理,主要还是多看书好好复习)
By:
邹勰鑫