欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      Java程序員必須掌握的開發(fā)工具

      時(shí)間:2019-05-12 21:09:46下載本文作者:會(huì)員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《Java程序員必須掌握的開發(fā)工具》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《Java程序員必須掌握的開發(fā)工具》。

      第一篇:Java程序員必須掌握的開發(fā)工具

      Java程序員必須掌握的開發(fā)工具

      以下的開發(fā)工具,能幫助你成為一名高級(jí)java程序開發(fā)人員。

      1.Eclipse

      盡管IntelliJ IDEA、NetBeans和一些其他的IDE正在日益普及,但是有調(diào)查表明,Eclipse仍然是幾乎半數(shù)Java開發(fā)人員首選的開發(fā)環(huán)境。Eclipse是IDE領(lǐng)域的瑞士軍刀,有著大量定制的接口和無數(shù)的插件。它無處不在,后面本文將推薦的其他所有工具都提供Eclipse插件。這也是八維必講的開發(fā)工具。

      Eclipse的工作流程可分為三個(gè)方面:工作臺(tái),工作空間和視角。工作臺(tái)作為到IDE的出發(fā)點(diǎn)。工作空間將項(xiàng)目、文件和配置設(shè)置組合在一個(gè)單獨(dú)的 目錄下。視角定義工具、視圖和有效設(shè)置。雖然新手開發(fā)人員可能會(huì)覺得相比Netbeans和IntelliJ IDEA,Eclipse使用起來更難,但Eclipse的靈活性,使其成為企業(yè)開發(fā)的首選IDE。

      Luna,Eclipse的最新版本,支持Java

      8、分屏編輯、新的黑色主題,以及一個(gè)功能齊全的命令行終端。

      2.Gradle

      Gradle是一個(gè)自動(dòng)化項(xiàng)目工具,建立在Apache Maven和Apache Ant的功能上。雖然Gradle并不是最流行的構(gòu)建工具(最流行的是Maven,64%的Java開發(fā)人員會(huì)選擇它),但它的普及速度很快。它也可作為默認(rèn)的Android構(gòu)建工具。

      Gradle引以為傲的是它的簡單。Gradle使用Groovy編程語言,與Maven和Ant使用XML語法截然相反。

      3.Javadoc

      Javadoc是Oracle提供的文檔生成器。它可以將特殊格式的注釋解析為HTML文檔。

      Javadoc注釋使用開放標(biāo)簽、關(guān)閉標(biāo)簽,以及一個(gè)或多個(gè)描述性標(biāo)簽的格式。開放式標(biāo)簽類似于標(biāo)準(zhǔn)Java多行注釋標(biāo)記,使用兩個(gè)星號(hào)的除外。Javadoc也解析普通的HTML標(biāo)簽。

      Javadoc自動(dòng)格式化標(biāo)簽和關(guān)鍵字,除非另有規(guī)定。Javadoc廣泛使用超鏈接,允許你參考和鏈接到代碼的不同區(qū)域。許多IDE--包括 Eclipse--可以自動(dòng)添加Javadoc注釋模塊到變量、類和方法中。支持Maven、Gradle和Ant的插件在編譯代碼的同時(shí)也可以構(gòu)建 Javadoc HTML。

      4.JUnit

      JUnit是用于編寫和運(yùn)行單元測試的開源框架。一個(gè)基本的JUnit測試包括測試類、測試方法、以及執(zhí)行測試的功能。JUnit使用標(biāo)注來確定測試如何構(gòu)造和運(yùn)行。例如,如果你的程序有一個(gè)類叫做MathClass,具有乘法和除法的方法,你可以創(chuàng)建JUnit測試來檢 查不符合預(yù)期的值。輸入數(shù)字2和5到乘法方法,你希望得到的結(jié)果為10。當(dāng)輸入0作為除法方法的第二個(gè)參數(shù)時(shí),你會(huì)期望給出一個(gè)數(shù)字計(jì)算異常的警告因?yàn)槌?數(shù)不能為0:

      @Test標(biāo)注規(guī)定,MathClass方法是一個(gè)測試用例。在JUnit提供額外的標(biāo)注,比如@Before,這樣你就可以在測試運(yùn)行之前設(shè)置環(huán)境。JUnit還可以設(shè)置規(guī)則用于定義測試方法的行為。例如,TemporaryFolder規(guī)則使得一旦測試完成,由測試創(chuàng)建的文件或文件夾就會(huì)被刪除。

      5.Cobertura

      Cobertura可用于分析Java代碼的測試覆蓋率。Cobertura根據(jù)沒有被測試覆蓋的代碼生成基于HTML的報(bào)告。

      Cobertura提供可用于插裝、檢查和測試代碼的工具。通過監(jiān)控可測試的代碼,Cobertura允許你使用你選擇的測試框架,甚至不需要測試框架就可以運(yùn)行程序。

      Cobertura根據(jù)行、分支和程序包三個(gè)方面給出代碼覆蓋報(bào)告。每個(gè)類別都有一個(gè)可自定義的閾值,如果覆蓋面低于閾值,就會(huì)觸發(fā)警告。Cobertura還集成了Maven和Gradle 的自動(dòng)檢測功能。

      6.FindBugs

      FindBugs是一個(gè)匹配編譯代碼模式,而非使用bug數(shù)據(jù)庫的工具。當(dāng)提供源代碼時(shí),F(xiàn)indBugs還可高亮顯示檢測出bug的代碼行。

      在它的3.0.1版本中,F(xiàn)indBugs繼續(xù)保持著數(shù)以百計(jì)的bug描述。根據(jù)bug的嚴(yán)重程度,F(xiàn)indBugs將bug分為四個(gè)水平:相關(guān) 的,令人困擾的,可怕的,以及最可怕的。除了圖形用戶界面,F(xiàn)indBugs還提供一個(gè)命令行界面,Ant任務(wù),以及Eclipse插件。

      7.VisualVM

      包含在JDK中的VisualVM是監(jiān)控和審查Java應(yīng)用程序性能的工具。VisualVM檢測并重視活躍的JVM實(shí)例來檢索有關(guān)進(jìn)程的診斷信息。

      VisualVM可以很容易地實(shí)時(shí)診斷性能問題。它提供了全套的分析工具,包括JConsole、jstack、jmap、jinfo和jstat等。此外,你還可以對(duì)JVM做一個(gè)快照,這樣以后在任何時(shí)都能審查。

      8.Groovy

      Groovy是一種編程語言,通過添加新的關(guān)鍵字,自動(dòng)導(dǎo)入常用的類,以及可選類型變量聲明,既簡化又?jǐn)U展了Java。

      Groovy的核心優(yōu)勢(shì)之一是它的腳本功能。類可以被編譯為Java字節(jié)碼或使用Groovy Shell動(dòng)態(tài)執(zhí)行。Groovy的Java基礎(chǔ)使得它相較于Jython和JRuby更容易為Java開發(fā)人員所接受。

      第二篇:優(yōu)秀的java程序員必須掌握的十項(xiàng)技能

      西安尚學(xué)堂

      一個(gè)優(yōu)秀的Java程序員必須掌握的10項(xiàng)技能

      3G時(shí)代迫使IT從業(yè)者中的技術(shù)人員掌握越來越多的實(shí)用技能,作為IT行業(yè)的技術(shù)創(chuàng)造者,一個(gè)優(yōu)秀的java程序員必須掌握以下的10項(xiàng)技能,方能勝任java程序員的崗位。

      1、語法:必須比較熟悉,在寫代碼的時(shí)候的編輯器對(duì)某一行報(bào)錯(cuò)應(yīng)該能夠根據(jù)報(bào)錯(cuò)信息知道是什么樣的語法錯(cuò)誤并且知道如何修正。

      2、命令:必須熟悉自帶的常用命令及其常用選項(xiàng),需要熟悉的命令:appletviewer、Htmlonverter、jar、java、javac、javadoc、javap、javaw、native2ascii、serialver,如果這些命令你沒有全部使用過,那么你對(duì)java實(shí)際上還很不了解。

      3、工具:必須至少熟練使用一種IDE的開發(fā)工具,例如、Netbeans、JBuilder、Jdeveloper、IDEA、JCreator或者Workshop,包括進(jìn)行工程管理、常用選項(xiàng)的設(shè)置、插件的安裝配置以及進(jìn)行調(diào)試。

      4、API:的核心API是非常龐大的,但是有一些內(nèi)容筆者認(rèn)為是必須熟悉的,否則不可能熟練的運(yùn)用Java,包括:

      ◆java.lang包下的80%以上的類的功能的靈活運(yùn)用。

      ◆java.util包下的80%以上的類的靈活運(yùn)用,特別是集合類體系、規(guī)則表達(dá)式、zip、以及時(shí)間、隨機(jī)數(shù)、屬性、資源和Timer.◆java.io包下的60%以上的類的使用,理解IO體系的基于管道模型的設(shè)計(jì)思路以及常用IO類的特性和使用場合。

      ◆java.math包下的100%的內(nèi)容。

      ◆java.net包下的60%以上的內(nèi)容,對(duì)各個(gè)類的功能比較熟悉。

      ◆java.text包下的60%以上的內(nèi)容,特別是各種格式化類。

      ◆熟練運(yùn)用JDBC.8)、java.security包下40%以上的內(nèi)容,如果對(duì)于安全沒有接觸的話根本就不可能掌握java.◆AWT的基本內(nèi)容,包括各種組件事件、監(jiān)聽器、布局管理器、常用組件、打印?!鬝wing的基本內(nèi)容,和AWT的要求類似。

      ◆XML處理,熟悉SAX、DOM以及JDOM的優(yōu)缺點(diǎn)并且能夠使用其中的一種完成XML的解析及內(nèi)容處理。

      5、測試:必須熟悉使用junit編寫測試用例完成代碼的自動(dòng)測試。

      6、管理:必須熟悉使用ant完成工程管理的常用任務(wù),例如工程編譯、生成javadoc、生成jar、版本控制、自動(dòng)測試。

      7、排錯(cuò):應(yīng)該可以根據(jù)信息比較快速的定位問題的原因和大致位置。

      8、思想:必須掌握OOP的主要要求,這樣使用Java開發(fā)的系統(tǒng)才能是真正的Java系統(tǒng)。

      9、規(guī)范:編寫的代碼必須符合流行的編碼規(guī)范,例如類名首字母大寫,成員和方法名首字母小寫,方法名的第一個(gè)單詞一般是動(dòng)詞,包名全部小寫等,這樣程序的可讀性才比較好。

      10、博學(xué):掌握、Oracle、WebLogic、Jboss、、Struts、Hibernate 等流行技術(shù),掌握軟件架構(gòu)設(shè)計(jì)思想、搜索引擎優(yōu)化、緩存系統(tǒng)設(shè)計(jì)、網(wǎng)站負(fù)載均衡、系統(tǒng)性能調(diào)優(yōu)等實(shí)用技術(shù)。

      第三篇:Java程序員必須掌握的線程知識(shí)

      Java程序員必須掌握的線程知識(shí) Callable和Future Callable和Future出現(xiàn)的原因

      創(chuàng)建線程的2種方式,一種是直接繼承Thread,另外一種就是實(shí)現(xiàn)Runnable接口。

      這2種方式都有一個(gè)缺陷就是:在執(zhí)行完任務(wù)之后無法獲取執(zhí)行結(jié)果。如果需要獲取執(zhí)行結(jié)果,就必須通過共享變量或者使用線程通信的方式來達(dá)到效果,這樣使用起來就比較麻煩。

      而自從Java 1.5開始,就提供了Callable和Future,通過它們可以在任務(wù)執(zhí)行完畢之后得到任務(wù)執(zhí)行結(jié)果。

      Callable和Future介紹

      Callable接口代表一段可以調(diào)用并返回結(jié)果的代碼;Future接口表示異步任務(wù),是還沒有完成的任務(wù)給出的未來結(jié)果。所以說Callable用于產(chǎn)生結(jié)果,F(xiàn)uture用于獲取結(jié)果。

      Callable接口使用泛型去定義它的返回類型。Executors類提供了一些有用的方法在線程池中執(zhí)行Callable內(nèi)的任務(wù)。由于Callable任務(wù)是并行的(并行就是整體看上去是并行的,其實(shí)在某個(gè)時(shí)間點(diǎn)只有一個(gè)線程在執(zhí)行),我們必須等待它返回的結(jié)果。

      java.util.concurrent.Future對(duì)象為我們解決了這個(gè)問題。在線程池提交Callable任務(wù)后返回了一個(gè)Future對(duì)象,使用它可以知道Callable任務(wù)的狀態(tài)和得到Callable返回的執(zhí)行結(jié)果。Future提供了get()方法讓我們可以等待Callable結(jié)束并獲取它的執(zhí)行結(jié)果。

      Callable與Runnable

      java.lang.Runnable吧,它是一個(gè)接口,在它里面只聲明了一個(gè)run()方法:

      publicinterfaceRunnable{

      publicabstractvoid run();}

      由于run()方法返回值為void類型,所以在執(zhí)行完任務(wù)之后無法返回任何結(jié)果。

      Callable位于java.util.concurrent包下,它也是一個(gè)接口,在它里面也只聲明了一個(gè)方法,只不過這個(gè)方法叫做call():

      publicinterfaceCallable{

      /**

      * Computes a result, or throws an exception if unable to do so.*

      * @return computed result

      * @throws Exception if unable to compute a result

      */

      V call()throwsException;}

      可以看到,這是一個(gè)泛型接口,call()函數(shù)返回的類型就是傳遞進(jìn)來的V類型。

      那么怎么使用Callable呢?

      一般情況下是配合ExecutorService來使用的,在ExecutorService接口中聲明了若干個(gè)submit方法的重載版本:

      Future submit(Callable task); Future submit(Runnable task, T result);Future submit(Runnable task);

      第一個(gè)submit方法里面的參數(shù)類型就是Callable。

      暫時(shí)只需要知道Callable一般是和ExecutorService配合來使用的,具體的使用方法講在后面講述。

      一般情況下我們使用第一個(gè)submit方法和第三個(gè)submit方法,第二個(gè)submit方法很少使用。

      Future

      Future就是對(duì)于具體的Runnable或者Callable任務(wù)的執(zhí)行結(jié)果進(jìn)行取消、查詢是否完成、獲取結(jié)果。必要時(shí)可以通過get方法獲取執(zhí)行結(jié)果,該方法會(huì)阻塞直到任務(wù)返回結(jié)果。

      Future類位于java.util.concurrent包下,它是一個(gè)接口:

      publicinterfaceFuture{

      boolean cancel(boolean mayInterruptIfRunning);

      boolean isCancelled();

      boolean isDone();

      V get()throwsInterruptedException,ExecutionException;

      V get(long timeout,TimeUnit unit)

      throwsInterruptedException,ExecutionException,TimeoutException;}

      在Future接口中聲明了5個(gè)方法,下面依次解釋每個(gè)方法的作用:

      cancel方法用來取消任務(wù),如果取消任務(wù)成功則返回true,如果取消任務(wù)失敗則返回false。參數(shù)mayInterruptIfRunning表示是否允許取消正在執(zhí)行卻沒有執(zhí)行完畢的任務(wù),如果設(shè)置true,則表示可以取消正在執(zhí)行過程中的任務(wù)。如果任務(wù)已經(jīng)完成,則無論mayInterruptIfRunning為true還是false,此方法肯定返回false,即如果取消已經(jīng)完成的任務(wù)會(huì)返回false;如果任務(wù)正在執(zhí)行,若mayInterruptIfRunning設(shè)置為true,則返回true,若mayInterruptIfRunning設(shè)置為false,則返回false;如果任務(wù)還沒有執(zhí)行,則無論mayInterruptIfRunning為true還是false,肯定返回true。isCancelled方法表示任務(wù)是否被取消成功,如果在任務(wù)正常完成前被取消成功,則返回 true。

      isDone方法表示任務(wù)是否已經(jīng)完成,若任務(wù)完成,則返回true;

      get()方法用來獲取執(zhí)行結(jié)果,這個(gè)方法會(huì)產(chǎn)生阻塞,會(huì)一直等到任務(wù)執(zhí)行完畢才返回;

      get(long timeout, TimeUnit unit)用來獲取執(zhí)行結(jié)果,如果在指定時(shí)間內(nèi),還沒獲取到結(jié)果,就直接返回null。

      也就是說Future提供了三種功能:

      1)判斷任務(wù)是否完成;

      2)能夠中斷任務(wù);

      3)能夠獲取任務(wù)執(zhí)行結(jié)果。

      因?yàn)镕uture只是一個(gè)接口,所以是無法直接用來創(chuàng)建對(duì)象使用的,因此就有了下面的FutureTask。FutureTask

      FutureTask實(shí)現(xiàn)了RunnableFuture接口,這個(gè)接口的定義如下:

      publicinterfaceRunnableFutureextendsRunnable,Future{

      void run();}

      可以看到這個(gè)接口實(shí)現(xiàn)了Runnable和Future接口,接口中的具體實(shí)現(xiàn)由FutureTask來實(shí)現(xiàn)。這個(gè)類的兩個(gè)構(gòu)造方法如下 :

      publicFutureTask(Callable callable){

      if(callable ==null)

      thrownewNullPointerException();

      sync =newSync(callable);

      }

      publicFutureTask(Runnable runnable, V result){

      sync =newSync(Executors.callable(runnable, result));

      } 如上提供了兩個(gè)構(gòu)造函數(shù),一個(gè)以Callable為參數(shù),另外一個(gè)以Runnable為參數(shù)。這些類之間的關(guān)聯(lián)對(duì)于任務(wù)建模的辦法非常靈活,允許你基于FutureTask的Runnable特性(因?yàn)樗鼘?shí)現(xiàn)了Runnable接口),把任務(wù)寫成Callable,然后封裝進(jìn)一個(gè)由執(zhí)行者調(diào)度并在必要時(shí)可以取消的FutureTask。

      FutureTask可以由執(zhí)行者調(diào)度,這一點(diǎn)很關(guān)鍵。它對(duì)外提供的方法基本上就是Future和Runnable接口的組合:get()、cancel、isDone()、isCancelled()和run(),而run()方法通常都是由執(zhí)行者調(diào)用,我們基本上不需要直接調(diào)用它。

      一個(gè)FutureTask的例子

      publicclassMyCallableimplementsCallable{

      privatelong waitTime;

      publicMyCallable(int timeInMillis){

      this.waitTime=timeInMillis;

      }

      @Override

      publicString call()throwsException{ Thread.sleep(waitTime);

      //return the thread name executing this callable task

      returnThread.currentThread().getName();

      }

      }

      publicclassFutureTaskExample{

      publicstaticvoid main(String[] args){

      MyCallable callable1 =newMyCallable(1000);// 要執(zhí)行的任務(wù)

      MyCallable callable2 =newMyCallable(2000);

      FutureTask futureTask1 =newFutureTask(callable1);// 將Callable寫的任務(wù)封裝到一個(gè)由執(zhí)行者調(diào)度的FutureTask對(duì)象

      FutureTask futureTask2 =newFutureTask(callable2);

      ExecutorService executor =Executors.newFixedThreadPool(2);// 創(chuàng)建線程池并返回ExecutorService實(shí)例

      executor.execute(futureTask1);// 執(zhí)行任務(wù)

      executor.execute(futureTask2);

      while(true){

      try{

      if(futureTask1.isDone()&& futureTask2.isDone()){// 兩個(gè)任務(wù)都完成System.out.println(“Done”);

      executor.shutdown();// 關(guān)閉線程池和服務(wù)

      return;

      }

      if(!futureTask1.isDone()){// 任務(wù)1沒有完成,會(huì)等待,直到任務(wù)完成 System.out.println(“FutureTask1 output=”+futureTask1.get());

      }

      System.out.println(“Waiting for FutureTask2 to complete”);

      String s = futureTask2.get(200L,TimeUnit.MILLISECONDS);

      if(s!=null){

      System.out.println(“FutureTask2 output=”+s);

      }

      }catch(InterruptedException|ExecutionException e){

      e.printStackTrace();

      }catch(TimeoutException e){

      //do nothing

      }

      } }}

      運(yùn)行如上程序后,可以看到一段時(shí)間內(nèi)沒有輸出,因?yàn)間et()方法等待任務(wù)執(zhí)行完成然后才輸出內(nèi)容.輸出結(jié)果如下:

      FutureTask1 output=pool-1-thread-1WaitingforFutureTask2 to completeWaitingforFutureTask2 to completeWaitingforFutureTask2 to completeWaitingforFutureTask2 to completeWaitingforFutureTask2 to completeFutureTask2 output=pool-1-thread-2Done

      第四篇:Java程序員需要了解的8個(gè)Java開發(fā)工具

      Java程序員需要了解的8個(gè)Java開發(fā)工具

      Java是計(jì)算機(jī)應(yīng)用程序編程語言,被廣泛用于創(chuàng)建Web應(yīng)用、服務(wù)器處理、用戶端的API開發(fā)乃至數(shù)據(jù)庫等多個(gè)領(lǐng)域。下面厚學(xué)網(wǎng)小編列出了8個(gè)有助于你開發(fā)Java應(yīng)用程序好的Java工具。

      1.SparkJava 這是一款體形輕巧,功能強(qiáng)大的Web應(yīng)用框架。Spark擁有簡單而直接的方法。您可以通過一些繁瑣的XML配置來使用Spark框架編寫應(yīng)用程序。Spark能讓你花費(fèi)很少的精力來開發(fā)Java的Web應(yīng)用程序。

      2.jClarity jClarity是兩款產(chǎn)品的結(jié)合:illuminate用于性能監(jiān)控,而census則可以收集日志和分析數(shù)據(jù)。jClarity支持云集成,并且其框架緊湊輕巧。

      3.Clover Clover是用于代碼覆蓋的一大利器。該工具有助于用于應(yīng)用程序測試的代碼。我們可以在IDE或持續(xù)集成系統(tǒng)中運(yùn)行Clover。該工具能讓測試的運(yùn)行速度更快。

      4.JProfiler JProfiler擁有直觀的用戶界面,可以幫助你解決性能瓶頸和理解問題。JProfiler能讓你輕松約束內(nèi)存泄漏和修復(fù)線程的問題。

      5.VisualVM VisualVM是一個(gè)集多功能于一身的Java故障排除工具。你可以使用VisualVM整合多命令行JDK工具。此輕便的工具有著驚人的分析能力。你可以在各種技術(shù),如jvmstat、JMX和Serviceability Agent(SA)中使用VisualVM。VisualVM出名的是附加了API,以獲得更多的數(shù)據(jù),以及自動(dòng)使用更快捷。

      6.Elasticsearch Elasticsearch提供了可以整合現(xiàn)有的應(yīng)用程序來驅(qū)動(dòng)其與輸入數(shù)據(jù)的交互的工具。這款開源工具提供了實(shí)時(shí)搜索和分析引擎。Elasticsearch可用于可靠性和可擴(kuò)展性作為重要因素的分布式環(huán)境。該工具提供了超簡單的全文搜索體驗(yàn)。

      7.Sonarqube

      Sonarqube是一個(gè)用來管理代碼質(zhì)量的開放式平臺(tái)?;赪eb的應(yīng)用程序可以與Java應(yīng)用程序進(jìn)行配置。它提供了規(guī)則、警報(bào)、閾值、排除和設(shè)置功能。SonarQube允許用戶將指標(biāo)結(jié)合在一起,以及使用歷史的措施混合。

      8.Takipi Takipi是一個(gè)輕量級(jí)的Java代理。Takipi安裝方便,用不了幾分鐘就可以搞定。它對(duì)代碼注釋或配置并沒有要求。你可以使用一臺(tái)具有完全功能的服務(wù)器與Takipi工作。此款 Java工具能幫助你減少調(diào)試時(shí)間。

      總結(jié)

      對(duì)于想學(xué)習(xí)Java的朋友來說,比較快的方式當(dāng)然是結(jié)合自身實(shí)際情況找一家專業(yè)的培訓(xùn)機(jī)構(gòu)來進(jìn)行系統(tǒng)有效的學(xué)習(xí),對(duì)此,小編推薦您可以訪問厚學(xué)網(wǎng)(004km.cn)來了解各大知名培訓(xùn)機(jī)構(gòu)的詳細(xì)情況,為自己的選擇保駕護(hù)航;目前厚學(xué)網(wǎng)共計(jì)入駐了多家IT領(lǐng)域的知名培訓(xùn)機(jī)構(gòu),如:被北大青鳥、達(dá)內(nèi)、上海藍(lán)鷗、閣瑞鈦倫特軟件培訓(xùn)等,在讓客戶了解全面的課程信息及真實(shí)用戶評(píng)價(jià)的同時(shí),也讓客戶能夠更放心,省心的選擇到想學(xué)的課程,希望小編的傾力推薦能夠?qū)δ倪x擇有所幫助,期待您早日學(xué)有所成,加油!

      第五篇:Java程序員實(shí)用不離手的八大開發(fā)工具

      扣丁學(xué)堂 Codingke.com 以下這8個(gè)工具,從代碼構(gòu)建到錯(cuò)誤擠壓,覆蓋Java開發(fā)的全域。

      學(xué)習(xí)這些工具可以幫助你改善代碼質(zhì)量,成為一個(gè)更高效的Java開發(fā)人員。每個(gè)工具都有其優(yōu)點(diǎn),但其中有一些因它的知名度、多功能性和有效性從眾多選項(xiàng)中脫穎而出。

      loading...以下這8個(gè)工具,從代碼構(gòu)建到錯(cuò)誤擠壓,覆蓋Java開發(fā)的全域。學(xué)習(xí)這些工具可以幫助你改善代碼質(zhì)量,成為一個(gè)更高效的Java開發(fā)人員。

      1.Eclipse盡管IntelliJ IDEA、NetBeans和一些其他的IDE正在日益普及,但是有調(diào)查表明,Eclipse仍然是幾乎半數(shù)Java開發(fā)人員首選的開發(fā)環(huán)境。

      Eclipse是IDE領(lǐng)域的瑞士軍刀,有著大量定制的接口和無數(shù)的插件。它無處不在,后面本文將推薦的其他所有工具都提供Eclipse插件。

      Eclipse的工作流程可分為三個(gè)方面:工作臺(tái),工作空間和視角。工作臺(tái)作為到IDE的出發(fā)點(diǎn)。工作空間將項(xiàng)目、文件和配置設(shè)置組合在一個(gè)單獨(dú)的 目錄下。視角定義工具、視圖和有效設(shè)置。雖然新手開發(fā)人員可能會(huì)覺得相比Netbeans和IntelliJ IDEA,Eclipse使用起來更難,但Eclipse的靈活性,使其成為企業(yè)開發(fā)的首選IDE。

      Luna,Eclipse的最新版本,支持Java

      8、分屏編輯、新的黑色主題,以及一個(gè)功能齊全的命令行終端。

      2.GradleGradle是一個(gè)自動(dòng)化項(xiàng)目工具,建立在Apache Maven和Apache Ant的功能上。雖然Gradle并不是最流行的構(gòu)建工具(最流行的是Maven,64%的Java開發(fā)人員會(huì)選擇它),但它的普及速度很快。它也可作為默認(rèn)的Android構(gòu)建工具。

      Gradle引以為傲的是它的簡單。Gradle使用Groovy編程語言,與Maven和Ant使用XML語法截然相反。一個(gè)基本的Gradle構(gòu)建文件由一行簡單的代碼組成:

      apply plugin: 'java'.下面的命令會(huì)生成一個(gè)Gradle構(gòu)建文件,創(chuàng)建項(xiàng)目文件的目錄樹,并附帶一個(gè)項(xiàng)目便攜式Gradle封裝:

      $ gradle init--type java-library Gradle還有可用于添加新的語言,生成支持IDE的項(xiàng)目文件,構(gòu)建本地二進(jìn)制文檔,檢查依賴性更新等等的插件。

      3.javadocJavadoc是Oracle提供的文檔生成器。它可以將特殊格式的注釋解析為HTML文檔。以下截圖就是Javadoc生成的Java SE 8 API規(guī)范:

      Javadoc注釋使用開放標(biāo)簽、關(guān)閉標(biāo)簽,以及一個(gè)或多個(gè)描述性標(biāo)簽的格式。開放式標(biāo)簽類似于標(biāo)準(zhǔn)Java多行注釋標(biāo)記,使用兩個(gè)星號(hào)的除外。Javadoc也解析普通的HTML標(biāo)簽。

      Javadoc自動(dòng)格式化標(biāo)簽和關(guān)鍵字,除非另有規(guī)定。Javadoc廣泛使用超鏈接,允許你參考和鏈接到代碼的不同區(qū)域。許多IDE——包括 Eclipse——可以自動(dòng)添加Javadoc注釋模塊到變量、類和方法中。支持Maven、Gradle和Ant的插件在編譯代碼的同時(shí)也可以構(gòu)建 Javadoc HTML。

      4.JUnitJUnit是用于編寫和運(yùn)行單元測試的開源框架。一個(gè)基本的JUnit測試包括測試類、測試方法、以及執(zhí)行測試的功能。

      JUnit使用標(biāo)注來確定測試如何構(gòu)造和運(yùn)行。例如,如果你的程序有一個(gè)類叫做MathClass,具有乘法和除法的方法,你可以創(chuàng)建JUnit測試來扣丁學(xué)堂 Codingke.com 檢 查不符合預(yù)期的值。輸入數(shù)字2和5到乘法方法,你希望得到的結(jié)果為10。當(dāng)輸入0作為除法方法的第二個(gè)參數(shù)時(shí),你會(huì)期望給出一個(gè)數(shù)字計(jì)算異常的警告因?yàn)槌?數(shù)不能為0:

      @Test標(biāo)注規(guī)定,MathClass方法是一個(gè)測試用例。

      在JUnit提供額外的標(biāo)注,比如@Before,這樣你就可以在測試運(yùn)行之前設(shè)置環(huán)境。

      JUnit還可以設(shè)置規(guī)則用于定義測試方法的行為。例如,TemporaryFolder規(guī)則使得一旦測試完成,由測試創(chuàng)建的文件或文件夾就會(huì)被刪除。

      5.CoberturaCobertura可用于分析Java代碼的測試覆蓋率。Cobertura根據(jù)沒有被測試覆蓋的代碼生成基于HTML的報(bào)告。

      Cobertura提供可用于插裝、檢查和測試代碼的工具。通過監(jiān)控可測試的代碼,Cobertura允許你使用你選擇的測試框架,甚至不需要測試框架就可以運(yùn)行程序。

      Cobertura根據(jù)行、分支和程序包三個(gè)方面給出代碼覆蓋報(bào)告。每個(gè)類別都有一個(gè)可自定義的閾值,如果覆蓋面低于閾值,就會(huì)觸發(fā)警告。Cobertura還集成了Maven和Gradle 的自動(dòng)檢測功能。

      6.FindBugsFindBugs是一個(gè)匹配編譯代碼模式,而非使用bug數(shù)據(jù)庫的工具。當(dāng)提供源代碼時(shí),F(xiàn)indBugs還可高亮顯示檢測出bug的代碼行。

      在它的3.0.1版本中,F(xiàn)indBugs繼續(xù)保持著數(shù)以百計(jì)的bug描述。根據(jù)bug的嚴(yán)重程度,F(xiàn)indBugs將bug分為四個(gè)水平:相關(guān) 的,令人困擾的,可怕的,以及最可怕的。除了圖形用戶界面,F(xiàn)indBugs還提供一個(gè)命令行界面,Ant任務(wù),以及Eclipse插件。

      7.VisualVM包含在JDK中的VisualVM是監(jiān)控和審查Java應(yīng)用程序性能的工具。VisualVM檢測并重視活躍的JVM實(shí)例來檢索有關(guān)進(jìn)程的診斷信息。

      VisualVM可以很容易地實(shí)時(shí)診斷性能問題。它提供了全套的分析工具,包括JConsole、jstack、jmap、jinfo和jstat等。此外,你還可以對(duì)JVM做一個(gè)快照,這樣以后在任何時(shí)都能審查。

      8.GroovyGroovy是一種編程語言,通過添加新的關(guān)鍵字,自動(dòng)導(dǎo)入常用的類,以及可選類型變量聲明,既簡化又?jǐn)U展了Java。

      Groovy的核心優(yōu)勢(shì)之一是它的腳本功能。類可以被編譯為Java字節(jié)碼或使用Groovy Shell動(dòng)態(tài)執(zhí)行。Groovy的Java基礎(chǔ)使得它相較于Jython和JRuby更容易為Java開發(fā)人員所接受。

      其他選擇

      Java這個(gè)大世界中正在不斷涌現(xiàn)新的工具、實(shí)用程序和庫。如果你的首選工具沒能進(jìn)入上述名單,歡迎分享。

      下載Java程序員必須掌握的開發(fā)工具word格式文檔
      下載Java程序員必須掌握的開發(fā)工具.doc
      將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        java程序員需掌握的知識(shí)點(diǎn)

        一、數(shù)據(jù)庫事務(wù) 答:是指作為單個(gè)邏輯工作單元執(zhí)行的一系列操作,要么完全地執(zhí)行,要么完全地不執(zhí)行。事務(wù)處理可以確保事務(wù)性單元內(nèi)的所有操作都成功完成,否則永久不會(huì)更新面向數(shù)......

        PHP程序員必須掌握的知識(shí)

        PHP5的優(yōu)點(diǎn) PHP5的最大特點(diǎn)是引入了面向?qū)ο蟮娜繖C(jī)制,并且保留了向下的兼容性。程序員不必再編寫缺乏功能性的類,并且能夠以多種方法實(shí)現(xiàn)類的保護(hù)。另外,在對(duì)象的集成等方面......

        熟練的Java程序員應(yīng)該掌握哪些技術(shù)?

        熟練的Java程序員應(yīng)該掌握哪些技術(shù)?Java程序員應(yīng)該掌握哪些技術(shù)才能算是脫離菜鳥達(dá)到熟練的程度? 1、語法:Java程序員必須比較熟悉語法,在寫代碼的時(shí)候IDE的編輯器對(duì)某一行報(bào)錯(cuò)......

        JAVA程序員應(yīng)該掌握的10項(xiàng)技能

        004km.cn JAVA程序員應(yīng)該掌握的10項(xiàng)技能 作為一個(gè)Java程序員,應(yīng)該掌握的一些技能: 1、語法:必須比較熟悉,在寫代碼的時(shí)候IDE的編輯器對(duì)某一行報(bào)錯(cuò)應(yīng)該能夠根據(jù)報(bào)錯(cuò)信......

        熟練的Java程序員應(yīng)該掌握哪些技術(shù)

        熟練的Java程序員應(yīng)該掌握哪些技術(shù)? 發(fā)布時(shí)間:2011-07-16 編輯:牛耳教育-連衣裙 點(diǎn)擊:99 Java程序員應(yīng)該掌握哪些技術(shù)才能算是脫離菜鳥達(dá)到熟練的程度?以下是一名java程序員的總......

        java程序員(精選合集)

        如何迅速成為Java高手[Tomjava原創(chuàng)] 很多網(wǎng)友問我學(xué)習(xí)Java有沒有什么捷徑,我說“無他,唯手熟爾”。但是我卻很愿意將自己學(xué)習(xí)的一些經(jīng)驗(yàn)寫出來,以便后來者少走彎路,幫助別人是......

        java程序員必須知道的八大排序

        Java程序員必知的8大排序 2012-06-28 14:01 without0815 博客園 我要評(píng)論(0) 字號(hào):T | T 本文主要詳解了Java語言的8大排序的基本思想以及實(shí)例解讀,詳細(xì)請(qǐng)看下文 AD: 51CTO云計(jì)......

        java工程師學(xué)習(xí)必須掌握的的知識(shí)

        第一學(xué)期課程學(xué)習(xí)完成之后,成為一名熟練操作數(shù)據(jù)庫并可以基于數(shù)據(jù)的Java應(yīng)用程序的高級(jí)程序員,Java的軟件工程師、JSP web 開發(fā)工程師,可承擔(dān)java高級(jí)程序設(shè)計(jì)及電子商務(wù)開發(fā)......