微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – Scala编译服务器 – VM警告

参见英文答案 > PermGen elimination in JDK 8                                    6个
我在一个项目中使用java scala(与sbt).

语言信息:

nazar@lelyak-desktop:~⟫ java -version
java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)
nazar@lelyak-desktop:~⟫ scala -version
Scala code runner version 2.10.4 -- copyright 2002-2013, LAMP/EPFL

当我运行任何main()时,我收到了奇怪的警告提示

我无法弄清楚这种行为.

更新:

我检查了sbt选项它有相同的行为:

nazar@lelyak-desktop:~⟫ sbt -version
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256M; support was removed in 8.0

感谢您快速解释java 1.8的新功能

但是如何解决MaxPermSise警告的发生?

这里是idea.vmoptions的内容

-server
-xms128m
-Xmx512m
-XX:MaxPermSize=250m
-XX:ReservedCodeCacheSize=64m
-ea
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-Djsse.enableSNIExtension=false
-XX:+UseCodeCacheFlushing
-XX:+UseConcmarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-Dawt.useSy@R_404_6063@AAFontSettings=lcd

Eclipse有eclipse.ini:

-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20130807-1835
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vm
/usr/lib/jvm/java-8-oracle/bin/java
-/home/nazar/optional/java/jdk1.8.0/bin/java
-vmargs
-Dosgi.requiredJavaVersion=1.6
-XX:MaxPermSize=256m
-xms40m
-Xmx1024m
-Dorg.eclipse.swt.browser.IEVersion=10001

UPDATE2

我从两个配置文件删除了包含MaxPermSize的所有行.

但是这个错误警告不断出现(当main()运行时,并在终端运行sbt -version).

有什么建议?

解决方法:

PermGen管理在Java 8中发生了变化.IIRC,它直接在OS内存中管理.因此,在此之前使用的限制和自定义将不再可用.特别是,MaxPermSize不再具有任何意义.我想intellij在运行sbt应用程序时认有这个选项.

您可以在此处找到有关Java 8更改的更多信息:http://openjdk.java.net/projects/jdk8/milestones

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