相同點(diǎn):都是在JVM加載類(lèi)時(shí)且在構(gòu)造方法執(zhí)行之前執(zhí)行,在類(lèi)中都可以定義多個(gè),
創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括靈武網(wǎng)站建設(shè)、靈武網(wǎng)站制作、靈武網(wǎng)頁(yè)制作以及靈武網(wǎng)絡(luò)營(yíng)銷(xiāo)策劃等。多年來(lái),我們專(zhuān)注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,靈武網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶(hù)以成都為中心已經(jīng)輻射到靈武省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶(hù)的支持與信任!
一般在代碼塊中對(duì)一些static變量進(jìn)行賦值。
不同點(diǎn):靜態(tài)代碼塊在非靜態(tài)代碼塊之前執(zhí)行(靜態(tài)代碼塊—非靜態(tài)代碼塊—構(gòu)造方法)。
靜態(tài)代碼塊只在第一次new執(zhí)行一次,之后不再執(zhí)行,而非靜態(tài)代碼塊在每new
一次就執(zhí)行一次。非靜態(tài)代碼塊可在普通方法中定義(不過(guò)作用不大);而靜態(tài)代碼塊不行。
例:
//普通類(lèi)
public class PuTong {
public PuTong(){
System.out.print("默認(rèn)構(gòu)造方法!--");
}
//非靜態(tài)代碼塊
{
System.out.print("非靜態(tài)代碼塊!--");
}
//靜態(tài)代碼塊
static{
System.out.print("靜態(tài)代碼塊!--");
}
public static void test(){
{
System.out.println("普通方法中的代碼塊!");
}
}
}
//測(cè)試類(lèi)
public class TestClass {
/**
* 區(qū)別兩次new靜態(tài)與非靜態(tài)代碼塊執(zhí)行情況
*/
public static void main(String[] args) {
PuTong c1 = new PuTong();
c1.test();
PuTong c2 = new PuTong();
c2.test();
}
}
/*
運(yùn)行輸出結(jié)果是:
靜態(tài)代碼塊!--非靜態(tài)代碼塊!--默認(rèn)構(gòu)造方法!--普通方法中的代碼塊!
非靜態(tài)代碼塊!--默認(rèn)構(gòu)造方法!--普通方法中的代碼塊!
*/
靜態(tài)綁定:例如一個(gè)變量在聲明的時(shí)候,就初始化最初值;
動(dòng)態(tài)綁定:聲明一個(gè)變量,在后續(xù)用set方法對(duì)其動(dòng)態(tài)設(shè)置值;
靜態(tài)編譯:編譯器在編譯可執(zhí)行文件的時(shí)候,將可執(zhí)行文件需要調(diào)用的對(duì)應(yīng)動(dòng)態(tài)鏈接庫(kù)(.so)中的部分提取出來(lái),鏈接到可執(zhí)行文件中去,使可執(zhí)行文件在運(yùn)行的時(shí)候不依賴(lài)于動(dòng)態(tài)鏈接庫(kù)。
動(dòng)態(tài)編譯:某些程式語(yǔ)言在執(zhí)行時(shí)用來(lái)增進(jìn)效能的方法。
前綁定:還未出現(xiàn)即綁定了某些事件
后綁定:出現(xiàn)后才會(huì)綁定的某些事件
JAVA本身就是表態(tài)編譯語(yǔ)言, 我想你要找的是JAVA程序的發(fā)布
首先JAVA程序運(yùn)行肯定需要在目標(biāo)機(jī)器上有jre(不是JDK), 如果你想不管目標(biāo)機(jī)上有沒(méi)有jre程序都能正常運(yùn)行的話(huà)就要在你的發(fā)布包里包含jre
發(fā)布目錄結(jié)構(gòu)舉例:
App
......bin 包含啟動(dòng)腳本
......lib 包含引入的第三方包
......jre JRE必要的包
啟動(dòng)腳本這樣寫(xiě):
../jre/bin/java -cp ../lib/JAR包名稱(chēng).jar 啟動(dòng)類(lèi)名稱(chēng)
java靜態(tài)初始化器對(duì)static進(jìn)行初始化。
所謂的靜態(tài)和動(dòng)態(tài)是相對(duì)于程序運(yùn)行是而言的,靜態(tài)是在程序編譯時(shí)就初始化好了的,動(dòng)態(tài)初始化是在程序運(yùn)行是才動(dòng)態(tài)分配內(nèi)存空間。
static變量初始值一定要是常量。static變量中文名叫靜態(tài)變量。位置靜態(tài)局部變量被編譯器放在全局存儲(chǔ)區(qū).data,所以它雖然是局部的,但是在程序的整個(gè)生命周期中存在。
作用:
對(duì)于靜態(tài)全局變量來(lái)說(shuō),針對(duì)某一源文件的以static聲明的文件級(jí)變量與函數(shù)的作用域只限于文件內(nèi)(只在文件內(nèi)可見(jiàn)),也即“內(nèi)部連接”,因而可以用來(lái)限定變量的作用域。
對(duì)于靜態(tài)局部變量來(lái)說(shuō),在函數(shù)內(nèi)以static聲明的變量雖然與自動(dòng)局部變量的作用域相同(即作用域都只限于函數(shù)內(nèi))。
但存儲(chǔ)空間是以靜態(tài)分配而非默認(rèn)的自動(dòng)分配方式獲取的,因而存儲(chǔ)空間所在區(qū)域不同,且兩次調(diào)用間變量值始終保持一致;必須注意,靜態(tài)局部變量只能初始化一次,這是由編譯器來(lái)保證實(shí)現(xiàn)。
對(duì)于靜態(tài)成員變量來(lái)說(shuō),在C++中,在類(lèi)的定義中以static聲明的成員變量屬于類(lèi)變量,也即在所有類(lèi)實(shí)例中共享,與之相對(duì)的就是過(guò)程變量。
網(wǎng)頁(yè)題目:java代碼靜態(tài)編譯,Java靜態(tài)編譯
網(wǎng)頁(yè)路徑:http://chinadenli.net/article38/heeopp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、網(wǎng)站策劃、網(wǎng)站收錄、做網(wǎng)站、面包屑導(dǎo)航、網(wǎng)頁(yè)設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)