圖解java
❶ 求java中的 堆和棧 的圖解(java初學者)
畫圖能力不行,就簡單給你介紹下吧。
ary1和ary2都是你定義的int[]數組引用變數,在你內定義的時候,內存會分配容給他們一個地址,這個地址用棧內存存放。
而「=」號後面的給他們賦的值是也要放在內存當中,這時內存會把這些值放在堆內存當中。
而一個棧只能對應一個堆,也就是說,ary1 = { 1, 2, 3, 4 },但是當ary1 = {11,12,13,14}時,ary1就會改變。但是ary1 和 ary2 都可以 等於 同一個值。這就是一個堆可以被多個棧引用。
❷ java堆和棧的區別圖解
在函數中定義的一些基本類型的變數和對象的引用變數都在函數的棧內存中分配。
當在一段代碼塊定義一個變數時,Java就在棧中為這個變數分配內存空間,當超過變數的作用域後,Java會自動釋放掉為該變數所分配的內存空間,該內存空間可以立即被另作他用。
堆內存用來存放由new創建的對象和數組。
在堆中分配的內存,由Java虛擬機的自動垃圾回收器來管理。
在堆中產生了一個數組或對象後,還可以在棧中定義一個特殊的變數,讓棧中這個變數的取值等於數組或對象在堆內存中的首地址,棧中的這個變數就成了數組或對象的引用變數。
引用變數就相當於是為數組或對象起的一個名稱,以後就可以在程序中使用棧中的引用變數來訪問堆中的數組或對象。
java中變數在內存中的分配
1、類變數(static修飾的變數):在程序載入時系統就為它在堆中開辟了內存,堆中的內存地址存放於棧以便於高速訪問。靜態變數的生命周期--一直持續到整個"系統"關閉
2、實例變數:當你使用java關鍵字new的時候,系統在堆中開辟並不一定是連續的空間分配給變數(比如說類實例),然後根據零散的堆內存地址,通過哈希演算法換算為一長串數字以表徵這個變數在堆中的"物理位置"。 實例變數的生命周期--當實例變數的引用丟失後,將被GC(垃圾回收器)列入可回收「名單」中,但並不是馬上就釋放堆中內存
3、局部變數:局部變數,由聲明在某方法,或某代碼段里(比如for循環),執行到它的時候在棧中開辟內存,當局部變數一但脫離作用域,內存立即釋放
附:java的內存機制
Java 把內存劃分成兩種:一種是棧內存,另一種是堆內存。在函數中定義的一些基本類型的變數和對象的引用變數都是在函數的棧內存中分配,當在一段代碼塊定義一個變數時,Java 就在棧中為這個變數分配內存空間,當超過變數的作用域後,Java 會自動釋放掉為該變數分配的內存空間,該內存空間可以立即被另作它用。
堆內存用來存放由 new 創建的對象和數組,在堆中分配的內存,由 Java 虛擬機的自動垃圾回收器來管理。在堆中產生了一個數組或者對象之後,還可以在棧中定義一個特殊的變數,讓棧中的這個變數的取值等於數組或對象在堆內存中的首地址,棧中的這個變數就成了數組或對
❸ java中線程有幾種狀態圖解
1. NEW, 這個最簡單了,
static void NEW() {
Thread t = new Thread ();
System. out.println(t.getState());
}
輸出NEW
2. RUNNABLE, 也簡單, 讓一個thread start, 同時代碼裡面不要sleep或者wait等
private static void RUNNABLE() {
Thread t = new Thread(){
public void run(){
for(int i=0; i<Integer.MAX_VALUE; i++){
System. out.println(i);
}
}
};
t.start();
}
3. BLOCKED, 這個就必須至少兩個線程以上, 然後互相等待synchronized 塊
private static void BLOCKED() {
final Object lock = new Object();
Runnable run = new Runnable() {
@Override
public void run() {
for(int i=0; i<Integer.MAX_VALUE; i++){
synchronized (lock) {
System. out.println(i);
}
}
}
};
Thread t1 = new Thread(run);
t1.setName( 「t1」);
4. WAITING, 這個需要用到生產者消費者模型, 當生產者生產過慢的時候, 消費者就會等待生產者的下一次notify
private static void WAITING() {
final Object lock = new Object();
Thread t1 = new Thread(){
@Override
public void run() {
int i = 0;
while(true ){
synchronized (lock) {
try {
lock.wait();
} catch (InterruptedException e) {
}
System. out.println(i++);
}
}
}
};
Thread t2 = new Thread(){
@Override
public void run() {
while(true ){
synchronized (lock) {
for(int i = 0; i< 10000000; i++){
System. out.println(i);
}
lock.notifyAll();
}
}
}
};
Thread t2 = new Thread(run);
5. TIMED_WAITING, 這個僅需要在4的基礎上, 在wait方法加上一個時間參數進行限制就OK了.
把4中的synchronized 塊改成如下就可以了.
synchronized (lock) {
try {
lock.wait(60 * 1000L);
} catch (InterruptedException e) {
}
System. out .println(i++);
}
t2.setName( 「t2」);
t1.start();
t2.start();
}
6. TERMINATED, 這個狀態只要線程結束了run方法, 就會進入了…
private static void TERMINATED() {
Thread t1 = new Thread();
t1.start();
System. out.println(t1.getState());
try {
Thread. sleep(1000L);
} catch (InterruptedException e) {
}
System. out.println(t1.getState());
}
❹ 請幫我分析一下這個java程序的內存,最好是圖解
對於Java程序來說,內存大體上是分兩個部分的。堆和棧。堆放對象和字元串,因為String也是一個類。棧放基本的數據類型,例如int,short,float等等。還有第三個部分是從棧裡面分出來的,叫靜態堆棧區(好像是這個名),是放用static定義的變數的。
首先從主方法開始,內存開辟了一個堆區,這個堆裡面放的是Test對象的實例,然後又開辟了一個棧區,棧裡面放的是Test對象的引用t,這個t就是指向了堆裡面的Test對象。堆裡面的Test實例有三個方法,在這里我更願意用重載來解釋這三個方法的關系,這樣更准確,因為多態的概念太大了,這里確實也有多態的特性,但是多態用於解釋介面和實現類之間的關系應該更好吧。回歸正題,這三個方法被放在了堆裡面,但是這三個方法都有參數,這些參數就是局部變數,是放在棧里的。每次調用一個方法時,程序給這些參數創建幾個臨時變數,一旦方法調用完畢這些變數就會被銷毀。對於定義在主方法中的變數,是在主方法調用完畢後銷毀的。另外,由於t存放在棧中,t指向的Test對象是存放在堆中的,所以主方法調用完畢先會銷毀t,然後垃圾回收器發現沒有變數指向Test對象了,就會在棧中把Test銷毀。
建議樓主看一下馬士兵的java基礎視頻教程,前面講內存講的很詳細。
❺ 跪求JAVA的下載 安裝 運行 求詳細的圖解
配圖方案:http://jingyan..com/article/09ea3ede2b5f86c0aede39b9.html
JRE(Java Runtime Environment)即Java運行環境,是運行JAVA程序所必須的環境的集合,包含各種類庫。這里介紹jre的下載 安裝 跟環境變數的配置
Jre官方下載;
http://www.oracle.com/technetwork/java/javase/downloads/index.html
點擊左邊的java圖標
再點擊同意Acceptlicense Agreement
根據你的電腦類選擇要下載的類型,如果你的電腦是32位就下載windowsx86,64位就下載windows x64
順便提一下,有些朋友可能不知道自己的電腦是32位還是64位的,這時你在命令提示符下敲systeminfo然後找到系統類型,如果x86代表是32位,x 64:的是64位,簡單吧
下載完成後就可以安裝,安裝很簡單,基本就是直接點下一步。裝完之後就可以配置環境變數:
右擊我的電腦->屬性->高級->環境變數
接下來我們要配置3個環境變數;Path,JAVA_HOME,CLASSPATH,其中,對於大多數電腦來說,Path是已經存在的,我們就在其中添加路徑就行了。
JAVA_HOME:如果之前你沒裝過,這個要新建一個,順便說一下,這里所講的3個環境變數時下面的變數,
這個就是你安裝jre的路徑我的是:C:\Program Files\Java\jdk1.7.0_45;
接下來是Path:Path一般是存在的,所以我們在選擇Path再編輯,然後再添加
%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
這里值得注意一下的是path 已經存在的話我們添加上面的那個路徑就要放在「;」後面這樣就不會破壞Path之前的路徑
接下來是CLASS_PATH:這里要注意不要忽略了前面的「.」號,
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
最後我們在運行里出入cmd,敲java跟java –version跟javac –version有東西出來就證明成功了。
❻ java中以下的代碼,在棧內存和堆內存是怎樣運行的,有圖解最好了
show(new Demo());語句,是在堆中新建一個對象,那麼內存分配給這個對象的地址是指向的是變數d啊 只不過這個d和上邊的那個d是不同的...這個是局部變數,,是在這個方法內部的變數..jvm棧以幀為單位保存線程的狀態,當線程激活一個方法時,jvm就會創建一個當前幀來保存參數,局部變數,中間計算過程和其他數據
❼ java虛擬機工作原理圖解
Java虛擬機
一、什麼是Java虛擬機
Java虛擬機是一個想像中的機器,在實際的計算機上通過軟體模擬來實現。Java虛擬機有自己想像中的硬體,如處理器、堆棧、寄存器等,還具有相應的指令系統。
1.為什麼要使用Java虛擬機
Java語言的一個非常重要的特點就是與平台的無關性。而使用Java虛擬機是實現這一特點的關鍵。一般的高級語言如果要在不同的平台上運行,至少需要編譯成不同的目標代碼。而引入Java語言虛擬機後,Java語言在不同平台上運行時不需要重新編譯。Java語言使用模式Java虛擬機屏蔽了與具體平台相關的信息,使得Java語言編譯程序只需生成在Java虛擬機上運行的目標代碼(位元組碼),就可以在多種平台上不加修改地運行。Java虛擬機在執行位元組碼時,把位元組碼解釋成具體平台上的機器指令執行。
2.誰需要了解Java虛擬機
Java虛擬機是Java語言底層實現的基礎,對Java語言感興趣的人都應對Java虛擬機有個大概的了解。這有助於理解Java語言的一些性質,也有助於使用Java語言。對於要在特定平台上實現Java虛擬機的軟體人員,Java語言的編譯器作者以及要用硬體晶元實現Java虛擬機的人來說,則必須深刻理解Java虛擬機的規范。另外,如果你想擴展Java語言,或是把其它語言編譯成Java語言的位元組碼,你也需要深入地了解Java虛擬機。
3.Java虛擬機支持的數據類型
Java虛擬機支持Java語言的基本數據類型如下:
byte://1位元組有符號整數的補碼
short://2位元組有符號整數的補碼
int://4位元組有符號整數的補碼
long://8位元組有符號整數的補碼
float://4位元組IEEE754單精度浮點數
double://8位元組IEEE754雙精度浮點數
char://2位元組無符號Unicode字元
幾乎所有的Java類型檢查都是在編譯時完成的。上面列出的原始數據類型的數據在Java執行時不需要用硬體標記。*作這些原始數據類型數據的位元組碼(指令)本身就已經指出了*作數的數據類型,例如iadd、ladd、fadd和dadd指令都是把兩個數相加,其*作數類型別是int、long、 float和double。虛擬機沒有給boolean(布爾)類型設置單獨的指令。boolean型的數據是由integer指令,包括integer 返回來處理的。boolean型的數組則是用byte數組來處理的。虛擬機使用IEEE754格式的浮點數。不支持IEEE格式的較舊的計算機,在運行 Java數值計算程序時,可能會非常慢。
虛擬機支持的其它數據類型包括:
object//對一個Javaobject(對象)的4位元組引用
returnAddress//4位元組,用於jsr/ret/jsr-w/ret-w指令
注:Java數組被當作object處理。
虛擬機的規范對於object內部的結構沒有任何特殊的要求。在Sun公司的實現中,對object的引用是一個句柄,其中包含一對指針:一個指針指向該object的方法表,另一個指向該object的數據。用Java虛擬機的位元組碼表示的程序應該遵守類型規定。Java虛擬機的實現應拒絕執行違反了類型規定的位元組碼程序。Java虛擬機由於位元組碼定義的限制似乎只能運行於32位地址空間的機器上。但是可以創建一個Java虛擬機,它自動地把位元組碼轉換成64位的形式。從Java虛擬機支持的數據類型可以看出,Java對數據類型的內部格式進行了嚴格規定,這樣使得各種Java虛擬機的實現對數據的解釋是相同的,從而保證了Java的與平台無關性和可
移植性。
二、Java虛擬機體系結構
Java虛擬機由五個部分組成:一組指令集、一組寄存器、一個棧、一個無用單元收集堆(Garbage-collected-heap)、一個方法區域。這五部分是Java虛擬機的邏輯成份,不依賴任何實現技術或組織方式,但它們的功能必須在真實機器上以某種方式實現。
1.Java指令集
Java虛擬機支持大約248個位元組碼。每個位元組碼執行一種基本的CPU運算,例如,把一個整數加到寄存器,子程序轉移等。Java指令集相當於Java程序的匯編語言。
Java指令集中的指令包含一個單位元組的*作符,用於指定要執行的*作,還有0個或多個*作數,提供*作所需的參數或數據。許多指令沒有*作數,僅由一個單位元組的*作符構成。 虛擬機的內層循環的執行過程如下:
do{
取一個*作符位元組;
根據*作符的值執行一個動作;
}while(程序未結束)
由於指令系統的簡單性,使得虛擬機執行的過程十分簡單,從而有利於提高執行的效率。指令中*作數的數量和大小是由*作符決定的。如果*作數比一個位元組大,那麼它存儲的順序是高位位元組優先。例如,一個16位的參數存放時佔用兩個位元組,其值為:
第一個位元組*256+第二個位元組位元組碼指令流一般只是位元組對齊的。指令tableswitch和lookup是例外,在這兩條指令內部要求強制的4位元組邊界對齊。
2.寄存器
Java虛擬機的寄存器用於保存機器的運行狀態,與微處理器中的某些專用寄存器類似。
Java虛擬機的寄存器有四種:
pc:Java程序計數器。
optop:指向*作數棧頂端的指針。
frame:指向當前執行方法的執行環境的指針。
vars:指向當前執行方法的局部變數區第一個變數的指針。
Java虛擬機
Java虛擬機是棧式的,它不定義或使用寄存器來傳遞或接受參數,其目的是為了保證指令集的簡潔性和實現時的高效性(特別是對於寄存器數目不多的處理器)。
所有寄存器都是32位的。
3.棧
Java虛擬機的棧有三個區域:局部變數區、運行環境區、*作數區。
(1)局部變數區 每個Java方法使用一個固定大小的局部變數集。它們按照與vars寄存器的字偏移量來定址。局部變數都是32位的。長整數和雙精度浮點數占據了兩個局部變數的空間,卻按照第一個局部變數的索引來定址。(例如,一個具有索引n的局部變數,如果是一個雙精度浮點數,那麼它實際占據了索引n和n+1所代表的存儲空間。)虛擬機規范並不要求在局部變數中的64位的值是64位對齊的。虛擬機提供了把局部變數中的值裝載到*作數棧的指令, 也提供了把*作數棧中的值寫入局部變數的指令。
(2)運行環境區 在運行環境中包含的信息用於動態鏈接,正常的方法返回以及異常傳播。
·動態鏈接
運行環境包括對指向當前類和當前方法的解釋器符號表的指針,用於支持方法代碼的動態鏈接。方法的class文件代碼在引用要調用的方法和要訪問的變數時使用符號。動態鏈接把符號形式的方法調用翻譯成實際方法調用,裝載必要的類以解釋還沒有定義的符號,並把變數訪問翻譯成與這些變數運行時的存儲結構相應的偏移地址。動態鏈接方法和變數使得方法中使用的其它類的變化不會影響到本程序的代碼。
·正常的方法返回
如果當前方法正常地結束了,在執行了一條具有正確類型的返回指令時,調用的方法會得到一個返回值。執行環境在正常返回的情況下用於恢復調用者的寄存器,並把調用者的程序計數器增加一個恰當的數值,以跳過已執行過的方法調用指令,然後在調用者的執行環境中繼續執行下去。
·異常和錯誤傳播
異常情況在Java中被稱作Error(錯誤)或Exception(異常),是Throwable類的子類,在程序中的原因是:①動態鏈接錯,如無法找到所需的class文件。②運行時錯,如對一個空指針的引用
·程序使用了throw語句。
當異常發生時,Java虛擬機採取如下措施:
·檢查與當前方法相聯系的catch子句表。每個catch子句包含其有效指令范圍,能夠處理的異常類型,以及處理異常的代碼塊地址。
·與異常相匹配的catch子句應該符合下面的條件:造成異常的指令在其指令范圍之內,發生的異常類型是其能處理的異常類型的子類型。如果找到了匹配的catch子句,那麼系統轉移到指定的異常處理塊處執行;如果沒有找到異常處理塊,重復尋找匹配的catch子句的過程,直到當前方法的所有嵌套的 catch子句都被檢查過。
·由於虛擬機從第一個匹配的catch子句處繼續執行,所以catch子句表中的順序是很重要的。因為Java代碼是結構化的,因此總可以把某個方法的所有的異常處理器都按序排列到一個表中,對任意可能的程序計數器的值,都可以用線性的順序找到合適的異常處理塊,以處理在該程序計數器值下發生的異常情況。
·如果找不到匹配的catch子句,那麼當前方法得到一個"未截獲異常"的結果並返回到當前方法的調用者,好像異常剛剛在其調用者中發生一樣。如果在調用者中仍然沒有找到相應的異常處理塊,那麼這種錯誤傳播將被繼續下去。如果錯誤被傳播到最頂層,那麼系統將調用一個預設的異常處理塊。
(3)*作數棧區 機器指令只從*作數棧中取*作數,對它們進行*作,並把結果返回到棧中。選擇棧結構的原因是:在只有少量寄存器或非通用寄存器的機器(如Intel486)上,也能夠高效地模擬虛擬機的行為。*作數棧是32位的。它用於給方法傳遞參數,並從方法接收結果,也用於支持*作的參數,並保存*作的結果。例如,iadd指令將兩個整數相加。相加的兩個整數應該是*作數棧頂的兩個字。這兩個字是由先前的指令壓進堆棧的。這兩個整數將從堆棧彈出、相加,並把結果壓回到*作數棧中。
每個原始數據類型都有專門的指令對它們進行必須的*作。每個*作數在棧中需要一個存儲位置,除了long和double型,它們需要兩個位置。* 作數只能被適用於其類型的*作符所*作。例如,壓入兩個int類型的數,如果把它們當作是一個long類型的數則是非法的。在Sun的虛擬機實現中,這個限制由位元組碼驗證器強制實行。但是,有少數*作(*作符pe和swap),用於對運行時數據區進行*作時是不考慮類型的。
4.無用單元收集堆
Java的堆是一個運行時數據區,類的實例(對象)從中分配空間。Java語言具有無用單元收集能力:它不給程序員顯式釋放對象的能力。Java不規定具體使用的無用單元收集演算法,可以根據系統的需求使用各種各樣的演算法。
5.方法區
方法區與傳統語言中的編譯後代碼或是Unix進程中的正文段類似。它保存方法代碼(編譯後的java代碼)和符號表。在當前的Java實現中,方法代碼不包括在無用單元收集堆中,但計劃在將來的版本中實現。每個類文件包含了一個Java類或一個Java界面的編譯後的代碼。可以說類文件是Java 語言的執行代碼文件。為了保證類文件的平台無關性,Java虛擬機規范中對類文件的格式也作了詳細的說明。其具體細節請參考Sun公司的Java虛擬機規范。
內容來源於網上。
❽ java的學習步驟講解,程序員進
Java程序設計循序漸進教程 ¥26.60元
【編輯推薦】 本書主要面向初中級讀者。如果讀者具備了C++語言基礎,那麼閱讀本書更會事半功倍,迅速掌握Java語言的開發技巧;如果你是新手上路,那麼本書可以作為一本絕佳教程,它讓你在了解Java語言的同時,掌握面向對象程序設計思想要點及與Java語言相關的各項技?...
Java程序設計基礎與應用 ¥19.00元
本書是專為落實教育部和信息產業部《關於確定職業院校開展計算機應用與軟體技術專業領域技能型緊缺人才培養培訓工作的通知》和《職業院校計算機應用與軟體技術專業領域技能型緊缺人才培養指導方案》精神而編寫的標準的職業院校教材。本書內容:本書由11章、6個附?...
二級C、C++、Java和Access:2002-2005·全國計算機等級考試教育部考試中心筆試試題及答案匯編 ¥19.95元
為適應新大綱的需要,此次修訂出版的2004年將最近幾處及2004年剛剛考過的試題按等級或科目分類匯編成4個分冊:二級Visual FoxPro及Visual Basic發冊包括2002年-2004年二級Visual FoxPro試題5套,以及2002年-2004年二級Visual Basic試題5套。二級C、C++、Java?...
Web資料庫編程--Java ¥19.00元
基於Web的"J2EE(JSP、Servlet、JDBC、Struts及Hibernate)+Oracle"技術是當前管理信息系統設計、開發的主流技術。本書主要介紹Web應用編程基礎、JSP、Servlet、JDBC連接、Java連接池、基於Oracle的設計與應用、Struts及Hibernate技術等內容。本書融入了作者多年從事J2E ...
數據結構Java語言描述(第二版)——國外經典計算機科學教材系列 ¥62.70元
在本書中,作者Michael Main採用一種易於理解的方法,使用Java來講解數據結構。本書給出了關於面向對象編程和Java的一個知識回顧,使學生得以牢固掌握關鍵的概念知識,不同層次的學生能夠根據自己的實際情況調整學習的內容。本書在結構安排上比較靈活,教師可以根據 ...
Java Script動態網頁編程實例手冊 ¥43.70元
這是一部關於如何用JavaScript語言來進行動態網頁編程的實例手冊。本書內容:全書由16章和3個附錄構成。主要內容包括JavaScript功能簡介、編程環境、數據類型和變數、與用戶交互的基本方法、運算符、條件和循環語句、函數、創建和使用自定義對象、JavaScript核心?...
全國計算機等級考試二級應試輔導——Java語言程序設計 ¥15.96元
本書是與教育部考試中心組織編寫的《全國計算機等級考試二級教程——Java語言程序設計》相配套的輔導書,各章的內容與教程一一對應。本書每章包括:學習目標與要求、內容要點、例題分析與解答、自測題和自測題參考答案等 五個部分。各章內容要點在概括主要內容的?...
設計模式:Java語言中的應用 ¥45.60元
本書是一本Design Pattern的入門書,書中以淺顯易懂的語言逐一說明了GoF的23個Design Pattern,讓初次學習面向對象的讀者也能立即掌握。在本書中不會看到死板的理論型文章,以Java語言寫出書中各Pattern的范常式序,可以直接在計算機上運行,便於讀者深入體會和應用 ...
JAVA實例技術手冊(第三版)——O'Reilly Jave系列 ¥75.81元
暢銷書《Java in a Nutshell》的作者精心打造了這樣一本實戰型Java圖書,全書都圍繞著真實世界Java編程實例展開,你將從中獲益多多。如果你更傾向於「通過例子」來學習,那麼這本書正是你的首選。全新的第三版涵蓋了Java 1.4,並收入了193個完整的實戰示例,其中 ...
Java項目開發實踐(第2版)(附CD-ROM光碟一張)——項目開發實踐系列 ¥37.05元
本書面向具有一定Java基礎的開發者。先簡單介紹了Java語言的語法知識、異常處理技術,以及面向對象程序設計的相關概念、方法和內容;然後介紹了Java項目開發基礎,包括GUI、網路、多媒體、資料庫和企業級應用開發。在此基礎上,講述了用Java語言來開發網路應用程序?...
Java項目開發實踐:網路篇(附CD-ROM光碟一張) ¥35.15元
Java語言及其體系結構使「編寫一次,隨處運行」的程序成為現實,也使各種終端設備以同樣的方式訪問系統成為可能。本書用一些大家感興趣的內容組織實例,從實例所涉及的知識點開始講解,逐步切換到代碼原型的介紹,最終呈現給大家一個完整實例。本書的另一個特點 ...
Java TM Servlet & JSP TM經典實例——O\\\\\\\'Reilly Java系列 ¥81.70元
Java servlet和JSP構成了企業級Java體系結構的「Web層」。這些組件在伺服器上執行與Web相關的常見任務,如處理與電子郵件伺服器、資料庫、企業級JavaBean(EJB)及Web伺服器的交互。本書用Tomcat和BEA WebLogic作為servlet容器,提供了230多個與許多重要的日常Web任 ...
JAVA與面向對象程序設計(影印版) ¥37.52元
自20世紀90年代初面世以來,Java因其具備平台獨立性、面向對象性、網路編程能力及能夠提供圖形用戶界面、支持線程,而成為許多應用程序的理想開發工具。本書幫助讀者學習Java的重要特性,並輔以網站http://sofpower.com/java對教學信息進行更新,提供網上例題、在線 ...
Java程序設計實訓教程——21世紀全國職業院校技能型緊缺人才培養規劃教材 ¥21.85元
本書是專為落實教育部和信息產業部《關於確定職業院校開展計算機應用與軟體技術專業領域技能型緊缺人才培養培訓工作的通知》和《職業院校計算機應用與軟體技術專業領域技能型緊缺人才培養指導方案》精神而編寫的標準的職業院校程序設計課程教材。本書內容:全書由 ...
Java程序設計——高等學校教育改革推薦教材 ¥19.95元
本書是依據本科和高職高專院校的培養目標及基本要求,結合作者多年來的教學經驗和工程實踐基礎,為實施教學改革,使計算機教學進一步面向軟體編程實踐而編寫的一本教材。包括的主要內容有:面向對象程序設計語言,Java程序設計入門,程序控制流程,JAVA的方法、類與 ...
JAVA多線程設計模式 ¥46.55元
多線程與並發處理是程序設計好壞優劣的重要課題,本書通過淺顯易懂的文字與實例來介紹JAVA線程相關的設計模式概念,並且通過實際的JAVA程序範例和UML圖示來一一解說,書中有代碼的重要部分加上標注使讀者更加容易解讀,再配合眾多的說明圖解,無論對於初學者還是程?...
深入淺出Java Swing 程序設計 ¥51.30元
本書中文繁體字版由台灣金禾資訊股份有限公司出版(2005)。本書中文簡體字經台灣金禾資訊股份有限公司授權由中國鐵道出版社出版(2005)。任何單位或個人未經出版者書面允許不得以任何手段復制或抄襲本書內容。 ...
Java程序設計基礎 ¥61.75元
本書以Java語言為工具,介紹了進行面向對象分析、設計和編程的方方面面。正文共分12章,包括Java語言簡介、類、數組、繼承、異常、圖形用戶介面、軟體工程、遞歸和數據結構等。本書的附錄內容豐富,包括Java語法、異常、運算符、修飾符等的參考,同時還提供了一個經 ...
Java 編程思想(英文版·第2版)(附光碟) ¥65.55元
From the fundamentals of Java syntax to its most advanced features (distributed computing, advanced Object-oriented capabilities, multithreading), Thinking In Java is designed to teach. Bruce Eckel\'s readable style and small, direct programming ...
Java面向對象應用程序開發 ¥57.00元
本書全面介紹了如何使用Java進行面向對象的應用程序開發,並著重介紹了開發適合CIS和MIS專業的學生和專業人員的業務信息系統的方法的技巧。全書共17章,分為5部分,主要內容包括面向對象的要領和Java基礎知識、問題域類的定義、GUI類的定義、數據存取類的定義以及部署三 ...
JAVA類庫查詢辭典 ¥39.90元
本書主要介紹Java編程過程中涉及到的常用函數。分為兩個部分,第一部分,簡要介紹本書中包含的Java包,按照由包到類,再由類到方法的邏輯層次關系,符合Java語言本身的特點,不但便於對Java語言整體結構有清晰的認識,而且也便於讀者對要了解的信息進行快速准確地定位。 ...
J2EE&Java黑客大曝光--開發安全的Java應用 ¥40.85元
隨著Java應用程序的廣泛應用,Java安全問題日益錯綜復雜。本書作者通過來自現實世界的攻擊案例,暴露黑客攻擊Java應用程序的方法和手段,提出防禦措施與方案,使您未雨綢繆,先人一步。 本書首先從Java及J2EE體系結構和基本安全機制入手,闡述Java認證和授權服務、Java?...
UML:JAVA程序員指南(雙語版) ¥46.55元
本書作者以獨特的視角,著重為Java程序員描述了UML 的利與弊,指導他們何時應該使用UML,以及如何使用UML。 ...
二級JAVA ¥28.31元
本書依據教育部考試中心最新發布的2004年版《全國計算機等級考試大綱》編寫而成,一方面結合命題規律,對重要考點進行分析、講解,並選取經典考題深入剖析;另一方面配有同步練習、模擬試題和上機試題,逐步向考生詳盡透析考試中的所有知識要點。 ...
❾ java代碼如何快速添加作者描述的注釋最好能有詳細的圖解
Window -->Preferences->Java->Editor->Templates ,
在這里new一個自己的插入注釋的快捷方式名稱,具體設置如下版:
Name處輸入 remark (任意你喜歡的名稱)
context處選 java 後邊權勾選Automatically insert復選框
Description 這里可以任意輸入描述
Pattern :(自定義格式)
/**
* @author ${user}
* @date : ${date} ${time}
*/
到這里全部設置完畢,下面 OK,找個java類,找個空白處測試一下, 輸入remark(前面寫的那個Name名稱),
再alt+/ 應該按一下就能看到剛才的Description的內容。