标签‘Intellij idea’

IDEA系列64bit启动时Failed to create JVM…问题解决

大概2015年的时候,写过一篇名为《合理使用Intellij Idea,提高开发效率,避免内存溢出》的博文,简单介绍了自己在使用idea过程中解决操作界面卡顿等性能问题的方法。意外的是,近一年来百度来路每天都有二三十个搜idea内存优化找到上面提到的文章,可能国内最近使用idea的用户越来越多了吧。

个人猜测,可能是因为当时版本的idea系列安装时并不会提示用户该软件有64bit的入口,而且安装后的快捷方式默认都是32bit,所以大部分用户都是直接使用32bit做开发,而且很多用户怨声载道。而近一年的版本已经做了改进,如果系统是64bit,默认有复选框提示生成32bit、64bit的快捷方式,这样一来,稍微有点计算机基础的用户,可能都会选择使用64bit作为入口了。

随之而来的,可能是对于内存的调优,但稍有不慎,可能出现Failed to create JVM:error code -1。

网上大部分介绍是说没有配置JAVA_HOME,当然如果是非idea用户,真有可能忽略了此步骤,但如果本身就是Java开发人员,基本可以忽略这个可能性(当然是在自己确认无误的情况下)。接下来遇到这样的问题,就不能看错误提示表象了,可能是改了配置,配置参数不对或者内存不够,因为初始化最大内存750,作为开发人员,基本也可以忽略这个了。所以,只有一种情况,配置不对。

最新版的配置参数有所缩减,移除了-XX:MaxPermSize等配置项,基本如下(64bit) 查看更多...

合理使用Intellij Idea,提高开发效率,避免内存溢出

最近使用Intellij idea(phpstorm、webstorm、pycharm、rubymine等类似)开发的时候,经常遇到内存被占满,导致异常卡顿,一开始总以为是自己程序内存泄露,后面发现即使不启动自己的项目,只是单纯的开发,依然会出现内存占满甚至溢出的情况。

最后,实在受不了,在各大技术网站上搜罗相关文章,都说修改Intellij idea默认的vm配置文件即可增大使用内存,比如,将bin目录下的idea.exe.vmoptions文件内由
-server
-Xms128m
-Xmx512m
-XX:MaxPermSize=250m
-XX:ReservedCodeCacheSize=150m
-ea
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-Djsse.enableSNIExtension=false
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
修改为 查看更多...

Intellij Idea下打包JavaWeb项目忽略外部依赖包(Tomcat为例)

使用Intellij Idea有一段时间了(将近一年),从一开始的不习惯,到现在的高效开发,一切都显得是那么的自然而然。

由于前段时间一直做的项目并非传统Web项目,而是纯Restful风格的WebService,故而没有使用到基本的Servlet Api(Restful采用封装好的框架——Jersey,开发时不涉及Servlet Api的调用),也没有直接引入诸如Tomcat之类中间件自带的Jar包,所以一直没有发现问题。

直到最近,一个小项目的兄弟神奇的采用了Tomcat6的工具类实现文件上传,他开发使用的是eclipse,切换到我的Intellij Idea上面,发现编译不通过,就顺手在Libraries里面添加了Tomcat的Lib目录,自以为完美解决了,不料Tomcat6、Tomcat7启动时均会报错,有一段时间甚至引入Tomcat6的Lib,运行在Tomcat7下,由于关键API改动不大,而用到的Tomcat6文件上传工具类在Tomcat7更名或移除了,所以这样奇葩的开发了近一周时间,通过查看编译后的输出文件,了解到,Intellij Idea是吧Tomcat的Jar包也同时输出了,当然,打包的时候也会包含在War包内,不过由于项目紧张,一时没来得及找方法,后面实在不爽,就留意了一下网友们的说法: 查看更多...