国产偷窥熟女精品视频大全,国产成人精品av,国产亚洲精品久久久久5区,国产精品欧美一区二区三区,,国产成人亚洲精品无码av大片

Java 快速開(kāi)發(fā)幾 MB 獨(dú)立 EXE,寫(xiě)圖形界面很方便(java怎么開(kāi)發(fā)exe程序)

aardio 可以支持很多編程語(yǔ)言, Java 就是其中之一。

aardio Java 可生成體積極小的獨(dú)立 EXE 文件,可以?xún)?nèi)存加載 Java 編寫(xiě)的 Class 文件,用 aardio Java 生成的軟件,發(fā)布時(shí)不需要攜帶 Java 運(yùn)行時(shí)。

aardio 寫(xiě)圖形界面很方便,參考僅 755 KB 的開(kāi)源軟件 Gif123:

Java 快速開(kāi)發(fā)幾 MB 獨(dú)立 EXE,寫(xiě)圖形界面很方便(java怎么開(kāi)發(fā)exe程序)

aardio 開(kāi)發(fā)的程序,兼容XP,Vista,Win7,Win8Win10,Win11…… 等所有系統(tǒng)。aardio 只支持 Windows 系統(tǒng)( macOS Linux 桌面市場(chǎng)份額小于被遺忘的 Win8 ),同時(shí)也扔掉了跨平臺(tái)的沉重包袱(更輕量、更好地利用專(zhuān)用平臺(tái)優(yōu)勢(shì))。將需要跨平臺(tái)的代碼用 java 寫(xiě),這并不影響在 Windows 上可以使用 aardio 生成 EXE 文件 ??缙脚_(tái)與專(zhuān)有平臺(tái)工具并不沖突,可以相互結(jié)合。

開(kāi)始

默認(rèn)只要在 aardio 中調(diào)用

import java;

就會(huì)自動(dòng)搜索系統(tǒng)可用的 JRE,如果沒(méi)有找到 JRE,會(huì)自動(dòng)導(dǎo)入 java.jre.v8 擴(kuò)展庫(kù),并自動(dòng)安裝 OpenJDK JRE v8 。

如果您希望發(fā)布的軟件自帶 Java 運(yùn)行時(shí),或者指定 JRE 的版本,只要在 aardio 中導(dǎo)入其他版本 JRE 的擴(kuò)展庫(kù)就可以,例如運(yùn)行

import java.jre.v8ora

就可以自動(dòng)綁定 Oracle Java 8 運(yùn)行時(shí),軟件運(yùn)行會(huì)自動(dòng)查找用戶(hù)電腦上符合要求的 JRE,如果沒(méi)有找到會(huì)全自動(dòng)地安裝和部署好,開(kāi)發(fā)者要做的,僅僅就是寫(xiě)幾句代碼,把 EXE 簡(jiǎn)單地分發(fā)給用戶(hù)就可以了。

當(dāng)然,獨(dú)立 EXE 也可以嵌入更小的 JRE,aardio 里提供了一個(gè)示例 JRE,只要簡(jiǎn)單的在代碼中加入

import java.jre.v6

就可以在軟件中嵌入一個(gè)精簡(jiǎn)版的 JRE 6 運(yùn)行時(shí),這個(gè) JRE 只有 6MB 多一點(diǎn),而且可以生成獨(dú)立 EXE 文件,甚至還能支持 Windows XP 這種古老的系統(tǒng)。Java 寫(xiě)的桌面軟件帶上運(yùn)行時(shí)只有 6 MB,而且還是獨(dú)立 EXE 文 件,是不是難以置信?!想一想 Electron 沒(méi)寫(xiě)多少功能就可能超過(guò)百 MB 的體積,Java 寫(xiě)的桌面軟件算不算得上小、輕、快呢?!

現(xiàn)代 Java 已經(jīng)可以非常方便地生成精簡(jiǎn)版的 JRE,所以你只要參考 java.jre.v6 的實(shí)現(xiàn)( 放心這個(gè)庫(kù)的源代碼只有幾行 ),就可以非常輕松地更換為其他 JRE 版本,并生成極小的 EXE文件( 而且可以是獨(dú)立的 EXE文件)。

