看板java
標 題Re: 請問import有無影響效能
發信站政大資科貓空行館 (Thu Jul 1 05:14:01 2004)
轉信站ptt!ctu-reader!ctu-peer!news.nctu!news.cis.nctu!smallcatBBS
※ 引述《[email protected] (關門! 放狗!)》之銘言:
: ※ 引述《[email protected] (月薪=1張股票)》之銘言:
: > Runtime 在用到那個class時 才會做load動作..
: > 不然import java.xxxx.*<=不就慘了?
: >
: 跟C的include好像不大一樣? 在compile c檔前便都已經抓進來 一起compile.
: 所以這些packet或是class如果要類比的話,是不是比較像是C去call的dll檔?
: (lib檔則是在執行前便
: 都load進來了)
: 但C即使call dll裡頭的
: API,是否也如同樓上說的
: 只抓該API?還是整個dll
: 都runtime loading阿?
1.import 是 compiler time binding, 跟run time 無關
2.java對程式碼本身有另外一個heap 和 gc, 太久沒有被呼叫的部份會從memory中delete
(所以寫static的東西絕對要小心, 如
class xxx {
static int y = pack();
static int x = 10;
static int pack() {return x;}
static void main(String[] args){System.out.println(y);}
}
這樣寫已經錯得很慘 )
3.call dll應該是dynamic linked, C有能力call 但沒能力從memory中delete
只能靠OS的管理了
--
※ Origin: 貓空行館 ◆ From: DOTA.dorm9.nccu.edu.tw