?? 復習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 + -