📄 复习7.txt
字号:
junit:
进行单元测试,将代码与测试分离,可以进行自动测试.
可以将多个测试用例组合在一起产生一测试套件,通过测试套件进行单元测试、自动测试。
实现过程是引入junit包,测试用例承继际TestCase类,所有测试方法必须
以test打头,通过assertEquals("消息",运行结果,预期结果)方法测试,如果返回为
true测试成功,否则测试失败。setUp是在运行测试方法之前调用,tearDown是在运
行测试方法之后调用。很多方法的参数及返回结果不是简单的数据类型,可能是一个
复杂的对象,可以将这个信息配置在xml文件中,通过解析xml文件加载对象,运行
比较。
cvs:
1、cvs的原理
主要是文件共享、版本控制。
其有一个核心数据库,存放所有的文件及文件的所有更新版本。
客户可以向核心数据库上传文件、可以选择不同的版本下载、不同版本的数据比较、
当一个用户正在修改一个文件时
另一个另用户不可上传或修改该文件、不同的版本可以进行比较。
所有人可以并发的向服务器上传文件。
2、cvs相关名词
Repository:仓库,存放所有的文件及文件的所有更新版本
Module:仓库中一级目录,可以存放一个工程的所有文件即模块。
Import:向仓库导入一个项目
Checkout:从仓库导出一个项目
文件及文件夹
Commit:提交客户端的修改
Update:下载服务端最新的内容
Revision:一个文件的不同版本
数据结构:
什么是选择法?
第一个数与所有的其它数比较将最小的数放到第一个位置,第一个数不再参与比较
for(int i=0;i<a.length-1;i++)
{
int k=i;
for(int j=i+1;j<a.length;j++)
{
if(a[k]>a[j])
{
k=j;
}
}
if(i!=k)
{
swap(i,k);
}
}
什么是冒泡法?
相邻两个数比较将最大的数放到最后面,
最后一位不再参与比较
for(int i=0;i<a.length-1;i++)
{
boolean flag=false;
for(j=0;j<a.length-i-1;j++)
{
if(a[j]>a[j+1])
{
flag=true;
swap(j,j+1);
}
}
if(!flag)
{
break;
}
}
什么是插入法?
假设第一数是最小的数,后面的数与其比较,比果比第一数小,第一个数右移
后面的数放到第一个位置
for(int i=1;i<a.length;i++)
{
int temp=a[i];
int sort=i;
while(sort>0 && a[sort-1]>temp)
{
a[sort]=a[sort-1];
sort--;
}
//a[sort]
}
折半查找如何实现?
1、是基于已排序数组进行查找
2、有三个变量
int lower=0;
int upper=a.length()-1;
int mid=(lower+upper)/2;
3、判断
if(a[mid]==data)
{
return mid;
}
else
{
if(a[mid]>data)
{
upper=mid-1;
}
else
{
lower=mid+1;
}
}
4、退出条件(lower>upper)
while(lower<=upper)
{
}
什么是栈?
先进后出,只有一个出口即头
什么是队?
先进先出,有两个出口,进通过尾(vear),出通过头(front)
如何用线性表实现队?
public class Queue
{
private int front=0;
private int vear=-1;
private int a[];
private int maxSize;//最大容量
private int size;//实际容量
public Queue(int maxSize)
{
a=new int[maxSize];
this.maxSize=maxSize;
this.size=0;
}
public boolean add(int data)
{
if(isFull())
{
return false;
}
a[++vear]=data;
if(vear+1==maxSize)
{
vear=-1;
}
size++;
return true;
}
public boolean isFull()
{
return this.size==this.maxSize;
}
public boolean isEmpty();
{
return this.size==0;
}
public int remove()
{
int data=a[front++];
if(front==this.maxSize)
{
front=0;
}
size--;
return data;
}
}
如何用单链表实现栈?
public class Node
{
public int data;
public Node next;
public Node(int data)
{
this.data=data;
}
}
public class Stack
{
private Node head;
public Stack()
{
head=null;
}
public boolean push(int data)
{
Node newNode=new Node(data);
if(head==null)
{
head=newNode;
}
else
{
newNode.next=head;
head=newNode;
}
return true;
}
public boolean isEmpty()
{
return head==null;
}
public int pop()
{
int data=head.data;
head=head.next();
}
}
jsf
jsf中的核心类?
FacesServlet:接收所有请求
FacesContext:上下文环境,内部封装了request、response、
session、application
LifeCycle:六大生命周期
jsf的核心配置文件
faces-config.xml
管理bean
<manager-bean>
<manager-bean-name>名称</manager-bean-name>
<manager-bean-class>类</manager-bean-class>
<manager-bean-scope>session</manager-bean-scope>
</manager-bean>
页面向导
<navigation-rule>
<from-view-id>/login.jsp</from-view-id>
<navigation-case>
<from-outcome>success</from-outcome>
<to-view-id>/index.jsp</to-view-id>
</navigation-case>
</navigation-rule>
jsf的六大生命周期?
恢复视图:将html请求恢复成组件树
应用请求值:将request中的值绑定到组件中
校验:校验组件中的值是否合法
更新模型值:将值应用到bean中
调用应用程序:调用服务bean的方法
呈现响应:转发到另一个jsp页面
jsf的五大组件?
UI组件
h:outputText
h:inputText
h:form
h:commandbuttion action=""
h:commandLink action=""
h:table value="集合" var="具体对象"
h:selectOneList
h:selectOneMenu 返回是一个String
h:selectManyList
h:selectManyMenu 返回是一个String[]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -