草庐IT

JDK-Logging

全部标签

java - 泛型 - 编译器不一致 [jdk 1.8.0_162]

我遇到了泛型问题,这让我对编译器实际如何处理泛型类型感到困惑。请考虑以下事项://simpleinterfacetomakeitaMCVEstaticinterfaceA{publicFgetF();publicSgetS();}staticComparator>wrap(Comparatorc){return(L,R)->c.compare(L.getS(),R.getS());}以下将无法编译,因为在调用thenComparing时,两种泛型类型都被简化为Object:Comparator>c=wrap((L,R)->Integer.compare(L,R)).thenCompar

java - 如何从源代码(JDK 中的 src.zip)构建 java JRE?

令人惊讶的是,我找不到这个问题的答案。我正在尝试从源代码重建javaJRE。我通过在JDK中提取src.zip文件来获取javaJRE源。在我需要对JRE进行任何更改后,我如何将新源代码编译回.java文件(之后我可以将其压缩到rt.jar文件中)。谢谢。 最佳答案 您有更好的机会使用OpenJDK(Oracle/SunfutureJDK的基础)。http://openjdk.java.net/但实际上你想改变什么?也许有更好的方法... 关于java-如何从源代码(JDK中的src.z

java - 在 Program files 的 java 文件夹中放置两个 jre,一个在 jdk 中,一个在 outsite jdk 中的原因是什么

我在java文件夹里看到了两个jre,一个在jdk里面,一个在jdk外面。你能告诉我拥有这两个jre的原因是什么吗? 最佳答案 我没有正确阅读您的答案并进行了一些搜索,这是一个似乎是Oracle员工的答案:Therearesomedifferenceswhichmayexplainwhatyouareseeing.TheJREthatisincludedwiththeJDKdoesnotsupportAutoUpdateanditdoesnotcontainanyproductofferingsasthestandaloneJREd

java - 我可以运行使用 32 位 jdk 和 64 位 jre 开发的 java 程序吗?应用程序使用 32 位非 Java 系统库

我正在64位Windows7安装上使用64位eclipse开发java应用程序。我被迫使用32位JDK(1.7.0),因为该应用程序使用Jpcap,它不会用64位JDK编译。应用程序必须是跨越32位和64位系统的跨平台,使用任何JDK开发的java应用程序通常都是这种情况。但我认为情况有点复杂,因为除了jar之外,Jpcap还安装了系统库(.dll/.so),这些库又是WinPcap和libpcap的包装器。因此,Jpcap调用是对这些库的一系列嵌套调用。问题是:应用程序可执行文件能否在64位平台上运行?假设用户将安装所需的x86库(jpcap.dll/.so、WinPcap、libp

java - 如何确定我的 JDK11 版本是 "free"还是 "non-free"?

众所周知,Oracle在Java11中更改了Java许可证,要求JDK的商业用途需要付费许可证。然而,使用OpenJDK仍然是免费的。我的PC上有一个JDK11文件夹,如下所示:在这些文件夹中有什么方法可以判断我拥有的是免费的OpenJDK版本还是需要付费许可的OracleJDK版本? 最佳答案 您会在JDK的根目录中看到一个名为release的文件。用文本编辑器打开它并检查它是否包含该行BUILD_TYPE="commercial"如果是这样,那么它就是一个商业构建。这是我安装11.0.1OpenJDK时的样子:IMPLEMENT

upgrade - IBM JDK/JRE 5 的生命周期结束了吗?

是否有宣布ibmjdk5的生命周期终止/支持终止日期(在Solaris/SPARC和Linux/x64上)? 最佳答案 首先,IBMJDK5(用于AIX)恰好是supporteduntil2012.我找不到Linux/x64系列的任何明确日期;您可能需要咨询IBM本身。其次,我不确定IBM是否发布了针对Solaris/SPARC的JRE或SDK;Solaris中使用的JDK版本通常是SunJDK,它甚至适用于WebSphere。 关于upgrade-IBMJDK/JRE5的生命周期结束了

eclipse - 在 Mac OS X 上为 JDK7u4 在 Eclipse 中设置什么 JRE 主页?

我下载并安装了适用于MacOSX的JDK7u4。现在我想设置Eclipse来使用这个JDK。在Preferences>Java>InstalledJREs中,我应该为JRE主页设置什么位置?我将它安装在默认位置。 最佳答案 参见Oracles'sJDKreleasenotesInthe"JREHome:"field,type"/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home"请注意,您必须键入它,因为打开的对话框会在“/Library/Java/JavaVirtual

java - 安装 JDK8 后,将 Windows 7 上的命令提示符设置为 JDK7

安装JDK8后,我无法在Windows7上再次将命令提示符设置为JDK7。我已经为JAVA_HOME和PATH设置了系统环境属性,指向JDK7和我的JDK7/bin文件夹,并且我还重新启动了SO,每次我打开一个新的命令提示符并运行java-version我总是得到Java版本8。在Java环境设置中,我还启用了JDK7。如何再次为JDK7配置命令提示符? 最佳答案 基于评论的答案。java.exe安装到%SystemRoot%\system32目录中,此java运行基于注册表的Java版本。如果你想覆盖这个版本的Java,你不仅需要

java - JDK 8 上的 Nashorn 解析器 API

寻找用于解析JavaScript的Java/JDKAPI(包括Nashorn扩展)我偶然发现了thisGist,根据内联评论,它需要JDK9才能运行。是否有一种可靠的方法可以在当前或计划发布的JDK8上完成相同的任务? 最佳答案 Nashorn解析器API(http://openjdk.java.net/jeps/236)是jdk9特定的API。在jdk8或jdk8更新中,支持脚本解析器功能。load("nashorn:parser.js");并从脚本中调用“parse”函数。此函数返回一个JSON对象,表示已解析脚本的AST。查看

java - 在 OSX 上安装 JDK 9 后 Eclipse 无法打开

我运行的是OSX10.11.3ElCapitan。直到最近,我才让EclipseMars.1和JDK8u72顺利运行。最近我从“jdk9.java.net/download/”安装了JDK9的早期快照版本。之后,Eclipse打不开,不断告诉我发生了错误,并告诉我要引用日志。我研究了为什么安装JDK9后Eclipse会崩溃,发现eclipse.org实际上已经发布了EclipseMars和Neon的更新补丁以支持JDK9的使用,详见文章https://www.eclipse.org/community/eclipse_newsletter/2015/june/article4.php.