好吧,我們來(lái)看幾個(gè) aardio 自帶的 aardio Java 范例( 可以直接運(yùn)行 )。

Java 快速開(kāi)發(fā)幾 MB 獨(dú)立 EXE,寫(xiě)圖形界面很方便(java怎么開(kāi)發(fā)exe程序)

aardio 調(diào)用 Java 函數(shù)

首先請(qǐng)看下面 aardio 調(diào)用 Java 如此簡(jiǎn)單,我們可以在 aardio 中直接導(dǎo)入 Java 的類(lèi),創(chuàng)建 Java 對(duì)象,就像在 Java 代碼中一樣使用它們。

import console;import java;//創(chuàng)建 Java 虛擬機(jī)var jvm = java();//導(dǎo)入 Java 類(lèi)HelloworldApp = jvm.import( "aardio.sample.HelloworldApp");//修改類(lèi)的靜態(tài)成員變量HelloworldApp.static_num = 996;//獲取類(lèi)的靜態(tài)成員變量console.log( HelloworldApp.static_num );//直接用 Java 類(lèi)創(chuàng)建 Java 對(duì)象,跟 Java 中一樣用就行var helloworld = HelloworldApp();//獲取對(duì)象的成員字段值console.log( helloworld.name );//調(diào)用對(duì)象的方法console.log( helloworld.test(1) );//調(diào)用 main 函數(shù),參數(shù)是字符串?dāng)?shù)組var ret = HelloworldApp.main( {"aaa字符串?dāng)?shù)組1","bbb字符串?dāng)?shù)組2"} );console.log(ret);console.pause();

