1. 程式人生 > >IDEA配置檔案的配置檔案配置

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
-

Djava.net.preferIPv4Stack=true

-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

我們更新程式碼一些變數:

  1. 我們把procurement的日誌級別log4j.xml設定為INFO
  2. server.properties裡的zk伺服器設定為本地的zk
    1. 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
  3. 關閉本地的swagger啟動,swagger啟動的時候會載入很多bean檔案與我們配置的APIOpertion等屬性,延遲我們的專案啟動
    1. 在SwaggerConfig.java檔案我們可以更改ENV_DAILY等屬性不等於啟動專案的環境配置即可
  4. 在全部改為之後我們再次啟動專案,可以發現專案啟動減少了很多時間

[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中找到)

    1. Jrebel:熱部署必備外掛
    2. AceJump:可以不使用滑鼠的快速程式碼
    3. Alibaba Java Coding Guidelines :幫助我們提升程式碼規範的
    4. Free Mybatis plugin:可以快速定位到DAO的方法與之對應的xml檔案內的語句
    5. GsonFormat:Json格式的字串快速轉為JavaBean程式碼
    6. IDEAVim:可以在Idea下使用Vim的普通模式、編輯模式