Java動(dòng)態(tài)數(shù)組是一種可以任意伸縮數(shù)組長(zhǎng)度的對(duì)象,在Java中比較常用的是ArrayList,其中是表示泛形,即這個(gè)列表只能存放的實(shí)例,如:ArrayList list = new ArrayList();那這個(gè)list只能存放String。\x0d\x0a \x0d\x0a一般情況,數(shù)組定義后就不能改變大小。但很多場(chǎng)景又需要可以改變大小的數(shù)組。\x0d\x0a他雖然是動(dòng)態(tài)數(shù)據(jù),在底層其實(shí)還是數(shù)組,只不過(guò)在數(shù)組快要存放滿的時(shí)候,自動(dòng)創(chuàng)建一個(gè)更大的數(shù)組。

成都創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括鞏義網(wǎng)站建設(shè)、鞏義網(wǎng)站制作、鞏義網(wǎng)頁(yè)制作以及鞏義網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(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ù)的客戶以成都為中心已經(jīng)輻射到鞏義省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
Java代碼正常是靜態(tài)編譯成字節(jié)碼,由對(duì)應(yīng)平臺(tái)的JVM加載執(zhí)行,靜態(tài)編譯無(wú)法動(dòng)態(tài)擴(kuò)展功能。動(dòng)態(tài)編譯有兩種方式實(shí)現(xiàn):
從源碼編譯,需要調(diào)用Java Compiler,程序需要運(yùn)行于JDK(而不是JRE)之上。
動(dòng)態(tài)字節(jié)碼生成技術(shù)(如CGLib、ASM)創(chuàng)建類。
動(dòng)態(tài)編譯可以簡(jiǎn)化代碼,增強(qiáng)類功能,但也帶來(lái)了代碼復(fù)雜度,線上不易維護(hù)。
首先你可以使用輸入輸出流(或者你說(shuō)的可能是要用反射得到程序結(jié)果來(lái)解析)解析做出*.Java文件。
然后可以使用runtime調(diào)用Dos下的java編譯命令編譯取得class文件。
然后使用classloader,反射等組合執(zhí)行生成的class文件。
1.將你這段字符串輸出到一個(gè)文件里,用Java類文件的方式命名。
2.調(diào)用外部javac命令將該文件編譯。
3.用類加載器(ClassLoad)動(dòng)態(tài)加載新的class文件并用Class.forName()注冊(cè)該類,然后就可以正常使用了。
上面的每一步都能在baidu中找到實(shí)現(xiàn)方法,自己發(fā)揮吧。
import?javax.tools.*;
import?java.io.*;
/**
*?@author?hardneedl
*/
final?public?class?MyCompile?{
/**
*?@param?args?命令行參數(shù)只有1個(gè),即待編譯的源代碼文件的絕對(duì)路徑
*?@throws?FileNotFoundException
*/
public?static?void?main(String...?args)?throws?FileNotFoundException?{
JavaCompiler?compiler?=?ToolProvider.getSystemJavaCompiler();
int?r?=?compiler.run(null,null,null,args[0]);
System.out.println(r?==?0??"成功":"失敗");
}
}
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn=DriverManager.getConnection("數(shù)據(jù)庫(kù)url","帳號(hào)","密碼");
state=conn.createStatement();
state.executeUpdate("create 建表語(yǔ)句");
state.executeUpdate("insert 插入數(shù)據(jù)")------插入的值由頁(yè)面獲得,注意字符串拼接。
然后就是關(guān)閉連接,state.close();conn.close();
核心代碼就是這些,具體應(yīng)用你可以多寫(xiě)幾個(gè)方法(增刪改查),都是類似的,注意異常的處理,關(guān)閉連接最好在finally中進(jìn)行。
文章名稱:java動(dòng)態(tài)代碼集,java動(dòng)態(tài)編程
鏈接分享:http://chinadenli.net/article45/dsehgei.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、網(wǎng)站改版、網(wǎng)站設(shè)計(jì)、網(wǎng)站排名、定制開(kāi)發(fā)、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)