Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说习惯使用eclipse,如何快速上手IDEA?,希望能够帮助你!!!。
1.前言
首先下载ideaIU-2019.3.4.win.zip包激活,打开如下:
菜单File-》Settings中搜索keymap,设置eclipse快捷键操作
设置快捷键为eclipse之后,就可以使用eclipse的快捷键在IDEA中操作了
菜单 File-》Other Settings-》Structure for New Projects 选好jdk如下:
菜单File-》Settings中搜索maven,设置maven仓库配置文件和地址
菜单File-》Settings中搜索plugins,并安装插件Free Mybatis plugin(mybatis dao方法直接定位到xml方法),JRebel(代码热部署),Maven Helper(maven依赖支持和eclipse maven依赖类似的树形结构),statistic(代码量统计),效果如下:
JRebel效果:(点击窗口左下角的窗口图标选中JRebel菜单打开勾选需要热加载的module)
Maven Helper效果:
statistic效果:(点击窗口左下角的窗口图标选中statistic菜单打开)
菜单Help-》Edit Custom VM Options 设置JVM参数如下:
-Xms4096m
-Xmx4096m
-XX:MetaspaceSize=1024m
-XX:MaxMetaspaceSize=1024m
-Xss256k
-XX:MaxDirectMemorySize=100m
-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=true-Dkotlinx.coroutines.debug=off
-Djdk.module.illegalAccess.silent=true-javaagent:E:\soft\ideaIU-2019.3.4.win\bin\jetbrains-agent.jar
参数说明:
-Xms : 堆内存大小,第一个是最小堆内存
-Xmx : 最大堆内存比较合适的数值是2-4g,再大就得考虑GC时间;Server端JVM最好将-Xms和-Xmx设为相同值,开发测试机JVM可以保留默认值;
-XX:MetaspaceSize: 元空间初始值
-XX:MaxMetaspaceSize: 元空间最大值,JDK8的永生代几乎可用完机器的所有内存,为了保护服务器不会因为内存占用过大无法连接,需要设置一个初始值,和最大值保护一下。
-Xss:在堆之外,线程占用栈内存,默认每条线程为1M。存放方法调用出参入参的栈、局部变量、标量替换后的局部变量等,有人喜欢设小点节约内存开更多线程。但反正内存够也就不必要设小,有人喜欢再设大点,特别是有JSON解析之类的递归调用时不能设太小。
-XX:MaxDirectMemorySize:堆外内存/直接内存的大小,默认为堆内存减去一个Survivor区的大小。
-XX:ReservedCodeCacheSize:JIT编译后二进制代码的存放区,满了之后就不再编译。默认开多层编译240M,可以在JMX里看看CodeCache的大小。
-XX:+UseConcMarkSweepGC:启用CMS垃圾收集器
-XX:SoftRefLRUPolicyMSPerMB: 这个参数比较有用的,官方解释:Soft reference在虚拟机中比在客户机中存活的更长一些。其清除频率可以用命令行参数 -XX:SoftRefLRUPolicyMSPerMB=来控制,这可以指定每兆堆空闲空间的 soft reference 保持存活的毫秒数,这意味着每兆堆中的空闲空间中的 soft reference 会(在最后一个强引用被回收之后)存活1秒钟。注意,这是一个近似的值,因为 soft reference 只会在垃圾回收时才会被清除,而垃圾回收并不总在发生。默认为50秒,
大家可以调小点。
-ea[:<package name>"…" |:<class name> ]
上述参数就用来设置jvm是否启动断言机制(从JDK 1.4开始支持),缺省时jvm关闭断言机制。
用-ea 可打开断言机制,不加和classname时运行所有包和类中的断言,如果希望只运行某些包或类中的断言,可将包名或类名加到-ea之后。例如要启动包com.wombat.fruitbat中的断言,可用命令java -ea:com.wombat.fruitbat…。
useCanonCaches:使用标准IO缓存
优先使用IPv4栈
HeapDumpOnOutOfMemoryError:堆内存溢出输出
OmitStackTraceInFastThrow:开启追踪
根据个人电脑配置可以调节jvm参数大小