動態編譯

?

?下面的demo就涵蓋了動態編譯和運行類的過程

package 動態編譯;

import java.lang.reflect.Method;
import java.net.URL;
import java.net.URLClassLoader;

import javax.tools.JavaCompiler;
import javax.tools.ToolProvider;

public class Demo {

public static void main(String[] args) throws Exception {
JavaCompiler compiler=ToolProvider.getSystemJavaCompiler();

int result=( compiler.run(null,null, null,"G:/test.java"));
System.out.println(result==0?"編譯成功":"編譯失敗");
// //1:通過runtime.getRuntime運行啟動好的進程運行
// Runtime run=Runtime.getRuntime();
// Process process =run.exec("java -cp c:/myjava HelloWorld");
// InputStream io=process.getInputStream();
// BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(io));
// String info="";
// while((info= bufferedReader.readLine())!=null) {
// System.out.println(info);
// }
//2通過反射運行編譯的類‘
URL [] urls=new URL[] {new URL("file:/"+"C:/myjava/")};
URLClassLoader classLoader=new URLClassLoader(urls);
Class c=classLoader.loadClass("test");
Method c1= c.getMethod("main", String[].class);
c1.invoke(null, (Object)new String[] {"aa","bb"});
//注意要加Object,否則會理解為傳入aa,bb兩個參數了,而不是一個數組
}
}

轉載于:https://www.cnblogs.com/henuliulei/p/9571809.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/397025.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/397025.shtml
英文地址,請注明出處:http://en.pswp.cn/news/397025.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python怎么打開spyder_Python開發環境Spyder安裝方法

Spyder(Scientific PYthon Development EnviRonment)是一個強大的交互式 Python 語言開發環境,提供高級的代碼編輯、交互測試、調試等特性,支持包括 Windows、Linux 和 OS X 系統。 本文在只安裝過python2.7的Win7環境下進行安裝Spyder,其他環…

矩陣、向量求導法則

復雜矩陣問題求導方法:可以從小到大,從scalar到vector再到matrix。 x is a column vector, A is a matrix practice: 轉載于:https://www.cnblogs.com/vincentQin/p/5406010.html

java字符函數_java字符串函數用法匯總