Java 會(huì)在 CLASSPATH 指定的搜索目錄下使用 Java 類(lèi)名(替換'.'為'')" 去查找類(lèi),這類(lèi)似 Windows 到 %PATH% 環(huán)境變量下搜索文件。CLASSPATH 已默認(rèn)添加 "/java/"以及"/java/*.jar" 在首次創(chuàng)建 Java 虛擬機(jī)以前,可用下面的函數(shù)添加目錄到 CLASSPATH:

java.addClassPath("/java/");

以上參數(shù)指定目錄下的 *.jar 也會(huì)自動(dòng)添加(不遞歸子目錄)。

也可以如下自?xún)?nèi)存或文件直接加載類(lèi),注意下面的路徑前面的$操作符可將文件編譯到代碼中(發(fā)布后不再需要原文件)

HelloworldApp = jvm.import("aardio.sample.HelloworldApp" ,$"javaaardiosampleHelloworldApp.class");

以上文件路徑前面的波浪線(xiàn)反斜杠(或斜桿)表示程序根目錄(開(kāi)發(fā)時(shí)一般指工程目錄,發(fā)布后指啟動(dòng)EXE文件所在的目錄)。

Java 調(diào)用 aardio 函數(shù)

示例:

import console;import java; //創(chuàng)建 Java 虛擬機(jī)var jvm = java(); //導(dǎo)入 Java 類(lèi)HelloworldApp = jvm.import( "aardio.sample.HelloworldApp");//為 Java 提供 Native APIHelloworldApp.registerNative( function(env,jobject,jstring){ var code = jvm.parseString(jstring) //也可以用 owner.parseString(jstring) var func = loadcode(code) return jvm.string( func() ) },"aardio","string(string)") var helloworld = HelloworldApp();console.log( "Java 函數(shù)返回值",helloworld.test_aardio() );console.pause()

Java 類(lèi) HelloworldApp (在范例中可以找到)中如下聲明 aardio 函數(shù):

static native String aardio(String code);

aardio 直接運(yùn)行 jar 程序

您僅需數(shù)句代碼可以將 jar 導(dǎo)入 aardio 生成軟件件。以 Java 編寫(xiě)的軟件 FFDec 為例,原來(lái)只能自己去下載安裝 JRE,現(xiàn)在不用這么做了,我用 aardio 寫(xiě)了個(gè)例子:

Java 快速開(kāi)發(fā)幾 MB 獨(dú)立 EXE,寫(xiě)圖形界面很方便(java怎么開(kāi)發(fā)exe程序)

這個(gè)擴(kuò)展庫(kù) java.ffdec 的源代碼只有幾句:

Java 快速開(kāi)發(fā)幾 MB 獨(dú)立 EXE,寫(xiě)圖形界面很方便(java怎么開(kāi)發(fā)exe程序)

aardio 調(diào)用 jar 的 main 函數(shù)

我們還可以直接調(diào)用 jar 的 main 函數(shù)來(lái)運(yùn)行 Java 程序,以 YUICompressor 為例:

import java;import java.yuiCompressor;java.addClassPath("~libjavayuiCompressor.resyuicompressor.jar")var jvm = java();YUICompressor = jvm.import( "com.yahoo.platform.yui.compressor.YUICompressor");var ret = YUICompressor.main({"d:test.js", "-o","d:testmin.js"})

Java 函數(shù)簽名

原本調(diào)用 Java 函數(shù)要寫(xiě)簽名,但這個(gè)簽名寫(xiě)起來(lái)是有些累的。所以 aardio 已經(jīng)把這個(gè)事情完全給優(yōu)化掉了,aardio 調(diào)用 Java 一般不用再去寫(xiě)簽名。

但是 aardio 仍然允許以聲明普通靜態(tài) API 函數(shù)的語(yǔ)法指定 Java 函數(shù)簽名 —— 然后由 aardio 自動(dòng)翻譯為 Java 函數(shù)簽名。

舉個(gè)例子:

import java;var jvm = java();//導(dǎo)入 Java 類(lèi)HelloworldApp = jvm.import( "aardio.sample.HelloworldApp"); //getMethod 用于獲取一個(gè)函數(shù),參數(shù) @2 指定函數(shù)簽名var main = HelloworldApp.getMethod("main","string(string[])");//通過(guò)聲明導(dǎo)入的函數(shù),如果參數(shù)是字符串,可以把參數(shù)展開(kāi)寫(xiě)var result = main("test1","test2")

但是上面的函數(shù)簽名一般可以省略,可以簡(jiǎn)化為下面的代碼:

HelloworldApp.main( { "aaa字符串?dāng)?shù)組1","bbb字符串?dāng)?shù)組2"} )

上面的示例需要的 Java 類(lèi),可以在? aardio 自帶范例里找到:

Java 快速開(kāi)發(fā)幾 MB 獨(dú)立 EXE,寫(xiě)圖形界面很方便(java怎么開(kāi)發(fā)exe程序)

?

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶(hù)自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。

(0)
上一篇 2024年5月1日 下午2:19
下一篇 2024年5月1日 下午2:30

相關(guān)推薦

  • 西南大學(xué)科研項(xiàng)目分類(lèi)和計(jì)分辦法西南大學(xué)科研項(xiàng)目分類(lèi)和計(jì)分辦法

    西南大學(xué)科研項(xiàng)目分類(lèi)和計(jì)分辦法 近年來(lái),西南大學(xué)一直致力于推動(dòng)科技創(chuàng)新和學(xué)術(shù)發(fā)展。為了更好地管理和評(píng)估科研項(xiàng)目的質(zhì)量和成果,西南大學(xué)制定了一套科學(xué)的科研項(xiàng)目分類(lèi)和計(jì)分辦法。本文將介…

    科研百科 2024年6月19日
    57
  • 信息管理系統(tǒng)項(xiàng)目驗(yàn)收

    信息管理系統(tǒng)項(xiàng)目驗(yàn)收: 隨著信息技術(shù)的不斷發(fā)展,信息管理系統(tǒng)已經(jīng)成為企業(yè)、學(xué)校、醫(yī)院等組織中不可或缺的一部分。一個(gè)有效的信息管理系統(tǒng)可以提高組織的信息效率,降低運(yùn)營(yíng)成本,增強(qiáng)組織的…

    科研百科 2025年1月14日
    3
  • 高登項(xiàng)目管理系統(tǒng)

    高登項(xiàng)目管理系統(tǒng):提升企業(yè)項(xiàng)目管理效率的利器 高登項(xiàng)目管理系統(tǒng)是一款功能強(qiáng)大的項(xiàng)目管理工具,可以幫助企業(yè)提高項(xiàng)目管理效率,降低項(xiàng)目管理成本,提升項(xiàng)目管理水平。隨著市場(chǎng)競(jìng)爭(zhēng)的加劇,企…

    科研百科 2025年6月13日
    0
  • 科研項(xiàng)目績(jī)效填報(bào)

    科研項(xiàng)目績(jī)效填報(bào) 隨著科技的快速發(fā)展,科研項(xiàng)目已經(jīng)成為推動(dòng)經(jīng)濟(jì)增長(zhǎng)和社會(huì)進(jìn)步的重要力量。然而,科研項(xiàng)目的績(jī)效如何衡量和管理,一直是學(xué)術(shù)界和業(yè)界關(guān)注的話(huà)題。 科研項(xiàng)目的績(jī)效是指項(xiàng)目完…

  • 如何進(jìn)行多項(xiàng)目管理

    多項(xiàng)目管理是一種高效的工作方式,能夠幫助企業(yè)和個(gè)人更好地管理和協(xié)調(diào)多個(gè)項(xiàng)目之間的關(guān)系,提高項(xiàng)目完成的效率和質(zhì)量。在本文中,我們將探討如何進(jìn)行多項(xiàng)目管理,包括如何規(guī)劃、執(zhí)行和控制項(xiàng)目…

    科研百科 2024年8月17日
    4
  • 干部考察材料放在檔案哪一類(lèi)

    干部考察材料放在檔案哪一類(lèi) 干部考察材料是干部選拔、考核、任免和評(píng)價(jià)的重要依據(jù),是反映干部德才和能力的重要材料。對(duì)于干部的考察材料,應(yīng)該按照不同的標(biāo)準(zhǔn)進(jìn)行分類(lèi),以便更好地反映干部的…

    科研百科 2024年12月1日
    25
  • 高??蒲许?xiàng)目套錢(qián)

    高??蒲许?xiàng)目套錢(qián) 近年來(lái),高??蒲许?xiàng)目套錢(qián)現(xiàn)象日益增多,成為了學(xué)術(shù)界的一大問(wèn)題。一些高??蒲许?xiàng)目組織者利用政府提供的資金支持,通過(guò)虛報(bào)經(jīng)費(fèi)、虛構(gòu)項(xiàng)目成果等手段,套取經(jīng)費(fèi),用于個(gè)人或…

    科研百科 2025年3月28日
    5
  • 以“檔”管“案” 以嚴(yán)謹(jǐn)促精細(xì)多措并舉強(qiáng)化檔案管理工作(多舉措加強(qiáng)檔案管理)

    近年來(lái),靜寧縣人民檢察院認(rèn)真貫徹落實(shí)最高檢、省市院關(guān)于檔案工作總體部署要求,扎實(shí)履行檢察機(jī)關(guān)檔案管理職責(zé),狠抓檔案管理工作,以推進(jìn)檔案數(shù)字精細(xì)化建設(shè)為抓手,以實(shí)現(xiàn)檔案管理規(guī)范化、標(biāo)…

    科研百科 2023年12月27日
    182
  • 心理學(xué)論文科研項(xiàng)目推薦

    心理學(xué)是一門(mén)研究人類(lèi)思維,情感和行為的學(xué)科。近年來(lái),隨著科技的進(jìn)步,心理學(xué)的研究領(lǐng)域也在不斷拓展。以下是一些值得推薦的心理學(xué)論文科研項(xiàng)目: 1. \”The Effec…

    科研百科 2025年5月11日
    3
  • 項(xiàng)目施工進(jìn)度管理

    項(xiàng)目施工進(jìn)度管理 項(xiàng)目施工進(jìn)度管理是項(xiàng)目管理中非常重要的一個(gè)環(huán)節(jié),它是為了保證項(xiàng)目在預(yù)定時(shí)間內(nèi)高質(zhì)量地完成,保證項(xiàng)目質(zhì)量、安全和效益的關(guān)鍵。本文將介紹項(xiàng)目施工進(jìn)度管理的重要性和如何…

    科研百科 2024年9月26日
    3