Tag: java 9

在Intellij中编译java 9问题

我正在尝试在最新的intellij(社区版)中使用Java9进行游戏: IntelliJ IDEA 2016.3 Build#IC-163.7743.44,构建于2016年11月17日JRE:1.8.0_112-release-408-b2 x86 JVM:由JetBrains sro开发的OpenJDK Server VM 不写任何代码Error:Abnormal build process termination: C:\Users\pisarevv\Desktop\jdk-9\bin\java -Xmx700m -Djava.awt.headless=true -Djdt.compiler.useSingleThread=true -Dcompile.parallel=false -Drebuild.on.dependency.change=true -Djava.net.preferIPv4Stack=true -Dio.netty.initialSeedUniquifier=1630946162877517857 -Dfile.encoding=windows-1252 -Djps.file.types.component.name=CommunityFileTypes -Duser.language=en -Duser.country=US -Didea.paths.selector=IdeaIC2016.3 “-Didea.home.path=C:\Program Files (x86)\JetBrains\IntelliJ IDEA Community Edition 2016.3” -Didea.config.path=C:\Users\pisarevv\.IdeaIC2016.3\config -Didea.plugins.path=C:\Users\pisarevv\.IdeaIC2016.3\config\plugins -Djps.log.dir=C:/Users/pisarevv/.IdeaIC2016.3/system/log/build-log “-Djps.fallback.jdk.home=C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.3/jre/jre” -Djps.fallback.jdk.version=1.8.0_112-release -Djava.io.tmpdir=C:/Users/pisarevv/.IdeaIC2016.3/system/compile-server/_temp_ -Dkotlin.incremental.compilation.experimental=true -Dkotlin.daemon.enabled -Dkotlin.daemon.client.alive.path=\”C:\Users\pisarevv\AppData\Local\Temp\kotlin-idea-451096579120734544-is-running\” -classpath “C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community […]

Intellij IDEAexception构建过程终止(XMx700m)

今天我试图在Intellij中编译,但后来我得到这个错误: 错误:构建过程终止exception:“C:\ Program Files \ Java \ jdk-9.0.1 \ bin \ java”-Xmx700m -Djava.awt.headless = true -Djdt.compiler.useSingleThread = true -Dcompile.parallel = false -Drebuild.on.dependency.change = true -Djava.net.preferIPv4Stack = true -Dio.netty.initialSeedUniquifier = 7650118036197354088 -Dfile.encoding = windows-1252 -Duser.language = en -Duser.country = US -Didea.paths .selector = IntelliJIdea2017.3“-Didea.home.path = I:\ Intellij \ IntelliJ IDEA 2017.3.4”-Didea.config.path = C:\ Users \ hadis.IntelliJIdea2017.3 […]

Java 9集合的便利工厂方法作为集合文字的替代方法

考虑这种方法(只是为了说明): boolean isSmallNumber(String s) { return (n in ["one", "two", "three", "four"]); } 当然,这不是Java ,但它可能是你最喜欢的替代语言,支持集合文字,如Groovy或Kotlin 。 表达式是简洁的,就像字符串文字一样,编译器可以将集合文字放在某个静态存储区(甚至可能是"intern()" )。 现在输入Java 9 : boolean isSmallNumber(String s) { return Set.of("one", "two", "three", "four").contains(s); } 这也是简洁的,但不幸的是,每次调用它时,都会在堆上分配一个新的Set,然后立即使其可用于垃圾回收。 当然,您可以定义一个收集常量: private static final Set<String> SMALL_NUMBERS = Set.of(…); 但是这个定义可能与一个大类中的方法定义有一千多的距离,并且你可能无法为它考虑一个好的描述性名称,而字面可能更清楚(在这个假设的情况下)。 所以,如果我在方法内部使用Set.of(…) , JIT编译器会在每次调用方法时优化创建新对象吗?