java項目結構
A. 一套完整的java項目包括哪些部分
1、項目啟動
1)、項目組成立(公司成員、客戶成員)
2)、制定項目預期目標
3)、制定項目計劃周期
4)、建立好項目組成員溝通機制2、需求調研
1)、創建調研計劃、協調調研時間
2)、收集客戶資料,獲取客戶需求
所有的資料都需要保留一份,資料中存疑的需要及時詢問
3)、編寫需求文檔
重點描述出客戶的業務流程和性能要求。
採用Word、Excel、Rose等形式。
4)、需求變更記錄
5)、確定開發環境和運行環境
6)、擴展性要求
7)、與舊系統的接駁要求。
8)、估算出項目工作量本階段需要一套需求管理系統來進行需求的管理。 本階段的需求文檔也是用戶測試的依據。3、系統設計/詳細設計
一個系統可以分為基礎平台和應用模塊兩部分。
1)、選擇基礎平台,無論是採用第三方平台還是自行開發平台,都需要深入了解,查看是否符合要求。
2)、應用模塊設計(針對業務流程)
3)、中間件的採用或自行開發,需要深入了解。
4)、用戶界面的設計
如果用戶界面設計完畢並確認,即可初步寫出用戶使用手冊、管理員使用手冊。
5)、變更記錄本階段的系統設計是集成測試的依據。4、程序開發
創建開發任務計劃表、開發計劃日程表
1)、優先編寫測試用例
2)、按照編碼規范編寫代碼
3)、按照文檔注釋規范注釋
以上形成開發文檔。 本階段需要一套版本管理系統。 本階段的測試用例也是單元測試的依據。
如果能做到,最好每日構建。5、測試
本階段需要一套Bug管理系統,形成需求、設計、開發、測試互動。1)、編寫測試計劃和測試方案
2)、功能測試
單元測試、集成測試
3)、性能測試
集成測試、壓力測試如果能做到,最好能進行自動化測試。
如果能做到,做分析統計工作。最後形成測試報告。6、試用、培訓、維護
本階段需要解決:
1)、解決異地修改和公司修改的同步問題。
2)、用戶測試中的Bug修改問題,按照級別分為
a)、程序Bug
b)、設計變更
c)、需求變更
盡量按照a b c的順序來進行修改,盡量避免b、c級的修改。最後形成安裝手冊、維護記錄。
B. java虛擬機採用什麼軟體體系結構
JAVA虛擬機的生命周期
一個運行時的Java虛擬機實例的天職是:負責運行一個java程序。當啟動一個Java程序時,一個虛擬機實例也就誕生了。當該程序關閉退出,這個虛擬機實例也就隨之消亡。如果同一台計算機上同時運行三個Java程序,將得到三個Java虛擬機實例。每個Java程序都運行於它自己的Java虛擬機實例中。
Java虛擬機實例通過調用某個初始類的main()方法來運行一個Java程序。而這個main()方法必須是共有的(public)、靜態的(static)、返回值為void,並且接受一個字元串數組作為參數。任何擁有這樣一個main()方法的類都可以作為Java程序運行的起點。
Java語言中的所有基本類型同樣也都是Java虛擬機中的基本類型。但是boolean有點特別,雖然Java虛擬機也把boolean看做基本類型,但是指令集對boolean只有很有限的支持,當編譯器把Java源代碼編譯為位元組碼時,它會用int或者byte來表示boolean。在Java虛擬機中,false是由整數零來表示的,所有非零整數都表示true,涉及boolean值的操作則會使用int。另外,boolean數組是當做byte數組來訪問的,但是在「堆」區,也可以被表示為位域。
Java虛擬機還有一個只在內部使用的基本類型:returnAddress,Java程序員不能使用這個類型,這個基本類型被用來實現Java程序中的finally子句。該類型是jsr, ret以及jsr_w指令需要使用到的,值是JVM指令的操作碼的指針。returnAddress類型不是簡單意義上的數值,不屬於任何一種基本類型,並且值是不能被運行中的程序所修改的。
Java虛擬機的引用類型被統稱為「引用(reference)」,有三種引用類型:類類型、介面類型、以及數組類型,值都是對動態創建對象的引用。類類型的值是對類實例的引用;數組類型的值是對數組對象的引用,在Java虛擬機中,數組是個真正的對象;而介面類型的值,則是對實現了該介面的某個類實例的引用。還有一種特殊的引用值是null,表示該引用變數沒有引用任何對象。
C. java中有哪些數據結構
數據結構:
①數組 (Array)
在程序設計中,為了處理方便, 把具有相同類型的若干變數按有序的形式組織起來。這些按序排列的同類數
據元素的集合稱為數組。在C語言中, 數組屬於構造數據類型。一個數組可以分解為多個數組元素,這些數組
元素可以是基本數據類型或是構造類型。因此按數組元素的類型不同,數組又可分為數值數組、字元數組、指
針數組、結構數組等各種類別。
②棧 (Stack)
棧是只能在某一端插入和刪除的特殊線性表。它按照先進後出的原則存儲數據,先進入的數據被壓入棧底,最後
的數據在棧頂,需要讀數據的時候從棧頂開始彈出數據(最後一個數據被第一個讀出來)。
③隊列 (Queue)
一種特殊的線性表,它只允許在表的前端(front)進行刪除操作,而在表的後端(rear)進行插入操作。進行
插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。隊列中沒有元素時,稱為空隊列。
④鏈表 (Linked List)
一種物理存儲單元上非連續、非順序的存儲結構,數據元素的邏輯順序是通過鏈表中的指針鏈接次序實現的。
鏈表由一系列結點(鏈表中每一個元素稱為結點)組成,結點可以在運行時動態生成。每個結點包括兩個部分:
一個是存儲數據元素的數據域,另一個是存儲下一個結點地址的指針域。
⑤樹 (Tree)
樹是包含n(n>0)個結點的有窮集合K,且在K中定義了一個關系N,N滿足 以下條件:
(1)有且僅有一個結點 k0,他對於關系N來說沒有前驅,稱K0為樹的根結點。簡稱為根(root)
(2)除K0外,k中的每個結點,對於關系N來說有且僅有一個前驅。
(3)K中各結點,對關系N來說可以有m個後繼(m>=0)。
⑥堆 (Heap)
在計算機科學中,堆是一種特殊的樹形數據結構,每個結點都有一個值。通常我們所說的堆的數據結構,是指
二叉堆。堆的特點是根結點的值最小(或最大),且根結點的兩個子樹也是一個堆。
⑦圖 (Graph)
圖是由結點的有窮集合V和邊的集合E組成。其中,為了與樹形結構加以區別,在圖結構中常常將結點稱為頂點,
邊是頂點的有序偶對,若兩個頂點之間存在一條邊,就表示這兩個頂點具有相鄰關系。
⑧散列表 (Hash)
若結構中存在關鍵字和K相等的記錄,則必定在f(K)的存儲位置上。由此,不需比較便可直接取得所查記錄。稱
這個對應關系f為散列函數(Hash function),按這個思想建立的表為散列表。
差不多我就知道這些了~
D. Java語言中的類的基本結構是什麼
1.類是JAVA程序得的基本組成單位,定義了對象的屬性和方法,是具有共同屬性和行為的對象的集合。
2.對象的實質:屬性+行為。
3.類的基本結構:屬性,方法,構造方法,內部類,塊。屬性是對數據的描述。方法是對象的行為。構造方法用於實例化對象。
4.方法重載:
1)方法重載的原則:函數名相同,參數類型不同,參數個數不同,參數順序不同,在同一作用域。
2)方法重載跟方法的返回值類型沒有關系,只有返回值不同的方法不能構成重載。
5.方法的調用:類名.方法
6.對象的創建:假設存在一個類Person,創建對象語句為Person p=new Person();
下面是一個例子,參考理解
public class Cat {
public static void main(String[] args) {
Kitty K1=new Kitty();//創建一個對象K1
Kitty K2=new Kitty("小貓咪",3);//創建一個對象K2,名字為小貓咪,年齡為3
System.out.println("Kitty的名字:"+K1.name+K1.age+"歲");//輸出對象K1的名字和年齡
K1.play();//調用play方法
K1.eat();//調用eat方法
System.out.println("Kitty2的名字:"+K2.name+K2.age+"歲");//輸出對象K2的名字和年齡
K2.play();//調用play方法
K2.eat();//調用eat方法
}
}
class Kitty{
String name="小貓";
int age=1;
//無參數的構造方法
Kitty(){
}
//有參數的構造方法
Kitty(String name,int age){
this.name=name;
this.age=age;
}
//玩的方法
void play() {
System.out.println("玩橡皮泥");
}
//吃的方法
void eat() {
System.out.println("吃蘋果");
}
}
E. Java語言的特點,實現機制和體系結構。
中任何實體都可以看作是對象。對象之間通過消息相互作用。另外,現實世界中任何實體都可歸屬於某類事物,任何對象都是某一類事物的實例。如果說傳統的過程式編程語言是以過程為中心以演算法為驅動的話,面向對象的編程語言則是以對象為中心以消息為驅動。用公式表示,過程式編程語言為:程序=演算法+數據;面向對象編程語言為:程序=對象+消息。 所有面向對象編程語言都支持三個概念:封裝、多態性和繼承,Java也不例外。現實世界中的對象均有屬性和行為,映射到計算機程序上,屬性則表示對象的數據,行為表示對象的方法(其作用是處理數據或同外界交互)。所謂封裝,就是用一個自主式框架把對象的數據和方法聯在一起形成一個整體。可以說,對象是支持封裝的手段,是封裝的基本單位。Java語言的封裝性較強,因為Java無全程變數,無主函數,在Java中絕大部分成員是對象,只有簡單的數字類型、字元類型和布爾類型除外。而對於這些類型,Java也提供了相應的對象類型以便與其他對象交互操作。
可移植性:就是在這個系統上作的程序經過一次編譯後可以移植到別的系統上解釋執行,只要經過簡單的粘貼和復制就行了,不影響程序的效果
安全性:在 iSeries 伺服器上運行的大多數 Java(TM) 程序是應用程序,而不是 applet,所以「砂箱」安全性模型對它們不起限製作用。從安全性的觀點看,Java 應用程序所受的安全性限制與 iSeries 伺服器上的任何其它程序相同。要在 iSeries 伺服器上運行 Java 程序,您必須對集成文件系統中的類文件具有許可權。程序一旦啟動,它就在該用戶許可權控制下運行。 您可以使用沿用許可權來訪問具有運行程序的用戶的許可權和程序擁有者許可權的對象。沿用許可權臨時地將用戶原先無權訪問的對象的許可權授予用戶。
並發性:JAVA支持多線程技術,就是多個線程並行機制,多線程是Java的一個重要方法,特別有利於在程序中實現並發任務.Java提供Thread線程類,實現了多線程的並發機制.然而,程序的並發執行必定會出現多個線程互斥訪問臨界資源的局面,因而並發系統解決的關鍵就是對臨界資源的管理和分配問題,而在進行臨界資源分配時有兩方面需要考慮,即安全性和公平性.文中首先討論了多線程並發系統中的安全性與公平性問題,指出安全性與公平性在並發系統中訪問臨界資源時的重要性.並通過火車行駛單行隧道的實例,演示各種條件下的行駛情況來進一步說明該問題.
可視化:不好說,像vb這樣的也是可視話的編成程序。
我借鑒了一些朋友的答案,還有一些是自己找啊,希望能給你帶來幫助
F. 請問JAVA三層架構,持久層,業務層,表現層,都該怎麼理解和MVC三層模型有什麼
這個嘛,有一定的聯系啦,也並不是完全是一樣的啦,你首先把mvc理解清楚吧,M是MODEL(模型),V是view(視圖), C是Controller(控制器),而java三層架構,持久層即是數據的持久化操作,就是數據層啦,即是資料庫啦,業務層主要是業務邏輯的處理,負責表示層與數據層(持久層)的數據的傳遞和邏輯處理,就當很接近控制器的功能啦,就可以理解為控制器啦,表示層即是對數據的展示與用戶的輸入,所以呢?就是視圖層啦 1. 用戶看到view2. view ——————————》 controller用戶操作(點擊按鈕等)3. controller——————》model調用model中方法3. model ——————》 controller返回數據到controller5. controller——————————》 view傳數據到view,更新view6.用戶看到更新後的view M——模型層,V——視圖層,C——控制層,持久層——通常用於封裝資料庫連接、數據查詢等操作,
G. java程序是由什麼組成的
1.源程序文件的構成
要編寫Java程序,首先應該知道Java程序文件中必須包括什麼內容,Java程序的源程序文件結構如下:
package語句,0~1句,必須放在文件開始,作用是把當前文件放入所指向的包中。import語句,0~多句,必須放在所有類定義之前,用來引入標准類或已有類。publicclassDefinition,0~1句,文件名必須與類的類名完全相同。classDefinition,0~多句,類定義的個數不受限制。
interfaceDefinition,0~多句,介面定義的個數不受限制。Java程序的源代碼文件要求包含三個要素:
1)以package開始的包聲明語句,此句為可選。若有,且只能有一個package語句且只能是源程序文件的第一個語句,若沒有,此文件將放到默認的當前目錄下。
2)以import開始的類引入聲明語句,數量可以是任意個。
3)classDefinition和interfaceDefinition分別代表類和介面的定義。由public開始的類定義只能有一個,且要求源程序文件名必須和public類名相同,Java語言對字元的大小寫敏感,因此文件名相同意味著字母大小寫也完全相同。如果源程序文件中有主方法main(),它應放在public類中。這三個要素在程序中必須嚴格按上述順序出現。
2.類的構成
Java程序都是由類(class)所組成的,類的概念的產生是為了讓程序語言能更清楚地表達出現實事物的本性。在Java中,類就是用於創建對象的模板,包含了特定對象集合的所有特性。Java類由兩種不同的信息構成:屬性和行為。
屬性由一系列區別對象的數據組成,可用於確定屬於類的對象的外觀、狀態和其他性質。在Java程序中,屬性往往以類的成員變數形式出現。
行為指類對象對本身和其他對象所可以完成的事情,可以用於修改對象的屬性,接收來自其他對象的信息和向其他要求執行任務的對象發送信息。在Java中,行為往往以一段小程序的形式出現,Java稱這種小程序為「方法」(method)。統稱為類的成員方法。
Java中類定義的語法形式為:
修飾符class<類名>[extend<父類名>]{type類變數1;type類變數2;
成員變數修飾符type<類方法名1>(參數列表){type局
部變數;方法體
}修飾符type<類方法名2>(參數列表){type局部變數;方法體
}成員方法}
其中class是Java的關鍵字,表明其後定義的是一個類。class前面的修飾符用來限定所定義的類的使用方式。類名是用戶為該類起的名字,應該是一個合法的標識符。緊接著類定義語句的大括弧之間的內容稱為類主體。type指的是變數或方法的數據類型。類主體由成員變數和成員方法兩部分組成。
以上所有提到或未提到的概念,在後面的章節中將詳細為大家介紹。
3.注釋語句的添加
在開發Java程序的過程中,經常需要在適當的地方加上注釋語句,以便其他人閱讀
程序,一般來說,Java語言的源文件中,任何地方都可以加註釋語句,一個好的程序應該在
其需要的地方適當地加上一些注釋,以便於其他人閱讀並理解程序。
注釋語句有三種格式:
1)//注釋內容用於注釋一行語句。
2)/ˇ注釋內容ˇ/用於注釋一行或多行語句。
3)/ˇˇ注釋內容ˇˇ/用於注釋一行或多行語句且注釋語句中的內容可以通過使用Javadoc生成API文檔,實現文檔與程序同步實現的功能。