替換字符串中的字符例如有如下x的字符串String x "[kllkklk\kk\kllkk]";要將里面的“kk”替換為,可以使用兩種方法得到相同的結果replace(CharSequence target, CharSequence replacement) —— x.replace("kk", "")replaceAll(Stri…

[Vue]Scoped Css與Css Modules的區別

均為解決CSS全局作用域問題&#xff08;樣式沖突&#xff08;污染&#xff09;&#xff09;的一個解決方案。 1.Scoped CSS 當 <style> 標簽有 scoped 屬性時&#xff0c;相當于在元素中添加了一個唯一屬性用來區分。 <style scoped> .example {color: red; } <…

mysql數據庫-mysql數據定義語言DDL (Data Definition Language)歸類(六)

0x01 創建數據庫并指定字符集和排序規則 -- 三種實例寫法 create database temptab2 character set utf8 collate utf8_general_ci; create database temptab3 charset utf8 collate utf8_general_ci; create database temptab4 character setutf8 collate utf8_general_ci; 查…

vue antd admin怎么切換到basic分支_vue菜鳥從業記:前端如何與后端哥們進行接口聯調...

最近我的朋友王小閏進入一家新的公司&#xff0c;正好公司項目采用的是前后端分離架構&#xff0c;技術棧是王小閏非常熟悉的vue全家桶&#xff0c;后端用的是Java語言。在前后端開發人員碰面之后&#xff0c;協商確定好了前端需要的數據接口(扯那么多&#xff0c;其實也就是關…

ASP.NET AntiXSS的作用

XSS跨站腳本攻擊是指用戶輸入HTML編碼對網站進行跨站攻擊。通過使用FCKeditor、FreeTextBox、Rich TextBox、Cute Editor、TinyMCE等等Html編輯器&#xff0c;用戶可以輸入一些危險字符&#xff0c;注入到網站中&#xff0c;形式XSS。&#xff08;一般的解決辦法是使用BBCode的…

p1358

這是一道二維樹狀數組模板題。 需要注意的可能只有這些xy有可能為零。那每次輸入之后全部&#xff0c;相當于全部向右下角移了一位。 那就直接給代碼了呦。 using namespace std; int c[1050][1050],n,m; int i,f; int a1,b1,a2,b2,tx,ty,tk; int ans; int lowbit(int x) {retu…

java中對象的生存期_深入理解Java虛擬機-判斷對象是否存活算法與對象引用

我們知道Java中的對象一般存放在堆中&#xff0c;但是總不能讓這些對象一直占著內存空間&#xff0c;這些對象最終都會被回收并釋放內存&#xff0c;那么我們如何判斷對象已經成為垃圾呢&#xff1f;這篇文章會提出兩種算法解決這個問題。另外&#xff0c;本文還要談一談對象引…

大數據高效復制的處理案例分析總結

一個老客戶提出這樣的需求&#xff0c;希望將SQLServer中的某個表的數據快速復制到SQLite數據庫里面以便進行定期的備份處理&#xff0c;數據表的記錄大概有50多萬條記錄&#xff0c;表有100個字段左右&#xff0c;除了希望能夠快速做好外&#xff0c;效率是第一位的&#xff0…

@autowired注解注入為null_Intellij IDEA中Mybatis Mapper自動注入警告的6種解決方案

相信使用Mybaits的小伙伴們一定會經常編寫類似如下的代碼&#xff1a;可以看到 userMapper 下有個紅色警告。雖然代碼本身并沒有問題&#xff0c;能正常運行&#xff0c;但有個警告總歸有點惡心。本文分析原因&#xff0c;并列出解決該警告的幾種方案。原因眾所周知&#xff0c…

五 Python之socket網絡編程

<1>socket概念 socket通常也稱作"套接字"&#xff0c;用于描述IP地址和端口&#xff0c;是一個通信鏈的句柄&#xff0c;應用程序通常通過"套接字"向網絡發出請求或者應答網絡請求。ocket本質上就是在2臺網絡互通的電腦之間&#xff0c;架設一個通道…

致敬2016,擁抱2017

2016年5月10號加入現在的團隊&#xff0c;到今天2016年12月31號&#xff0c;已經過去了接近8個月。這整個期間&#xff0c;我們團隊都只有我一個前端工程師&#xff0c;我從剛開始的忐忑不安、壓力極大&#xff0c;到現在基本上手&#xff0c;我們團隊做的項目雖然不大&#xf…

你如何在java中獲取線程堆_如何在Windows上獲取未在控制臺中運行的Java進程的線程和堆轉儲...

問題我有一個Java應用程序&#xff0c;我從控制臺運行&#xff0c;然后控制臺執行另一個Java進程。我想獲得該子進程的線程/堆轉儲。在Unix上&#xff0c;我可以做akill -3 但是在Windows AFAIK上獲取線程轉儲的唯一方法是在控制臺中使用Ctrl-Break。但這只會讓我轉移父進程&am…

html ie亂碼_Java 0基礎入門(初識Html)

在學習Java之前&#xff0c;我們需要了解一定的前端知識。畢竟頁面才是用戶真正看到的&#xff0c;而且也是體現Java后端邏輯結果的地方。學習HTML后&#xff0c;能夠制作界面美觀大方的靜態網站(更復雜的功能需要JavaScript腳本一起來實現)。HTML制作的網頁。所需要的Html開發…

常用自動化框架簡單的分析與介紹

目前常用的可用于APP自動化測試的框架有以下幾個&#xff1a; 1、Monkey是Android SDK自帶的測試工具&#xff0c;在測試過程中會向系統發送偽隨機的用戶事件流&#xff0c;如按鍵輸入、觸摸屏輸入、手勢輸入等)&#xff0c;實現對正在開發的應用程序進行壓力測試&#xff0c;也…

linux一步一腳印---more、less、head、tail

一、more 文件內容或輸出查看命令more 是我們最常用的工具之一&#xff0c;最常用的就是顯示輸出的內容&#xff0c;然后根據窗口的大小進行分頁顯示&#xff0c;然后還能提示文件的百分比&#xff1b; [rootlocalhost ~]# more /etc/profile 1、more 的語法、參數和命令&#…

單片機檢測stc沒反應_我為什么不用STC單片機

寫在2019.10.27這屬于自己打自己臉&#xff0c;不過&#xff0c;我突然想試試 STC15W108.理由可能有點操蛋&#xff0c;因為STM8S沒有 DFN8這樣 3x3的封裝&#xff0c;而PIC的仿真器太貴。我最后感興趣的一個STC型號是 STC15F的8腳系列&#xff0c;那是在2010年&#xff0c;然而…

commons-pool

commons-pool組件是使用對象池時都要用到的。他的作用主要是管理對象池&#xff0c; 當我們要用這個組件時&#xff08;比如redis要用到時&#xff09;&#xff0c;只需要實現它的部分接口&#xff0c;比如PooledObjectFactory接口&#xff0c;實現它的創建對象&#xff0c;銷毀…