java主流編譯器sli
常用的就是Eclipse,My Eclipse,idea這三種,My Eclipse相對於其他兩種不是很常用
『貳』 JAVA的編譯器有哪些
JCreater 、JBuilder、eclipse、myeclipse、netbean這幾個是主流,eclipse和myeclipse(eclipse的擴展功能更多)是主流中的主流
『叄』 Java 相關的編譯技術
除了 Java 的編譯器和虛擬機器之外 還有一些相關的編譯技術 本文章試圖做一個簡單的說明 JIT 編譯器 傳統的 Java 虛擬機器很愚蠢 將一道 bytecode 的指令翻譯成機器碼之後 馬上執行這些機器碼 執行完這批機器碼之後 就把這些機器碼丟了 接液凳槐著再翻譯下一道 bytecode 的指令 繼續下去 即使下次執行到以前執行過的 bytecode 指令 依然要重新翻譯成機器碼才能執行 如此一來 效率當然不好 使用 JIT 編譯器(Just In Time piler)技術的虛擬機器比較聰明 會把常常執行的部分在第一次先翻譯好放在內存 以後再次執行到這里時 就不用再翻譯 直接從內存取出機器碼即可執行 這么一來 只要你的內存夠大 JIT 編譯器的技術夠好 你的 Java bytecode 執行速度也可以逼近純編譯式的程序 其它程序語言的編譯器 任何檔案只要符合 Java bytecode 的格式 就可以被 Java 虛擬機器執行 製造出 Java bytecode 的方式有許多種 不一定要使用 Java 語言來寫程序 才粗宴能編譯成 Java bytecode Java 是語言也是平台 你可以不使用 Java 語言(也就是 Java 編譯器) 只使用 Java 平台(也就是 Java 虛擬機器) 只要某語言有提供編譯器 能將該語言的原始碼編譯成 Java bytecode 格式 就可以在 Java 平台上執行 據我所知 目前已經有下列語言提供兼容於 Java 平台的編譯器(以英文字母鬧友順序排列) Aardappel Ada Agora BAMBOO Basic Bistro Bolero C C++ CLIPS COBOL Correlate Dawn E EcmaScript Eiffel Foo Forth Fortran Funnel Haskel Hojo javascript Jickle JIF Jinni Lisp LL LLP Logo Luck MINERVA Mini ML Mola NetRexx Nice Oberon Pascal PLAN Pnuts Prolog PS I Python Sather Scheme SELF Simkin Small Talk Tcl WebL Yassl Yoix Yoyo 原生編譯器 如果你不在乎 Java 程序能否跨平台 你希望 Java 程序能如同 C/C++ 一般被編譯成機器碼而非 Java bytecode 那麼你可以使用 Java 原生編譯器(native piler) 目前已經有不少這樣的產品可以使用 Java 原生編譯器有兩大類 一類可以把 Java 的原始碼編譯成機器碼 另一類則可以把 Java bytecode 編譯成機器碼 反編譯與混淆器 Java bytecode 因為檔案格式簡單 信息保留完整 且指令是最簡單的堆棧式(stack based)架構等因素 所以很容易被反編譯(de pilation) 反編譯指的是和編譯相反的過程 對 Java 來說 反編譯就是把 Java bytecode 轉換成 Java 原始碼的過程 為了防止你辛苦地開發出來的 Java bytecode 被他人反編譯成原始碼 你可以透過混淆器(obfuscator)將你的 Java bytecode 轉換成更混亂的 Java bytecode 執行起來效果一樣 但是被混淆過的 Java bytecode 比較不容易被反編譯 你通常要為此付出一點代價 因為混淆過的程序執行速度通常會變慢 且混淆器只能增加反編譯的難度 不能保證你的程序一定無法被反編譯成功 畢竟道高一尺 魔高一丈 如果有人願意花許多時間和精力反編譯你的 Java bytecode 你根本就無法攔阻 組譯與反組譯 匯編語言(assembly)是一種非常接近機器碼的語言 將匯編語言轉成機器碼的工具稱為組譯器(assembler) 反過來將機器碼轉成匯編語言的工具稱為反組譯器(dissembler) 對於 Java 虛擬機器來說 Java bytecode 就如同它的機器碼 有沒有一種語言是很接近 Java bytecode 的呢?也就是說 Java 有沒有的匯編語言呢?基本上 Sun 並未定義 Java 的標准匯編語言 但是有一些人定義了自己的 Java 匯編語言 並提供 Java 的組譯器(甚至反組譯器) 例如 Ja *** in 以及 javaa 都是 Java 組譯器 前處理器 前處理器(pre processor)也稱為前編譯器(pre piler)或前翻譯器(pre translator) 其目的在將源碼中不符合語言規范的部分轉換成符合語言規范的形式 比方說 我們可能在 ??????????Java 源碼中除了使用 Java 語言之外 還穿插使用自訂的語法 這些自訂的語法無法被 Java 編譯器處理 所以我們必須先透過一個前處理器來將自訂語法的部分轉換成 Java 語言 然後就可以交由 Java 編譯器處理 目前有不少 Java 的前處理器 例如 iContract SQLJ 都是用來擴充 Java 語言之用的 最佳化工具軟體 一般來說 最佳化有兩種 讓檔案體積變小 可以節省儲存空間並加快網路傳送速度 讓執行速度變快 對於 Java 來說 還有第三種最佳化 讓程序結構變亂 不容易被反編譯 也就是前面提到過的混淆(obfuscation) 這三個目的之間常常互相排擠 結構變亂 通常會使得程序變慢 且體積變大 體積變小 通常會使得速度變慢 且結構變整齊 速度變快 通常會使得體積變大 且結構變整齊 lishixin/Article/program/Java/hx/201311/27007
『肆』 初學java 用什麼編譯器
一 eclipse / myeclipse
當年學習java,最先接觸到的就是 eclipse。喔了個噻,當時感覺eclipse好牛啊,有好多先進的功能:
1. 可以方便地進行包管理。可視化窗口,創建目錄和文件都很方便,移動包,復制包等都可以方便的進行。
2.熱鍵操作。復制保存啥的就不說了,代碼提示這個功能還是很不錯的,在寫著寫著,腦子突然短路的時候,可以通過快捷鍵把腦子快速帶回來。
3.代碼調試。有時候,寫著寫著代碼,突然間就報錯了,不知道哪裡錯了,咋整,這時候,如果使用編輯器的話,就可以使用 debug模式進行調試了,找出問題所在,解決問題。
4.一些代碼管理等插件。在企業中肯定要用到代碼同步工具,svn 或者 git , 在編輯器中會提供這樣的插件,方便代碼的管理。
二 idea
相比 eclipse 和 myeclipse ,idea 的基本功能差不多。
1. 包管理:也是有方便的包和資源管理。
2.熱鍵:也是提供熱鍵管理的,而且還很好用。
3.代碼調試:debug模式用起來也是很舒服。
4.插件方面:也是支持一些插件的,如 熱部署插件等。
三 比較
1. 操作:兩個軟體有不同的快捷鍵,雖然idea兼容部分eclipse快捷鍵,但是不建議這樣做。
2.資源消耗:idea更能吃內存啊呦喂,電腦配置低的傷不起啊。eclipse要更柔和一點。
3.是否免費:eclipse 是免費的,myeclipse和idea 是要付費的呦。但是嘛,你懂得。
4.專業性:idea 應該是更專業的,有更高的代碼更新機制和代碼提示功能。但是 eclipse 涉及的范圍更廣,除了java 和可以編輯其他語言的項目。
四 建議
1. 如果電腦配置比較低,建議使用 eclipse ,並且使用較低版本的,這樣,電腦不會太吃力。如果配置比較高,比如,16G內存,固態硬碟,那就使用idea吧。
2. 沒有最好的編輯器,只有最適合自己的編輯器。任何一個編輯器用習慣了,都是很不錯的。
希望對您有所幫助!~
『伍』 Java開發工具哪個好
幾個自己以及身邊同事常用的,根據自己的需求選擇`
1. SparkJava
這是一款體形輕巧,功能強大的Web應用框架。Spark擁有簡單而直接的方法。您可以通過一些繁瑣的XML配置來使用Spark框架編寫應用程序。Spark能讓你花費最少的精力來開發Java的Web應用程序。
2. jClarity
jClarity是兩款產品的結合:illuminate用於性能監控,而census則可以收集日誌和分析數據。jClarity支持雲集成,並且其框架緊湊輕巧。
3.Clover
Clover是用於代碼覆蓋的一大利器。該工具有助於用於應用程序測試的代碼。我們可以在IDE或持續集成系統中運行Clover。該工具能讓測試的運行速度更快。
4. JProfiler
JProfiler擁有直觀的用戶界面,可以幫助你解決性能瓶頸和理解問題。JProfiler能讓你輕松約束內存泄漏和修復線程的問題。
5. VisualVM
VisualVM是一個集多功能於一身的Java故障排除工具。你可以使用VisualVM整合多命令行JDK工具。此輕便的工具有著驚人的分析能
力。你可以在各種技術,如jvmstat、JMX和Serviceability
Agent(SA)中使用VisualVM。VisualVM最出名的是附加了API,以獲得更多的數據,以及自動使用更快捷。
6. Elasticsearch
Elasticsearch提供了可以整合現有的應用程序來驅動其與輸入數據的交互的工具。這款開源工具提供了實時搜索和分析引擎。Elasticsearch可用於可靠性和可擴展性作為重要因素的分布式環境。該工具提供了超簡單的全文搜索體驗。
7. Sonarqube
Sonarqube是一個用來管理代碼質量的開放式平台。基於Web的應用程序可以與Java應用程序進行配置。它提供了規則、警報、閾值、排除和設置功能。
SonarQube允許用戶將指標結合在一起,以及使用歷史的措施混合。
8. Takipi
Takipi是一個輕量級的Java代理。Takipi安裝方便,用不了幾分鍾就可以搞定。它對代碼注釋或配置並沒有要求。你可以使用一台具有完全功能的伺服器與Takipi工作。此款
Java工具能幫助你減少調試時間。
『陸』 java新手用哪個編譯器比較好
建議直接從eclipse或myeclipse操作
Eclipse 是一個開放源代碼的、基於Java的可擴展開發平台。就其本身而言,它只是一個框架和一組服務,用於通過插件組件構建開發環境。幸運的是,Eclipse 附帶了一個標準的插件集,包括Java開發工具(Java Development Kit,JDK)。
MyEclipse企業級工作平台(MyEclipseEnterprise Workbench ,簡稱MyEclipse)是對EclipseIDE的擴展,利用它我們可以在資料庫和JavaEE的開發、發布以及應用程序伺服器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發環境,包括了完備的編碼、調試、測試和發布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate[1] 。
MyEclipse 是一個十分優秀的用於開發Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常強大,支持也十分廣泛,尤其是對各種開源產品的支持十分不錯。MyEclipse可以支持Java Servlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC資料庫鏈接工具等多項功能。可以說MyEclipse是幾乎囊括了目前所有主流開源產品的專屬eclipse開發工具。
『柒』 java的編譯器有哪些
JCreater 、JBuilder、eclipse、myeclipse、netbean這幾個是主流,eclipse和myeclipse(eclipse的擴展功能更多)是主流中的主流,JCreater一般是才學java基礎的時候用(其實一點都不好用),學校一般都用eclipse和myeclipse,所以建議你從這兩個中選擇