絕大多數Java開發工程師在公司入職作項目開發時,公司都會統一發放Windows筆記本(例如小米,戴爾等),固然有些公司也會發蘋果的MacBookPro。html
本人目前打算作全平臺開發,所以準備了兩臺電腦,配置僅供參考。java
Alicenware 17R5
Intel 8代i9+32G內存+1TSSD+1T機械+GTX1080顯卡+4K分辨率+眼動儀
node
macBookPro 19款
Intel 9代i9+32G內存+512SSD+Radeon Pro Vega 20顯卡
git
良好的硬件配置能夠提升開發、測試、部署效率,若是條件容許儘可能選擇高配置的電腦。github
而後會使用Windows10/macOS+Java8+IntelliJ IDEA+Git/GitLab+Maven/Gradle+Chrome做爲開發環境
同時也會使用到Navicat、SecureCRT、Jenkins、Postman,JMeter等工具來完成平常的相關開發、測試、部署等任務。web
Windows做爲目前最普遍使用的PC操做系統,在全球市場佔據90%的市場份額,目前最新版本Windows爲Window10 1903,可使用winver查看你的Windows版本號
。
若是想要下載純淨的Windows系統鏡像,能夠搜索https://msdn.itellyou.cn/算法
Java8做爲目前最主流的版本,一些開源框架(例如SpringBoot2.0)和 大型互聯網公司的分佈式應用都已經採用Java8構建和部署。spring
Windows10安裝Java8很是簡單,首先咱們去Oracle官網下載Java8,目前最新的Java8版本是1.8.0_221
在點擊jdk-8u221-windows-x64.exe的下載連接後,登陸Oracle帳戶就能夠開始下載了
若是Oracle官網下載比較慢,還能夠複製連接到迅雷下載。shell
Java8下載完成之後,雙擊安裝文件jdk-8u221-windows-x64.exe,而後系統會彈出一個用戶帳戶控制的窗口,提示"你要容許此應用對你的設備進行更改嗎",這裏選擇用鼠標點擊是,就能夠開始進行安裝了。apache
開始安裝嚮導
選擇安裝路徑
安裝JRE
安裝成功
在Java8安裝完成之後,還須要配置環境變量,其目的是能夠在終端上運行Java提供的相關命令(命令本質上也是相似於exe的程序)。
還有其餘Java編寫的程序(例如Maven,Tomcat)都會依賴這裏配置的環境變量。
首先按Windows鍵,而後搜索環境變量,雙擊後會打開一個系統屬性的窗口
而後點擊環境變量
新建JAVA_HOME環境變量,其路徑指向以前安裝的JDK目錄
而後修改系統的PATH環境變量,添加%JAVA_HOME%\bin目錄到PATH環境變量中
最後使用javac -version和java -version查看編譯和運行Java程序的版本
Microsoft Windows [版本 10.0.18362.295] (c) 2019 Microsoft Corporation。保留全部權利。 C:\Users\ittim>javac -version javac 1.8.0_221 C:\Users\ittim>java -version java version "1.8.0_221" Java(TM) SE Runtime Environment (build 1.8.0_221-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode) C:\Users\ittim>
Maven是Apache開源的Java項目構建工具,用於管項目的依賴、並提供了編譯、打測試、包、部署等功能。
首先去Apache官網下載Maven,目前Maven的最新版本爲3.6.1。
而後將下載的apache-maven-3.6.1-bin.zip解壓至任意路徑(例如D:\DevTools\Java\apache-maven-3.6.1),這樣就意味着Maven的安裝完成了。
可是若是想要在終端上使用maven命令,還須要在系統環境變量中配置maven,其配置方式和Java相似。首先增長一個系統環境變量MAVEN_HOME,指向Maven的路徑
而後在PATH中引用MAVEN_HOME,由於maven命令都在bin目錄下,因此這裏配置%MAVEN_HOME%\bin
配置完成之後在Windows10下新開一個命令提示符窗口,而後輸入mvn -version查看maven安裝信息
Maven在使用前除了環境變量的配置意外,還須要修改%MAVEN_HOME%\config目錄下的settings.xml文件,主要修改兩處地方
<localRepository>D:\DevTools\Java\maven_repository</localRepository>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
在公司開發時,能夠搭建公司專用的Maven Nexus,而後添加對應的配置便可。
Git做爲分佈式版本管理系統,是企業開發中必不可少的團隊協做開發工具。
目前最新版的Git爲2.23.0,能夠直接從官網下載。
在Git下載完成以後雙擊Git-2.23.0-64-bit.exe,開始準備安裝Git。
在打開文件時會彈出安全警告,這裏點擊運行
而後系統會彈出一個用戶帳戶控制的窗口,提示"你要容許此應用對你的設備進行更改嗎",這裏選擇用鼠標點擊是,就能夠開始進行安裝了。
Git安裝時若是沒有特殊的須要,只須要跟着提示一路默認安裝便可。
在使用以前還須要使用git命令配置用戶名和郵箱
git config --global user.name "liuguanglei" git config --global user.email "18601767221@163.com"
IntelliJ IDEA是Jetbrains公司開發的集成開發環境,能夠用於Java,Web,Android,大數據開發。
Windows上IntelliJ IDEA下載只須要點擊首頁的Download下載便可跳轉至下載頁面,而後點擊Downlaod下載便可。
目前最新的版本爲IntelliJ IDEA 2019.2.1
當IntelliJ IDEA下載完成之後,在Chrome中雙擊安裝文件ideaIU-2019.2.1.exe,即可開始進行安裝
運行安裝程序時Windows會彈出一個用戶帳戶控制的窗口,提示"你要容許此應用對你的設備進行更改嗎",這裏選擇用鼠標點擊是,就能夠開始進行安裝了。
選擇安裝路徑
配置IntelliJ IDEA
建立菜單文件夾
安裝中,根據電腦硬件不一樣,須要等待5-15分鐘左右
安裝完成
點擊桌面的IntelliJ IDEA 2019.2.1.exe圖標啓動IntelliJ IDEA。
若是是你是第一次安裝IntelliJ IDEA,首次啓動IntelliJ IDEA時不導入設置,若是你以前安裝過IntelliJ IDEA其餘的版本,能夠選擇Config or installation floder導入以前的配置。
贊成用戶協議
設置主題
啓用或者禁用IntelliJ IDEA插件
若是你對scala感興趣,能夠在這裏點擊Scala下方的Install按鈕安裝Scala插件,後面能夠直接在IntelliJ IDEA中開發Scala應用。
因爲咱們安裝的旗艦版IntelliJ IDEA,它是收費的,若是經濟條件容許推薦到官方渠道付費購買正版軟件。
固然你也能夠選擇30天試用
激活後或者選擇無償使用就能夠開始開發Java程序了。
啓動IntelliJ IDEA後,選擇建立新項目
選擇基於Maven的項目
此時須要指定JDK,IntelliJ IDEA會讀取以前安裝的JDK,若是沒有讀取到,能夠點擊右邊的New按鈕,選擇JDK的安裝目錄便可。雖然目前企業開發是選用JDK8爲主,可是本項目還要演示JDK8之後的新特性,所以這裏選擇JDK11做爲主要的JDK版本。後期若Oracle公司發佈更新的JDK版本,例如JDK12,JDK13,也會及時更新以便介紹JDK新特性。
設置maven項目的座標
設置項目名稱和路徑
項目概覽
項目建立完成以後還須要在目錄java-core下的pom.xml文件中添加以下配置,
<build>
<plugins>
<!-- 因爲Windows默認是GBK編碼,這裏將源代碼編碼設置爲UTF-8,防止出現亂碼 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<!-- 因爲maven項目默認的編譯級別是JDK1.5,這裏採用JDK11編譯 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.11</source>
<target>1.11</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
因爲在使用IntelliJ IDEA首次建立時Maven還須要從默認的Maven中央倉庫下載Maven所需的相關插件,此時須要集成以前安裝過的Maven
首先找的View->Apperance-Toolbar啓用Toolbar
啓用以後
而後點擊Settings菜單,
並在搜索欄中搜索Maven,配置Maven以及settings.xml和本地倉庫的路徑
這樣當項目中添加了相關的依賴,例如spring-boot-starter-web
maven就會自動從阿里雲下載相關的組件
以前建立的java-core會做爲開發Java應用程序的模板項目,後期全部的應用代碼都會存在該項目中。
該項目是一個基於Maven的多模塊項目,其定位是包含基於Java的全部語言特性、流行的第三方類庫實現以及數據結構、算法、設計模式、併發,JVM等內容。
最終內容的項目結構
這裏先介紹這個多模塊的項目是如何建立的。
首先將java-core下的src目錄刪除,所以java-core只是做爲父目錄存在,具體的代碼存放在子模塊下面。
而後添加.gitignore文件,用於Git提交文件時忽略指定的目錄和文件,例如.idea目錄和java-core.iml文件。
# project logs
logs/
out/
# jrebel
rebel.xml
# maven ignore
target/
*.jar
*.war
*.ear
*.zip
*.tar
*.tar.gz
# eclipse ignore
.settings/
.project
.classpath
# idea ignore
.idea/
.vertx/* *target* .idea/* *.ipr *.iml *.iws # temp ignore *.log *.cache *.diff *.patch *.tmp # system ignore .DS_Store Thumbs.db # node_modules node_modules *.versionsBackup *.class # Mobile Tools for Java (J2ME) .mtj.tmp/ bin/ gen/ # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml hs_err_pid*
若是想要在IntelliJ IDEA中更方便的使用.gitignore,還能夠安裝插件
安裝成功以後須要重啓IntelliJ IDEA後.gitignore插件會生效
而後在項目java-core的基礎上新建模塊 java-core-foundational
設置模塊的Maven座標
設置java-core-foundational的父模塊以及路徑
將java-core-foundational目錄下的src目錄刪除,而後在java-core-foundational的基礎上再建一個子模塊java-core-foundational-object
設置maven座標
設置java-core-foundational-object的路徑以及父模塊
而後在java-core-foundational-object模塊的src/main/java下新建一個名爲net.ittimeline.java.core.foundational.object的包
而後在net.ittimline.java.core.object下建立一個類HelloWorld
package net.ittimeline.java.core.foundational.object;
/** * 個人第一個Java程序 * * @author liuguanglei ittimelinedotnet@gmail.com * @version 2019/10/11 14:18 * @website ittimeline.net * @since JDK11 */
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Windows10 1903 & IntelliJ IDEA 2019.2.1 Hello World With Java");
}
}
運行程序
IntelliJ IDEA中首次運行程序時能夠經過選中類中的main方法或者鼠標右鍵運行程序
程序運行結果
後續能夠經過點擊界面上的運行菜單直接運行。
IntelliJ IDEA內置了支持GitHub的插件,咱們只須要在Settings->Version Control->Github菜單中添加GitHub帳號便可集成GitHub。
IntelliJ IDEA中添加GitHub帳號
登陸GitHub
填寫GitHub註冊的用戶名和密碼
登陸成功
將項目提交至GitHub
編寫項目描述
提交文件列表
提交成功
而後可使用瀏覽器訪問GitHub上的項目
若是在使用過程當中以爲IntelliJ IDEA比較慢,咱們能夠調整IntelliJ IDEA的運行參數,位於安裝目錄C:\Program Files\JetBrains\IntelliJ IDEA 2019.2.1\bin的idea64.exe.vmoptions文件,其默認配置爲
-Xms128m
-Xmx750m
-XX:ReservedCodeCacheSize=240m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
-XX:CICompilerCount=2
-Dsun.io.useCanonPrefixCache=false
-Djava.net.preferIPv4Stack=true
-Djdk.http.auth.tunneling.disabledSchemes=""
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-Djdk.attach.allowAttachSelf
-Dkotlinx.coroutines.debug=off
若是你的電腦配置爲Intel i7+16G+256G SSD,能夠參考如下配置
-Xms512m
-Xmx1500m
-XX:ReservedCodeCacheSize=480m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=100
-ea
-XX:CICompilerCount=2
-Dsun.io.useCanonPrefixCache=false
-Djava.net.preferIPv4Stack=true
-Djdk.http.auth.tunneling.disabledSchemes=""
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-Djdk.attach.allowAttachSelf
-Dkotlinx.coroutines.debug=off
若是你的電腦配置是Intel i9+32G內存+512G SSD,能夠參考如下配置
-Xms1024m
-Xmx3000m
-XX:ReservedCodeCacheSize=960m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=200
-ea
-XX:CICompilerCount=2
-Dsun.io.useCanonPrefixCache=false
-Djava.net.preferIPv4Stack=true
-Djdk.http.auth.tunneling.disabledSchemes=""
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-Djdk.attach.allowAttachSelf
-Dkotlinx.coroutines.debug=off
修改完成以後重啓IntelliJ IDEA,重啓後會發現IntelliJ IDEA使用起來更加流暢。
在使用IntelliJ IDEA建立類、接口、枚舉時,能夠配置統一的註釋模板。
其實現方式也很簡單,只須要進入IntelliJ IDEA 的設置菜單,而後找到File and Code Templates ,將配置複製到Class,Interface,Enum便可。
/** * ${description} * @author liuguanglei ittimelinedotnet@gmail.com * @website ittimeline.net * @version ${DATE} ${TIME} *@since JDK11 */
這樣在每次新建類、接口、枚舉時都會有統一格式的註釋模板
package net.ittimeline.java.core.foundational.object;
/** * 註釋模板 * * @author liuguanglei ittimelinedotnet@gmail.com * @version 2019/9/2 15:31 * @website ittimeline.net * @since JDK11 */
public class CodeTemplateTest {
}