新聞中心
java可以將新代碼加入到正在運(yùn)行的程序中嗎?
2) 可以將新代碼加入到一個(gè)正在運(yùn)行的程序中去。 1是一種中性結(jié)構(gòu) “Java編譯器生成的是一種中性的對(duì)象文件格式?!币簿褪钦f,Java編譯器通過偽編譯后,將生成一個(gè)與任何計(jì)算機(jī)體系統(tǒng)無關(guān)的“中性”的字節(jié)碼。
下城網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)建站2013年至今到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站。
master版本分支: 正式運(yùn)行環(huán)境中的程序代碼,運(yùn)行環(huán)境會(huì)定期自動(dòng)或按計(jì)劃手動(dòng)從該master版本分支中獲取代碼并重新編譯和運(yùn)行,不允許隨意修改,一旦出錯(cuò)將對(duì)系統(tǒng)造成嚴(yán)重后果。
記事本寫java代碼怎么運(yùn)行 首先,需要安裝jdk并配置環(huán)境變量。然后,在命令行中,用javac命令編譯用記事本編寫的代碼。下一步,在命令行中,用java命令執(zhí)行編譯后的結(jié)果。
jdk.config “jbuilder.exe”是一個(gè)通用的可執(zhí)行外殼文件,用以啟動(dòng)java程序,“jbuilderw.exe”好像是javaw.exe一樣,它把“jbuilder.exe”包裝起來,但是運(yùn)行時(shí)候不顯示那個(gè)console的窗口。使用這些文件的關(guān)鍵是文件名。
怎樣動(dòng)態(tài)執(zhí)行一段JAVA代碼
1、將你這段字符串輸出到一個(gè)文件里,用Java類文件的方式命名。調(diào)用外部javac命令將該文件編譯。用類加載器(ClassLoad)動(dòng)態(tài)加載新的class文件并用Class.forName()注冊(cè)該類,然后就可以正常使用了。
2、你安裝好JDK以后,還要配置環(huán)境變量。這個(gè)過程你可以去網(wǎng)上搜,有很多。如果你是用記事本寫的源代碼的話,要另存為一個(gè)后綴名為Java的文件,(比如該文件為Test.java)放在某個(gè)盤里。
3、這個(gè)沒辦法實(shí)現(xiàn)的。如果是一小段代碼,那么只能說是順序執(zhí)行代碼中的內(nèi)容(java代碼是順序執(zhí)行的)。如果是想多個(gè)線程同時(shí)跑多次這段代碼,那么每次創(chuàng)建一個(gè)線程,之后直接通過方法調(diào)用這段代碼即可。
4、在javascript中eval()可以實(shí)現(xiàn)字符串轉(zhuǎn)代碼,java中需要使用動(dòng)態(tài)編譯。把獲得的字符串寫入一個(gè)臨時(shí)文件中,然后編譯它,在調(diào)用其中的函數(shù)。
5、調(diào)用外部javac 用類加載器(ClassLoad)動(dòng)態(tài)加載新的class文件并用Class.forName()注冊(cè)該類,然后就可以正常使用了。類似反射和工廠方式的實(shí)現(xiàn)。
6、如果只是簡單的加減乘除,采用遞歸方式,按照運(yùn)算符優(yōu)先級(jí)計(jì)算,最后得到結(jié)果如果復(fù)雜一點(diǎn),可以采用動(dòng)態(tài)編譯,你寫的字符串算式,就變成java代碼,最后采用反射執(zhí)行兩種方式。
怎么給java對(duì)象添加動(dòng)態(tài)添加屬性和方法
Java無法動(dòng)態(tài)添加方法和屬性。Java是一門編譯性的語言,常見腳本語言是解析性語言。編譯性語言的類的成員與屬性在代碼編譯完成后就已經(jīng)固定了,無法動(dòng)態(tài)添加;解釋性語言是在運(yùn)行時(shí)可以動(dòng)態(tài)為對(duì)象添加屬性和方法。
java是面向?qū)ο蟮恼Z言 , 一個(gè)類編譯好之后 , 初次被加載進(jìn)入內(nèi)存之后 , 就不會(huì)更改了 , 如果一定要添加方法和屬性,這相當(dāng)于修改了這個(gè)class類型, 可以參考cglib之類的操作java字節(jié)碼的技術(shù)。
不可以,你可以想像一下,反射發(fā)生的時(shí)機(jī)和步驟。當(dāng)通過反射獲得了指定對(duì)象的Class對(duì)象之后,此時(shí)的對(duì)象是存放在堆內(nèi)存中的,而且已經(jīng)完成了編譯,此時(shí)的對(duì)象是無法對(duì)其進(jìn)行添加熟悉和方法的。
網(wǎng)站題目:java動(dòng)態(tài)添加代碼 java動(dòng)態(tài)加載java文件
轉(zhuǎn)載來于:http://fisionsoft.com.cn/article/desjgpp.html