第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

如何理解繞過編譯運行

項目是先編譯,在編譯期間為類分配資源,編譯后生成.class文件,運行是運行已經(jīng)編譯好的文件。 問:那如何理解繞過編譯運行呢? 老師的意思并不是真正的繞過,而是,eclipse你點run的時候,是編譯運行一起來,而老師的操作是,我不需要你編譯了,因為第一次我就編譯運行了,我現(xiàn)在拿編譯好的.class文件,直接運行,不需要再次編譯,因為編譯好的文件沒有泛型的概念,所以老師可以任意輸入類型然后運行而沒有報錯。這是我自己的理解。

正在回答

3 回答

list<string>里面的string只是在編譯的時候用來檢測放入的數(shù)據(jù)類型是否正確,編譯成class的時候已經(jīng)去掉string了,你再通過反射進行添加的時候已經(jīng)沒有限制了。

0 回復(fù) 有任何疑惑可以回復(fù)我~

反射做了什么:反射使代碼的靈活性提高了;

就相當(dāng)于人的逆向思維;

0 回復(fù) 有任何疑惑可以回復(fù)我~

我覺得不是這個意思,我idea直接運行的,其中就包括了生成字節(jié)碼這一環(huán)節(jié),總結(jié)就是,依然走正常的編譯流程,通過反射的方法,只是不會再報錯而已。

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

Nomo_Air 提問者

編譯的過程是生成.class文件的過程,idea的運行是編譯+運行。比如我們想用Util這個jar包。你會發(fā)現(xiàn)包下邊都是.class結(jié)尾的文件,你可以用這個包下的方法,也就是說你用List,Map這些方法都是人家給你編譯好的.class文件,你可以用它相關(guān)的方法,老師演示的int.class。就是這個意思,通過反射可以拿到的是這個類對應(yīng)一些東西,如方法,參數(shù)這些,編譯后的文件沒有泛型的約束,也就是.class文件沒有泛型的約束,所以,你用反射拿到這個方法對應(yīng)的.class。然后運行這個.class。你就繞過了泛型約束,不知道你是怎么理解編譯和運行,還有反射究竟做了什么。
2017-08-07 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

如何理解繞過編譯運行

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號