IDEA配置檔案的配置檔案配置
IDEA配置檔案的配置檔案配置:
路徑
/Applications/IntelliJ IDEA 3.app/Contents/bin/idea.vmoptions
(/IntelliJ IDEA 3.app 換成自己的Intellij的目錄)
示例:
-Xms1024m
-Xmx2048m
-XX:ReservedCodeCacheSize=1024m
-XX:+UseConcMarkSweepGC
-XX:+UseParNewGC
-XX:+DisableExplicitGC
-XX:SoftRefLRUPolicyMSPerMB=50
-Xverify:none
-ea
-Dsun.io.useCanonCaches=false
-
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-XX:ErrorFile=$USER_HOME/java_error_in_idea_%p.log
-XX:HeapDumpPath=$USER_HOME/java_error_in_idea.hprof
-XX:+UseCompressedOops
-Dfile.encoding=UTF-8
-Djdk.http.auth.tunneling.disabledSchemes=""
一些翻譯 :
-Xms:設定虛擬機器堆記憶體最小值
-Xmx:設定虛擬機器堆記憶體的最大值
(有些指導意見為-Xms設定的與-Xmx一樣大,防止堆擴充套件時所帶來的效能浪費問題, 我個人設定1個G是IDEA啟動已經不會超過這個值了,之後的擴充套件也是帶來一點時間的浪費)
-XX:ReservedCodeCacheSize:程式碼快取
-XX:+UseConcMarkSweepGC:使用CMS的GC機制(老年代、標記清除)
-XX:+UseParNewGC:使用ParNew的GC輔助配合CMS(新手代、複製演算法)
-XX:+DisableExplicitGC:遮蔽掉IDEA的顯示觸發的GC(減少full GC次數)
-ea:斷言機制
-Xverify:none:禁止位元組碼驗證
專案啟動加速
方式:
(以procurement專案為例)
本機器不做任何操作,啟動專案的時間為:
[2018-12-20 03:54:48,027] Artifact Gradle : com.aifocus : procurement-web-1.8.61-RELEASE.war (exploded): Artifact is deployed successfully
[2018-12-20 03:54:48,028] Artifact Gradle : com.aifocus : procurement-web-1.8.61-RELEASE.war (exploded): Deploy took 197,573 milliseconds
我們更新程式碼一些變數:
- 我們把procurement的日誌級別log4j.xml設定為INFO
- server.properties裡的zk伺服器設定為本地的zk
-
dubbo_zk_url=localhost
dubbo.server.port=7005
dubbo.local.port=20881
dubbo_cache=/tmp/dubbo/dubbo.cache
# \u672C\u5730\u6D4B\u8BD5\u7684\u65F6\u5019\u6539\u4E3Atrue
dubbo.register.switch=true
dubbo.group=wangwei
-
- 關閉本地的swagger啟動,swagger啟動的時候會載入很多bean檔案與我們配置的APIOpertion等屬性,延遲我們的專案啟動
- 在SwaggerConfig.java檔案我們可以更改ENV_DAILY等屬性不等於啟動專案的環境配置即可
- 在全部改為之後我們再次啟動專案,可以發現專案啟動減少了很多時間
[2018-12-20 04:04:09,205] Artifact Gradle : com.aifocus : procurement-web-1.8.61-RELEASE.war (exploded): Artifact is deployed successfully
[2018-12-20 04:04:09,206] Artifact Gradle : com.aifocus : procurement-web-1.8.61-RELEASE.war (exploded): Deploy took 95,954 milliseconds
IDEA一些實用的外掛(外掛都可以在Preferences中的Plugins中找到)
- Jrebel:熱部署必備外掛
- AceJump:可以不使用滑鼠的快速程式碼
- Alibaba Java Coding Guidelines :幫助我們提升程式碼規範的
- Free Mybatis plugin:可以快速定位到DAO的方法與之對應的xml檔案內的語句
- GsonFormat:Json格式的字串快速轉為JavaBean程式碼
- IDEAVim:可以在Idea下使用Vim的普通模式、編輯模式