Articles of Java 8

在Windows和Linux上使用Java 8的Tomcat 7

我有以下麻烦: 我想用Apache Tomcat 7.0.54构build基于目标Java-8的Java Servlet。 当我在本地机器(Win-64,jdk build 1.8.0-b132)上运行它时,它可以很好地工作。 但是当我把它部署在生产(Debian GNU / Linux 7.5(wheezy),jdk build 1.8.0-b132,Tomcat 7.0.54-2)时,它会抛出: Unsupported major.minor version 52.0 (unable to load class ru.tomtrix.fvds.servlets.ItemServlet) 这意味着不支持的Java-8类。 那么对于同一版本的Tomcat的Windows和Linux实例有什么问题呢?

Linux上的JDK 1.8缺lessJNI包含文件

我正在编译下面的项目: https://github.com/entropia/libsocket-can-java 我总是得到这个错误信息? 有谁知道如何解决这个问题,是否可能是Linux上的JDK 1.8.0.11(x64 Debian Wheezy)中的错误? In file included from jni/de_entropia_can_CanSocket.h:2:0, from jni/cansocket.cpp:23: /opt/jdk1.8.0_11/include/jni.h:45:20: fatal error: jni_md.h: No such file or directory #include "jni_md.h" ^

Java 8与Jetty在Linux内存问题

你能帮我解决以下问题吗? 语境: 我们正试图将我们现有的运行在Java6(Glassfish)上的应用程序迁移到Java8(在Jetty9上)。 之前,我们能够在Java7上成功迁移相同的设置(在jetty9上)。 但客户决定现在就用Java 8。 在这个过程中,我们遇到了一些内存问题,下面是细节: 问题描述: 启动Jetty服务器后,java进程的初始(RES)内存使用量约为5.5克。 在运行应用程序一段时间后,内存使用缓慢上升,并消耗机器上最大的可用物理内存(8g),最终导致服务器/系统崩溃。 这个问题只在linux环境下遇到。 在Windows环境中找不到这样的问题。 Profiler发现: 使用VisualVM和jconsole监视服务器。 在两个分析器中,JVM的内存(堆和非堆)使用率都低于分配的限制。 环境详情: Java Version : 8 Server : Jetty 9.2.10 OS : linux on a virtual machine(Linux version 2.6.32-279.14.1.el6.x86_64 (mockbuild@c6b8.bsys.dev.centos.org) (gcc version 4.4.6 20120305 (Red Hat 4.4.6-4) (GCC) ) #1 SMP Tue Nov 6 23:43:09 UTC 2012 Java Options : -Xms3072M […]

了解JVM堆打印输出中的元数据行

在Java 8堆打印输出中,您可能会看到如下所示的行: Metaspace 采用 2425K, 容量 4498K, 承诺 4864K, 预留 1056768K https://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/considerations.html试图解释这一行: 在Metaspace开始的行中, 使用的值是用于加载的类的空间量。 容量值是当前分配的块中可用于元数据的空间。 提交的值是可用于块的空间量。 保留值是元数据保留的空间量(但不一定是已提交的)。 再次,从上面的链接: 从操作系统请求空间,然后分成块。 类加载器为其元数据分配元数据的空间(块被绑定到特定的类加载器)。 我想知道每个领域是什么意思(使用,能力,承诺,保留),但我正在努力理解上述定义。 我的理解是,metaspace是从JVM进程的虚拟地址空间中分离出来的。 JVM在启动时根据-XX:MetaspaceSize保留初始大小,该大小具有未logging的特定于平台的默认值。 我假设保留指的是元空间的总大小。 空间被分成块。 我不确定每个块是否具有相同的大小。 每个块包含与单个类加载器关联的类元数据。 容量和承诺的声音像我的自由空间(基于链接的定义)。 由于元数据存储在块中,因此我会假定使用的容量将等于提交,但是不会。 也许承诺意味着使用的保留空间,但那么用什么来表示? 元数据使用的空间? 那么,还有什么其他的方式来使用这个空间? 我希望你看到我的困惑。 我希望澄清一下这些定义。

为什么我的Eclipse Luna 4.4使用Oracle JDK8 64bit在Debian Wheezy 7.4上崩溃?

我在Oracle VirtualBox上安装了Debian GNU / Linux 7.4(wheezy)操作系统,并且: java version "1.8.0_11" Java(TM) SE Runtime Environment (build 1.8.0_11-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.11-b03, mixed mode) 我下载了Eclipse Luna 4.4。 当我尝试运行Eclipse时发生错误: A fatal error has been detected by the Java Runtime Environment: SIGSEGV (0xb) at pc=0x00007f9e8a42173f, pid=10942, tid=140319582553856 JRE version: Java(TM) SE Runtime Environment (8.0_11-b12) (build 1.8.0_11-b12) Java […]

Linux上的JavaFX显示“graphics设备初始化失败:es2,sw”

我刚刚开始在Linux上编写/testingJavaFX的东西,我在开始一个简单的应用程序时,面临着一个错误。 我在福恩斯发现了很多人,但我可以find一个清楚的解释,为什么发生。 我想了解我的scheme中缺less的工具。 任何build议将真正令人厌恶。 Env信息: java version "1.8.0-ea" Java(TM) SE Runtime Environment (build 1.8.0-ea-b123) Java HotSpot(TM) Client VM (build 25.0-b65, mixed mode) Linux MYServer 2.6.21-1.3228.fc7 #1 SMP Tue Jun 12 15:37:31 EDT 2007 i686 i686 i386 GNU/Linux 例外: Graphics Device initialization failed for : es2, sw Error initializing QuantumRenderer: no suitable pipeline found java.lang.RuntimeException: java.lang.RuntimeException: […]

JAVA应用程序随机崩溃的DLL问题

我有一个JAVA应用程序通过COM与.Net应用程序进行通信。 Offlate(因为我们已经从Windows 2003服务器迁移到Windows 2012 R2服务器 ),Java应用程序会随机崩溃。 有时我们会看到应用程序崩溃,所有相关的控制台closures,因为有时我们观察到应用程序和控制台仍然存在,但它已经挂起。 重新启动应用程序大多数时间解决了这个问题。 在Windows系统中的事件视图将指向DLL的一些问题。 我有这个问题是类似的,但我们正在使用JAVA 8更新71 32位的Windows 2012服务器R2上,所以我不认为这个解决scheme适用于我们。 有人可以帮我这个吗? 我们的窗户是更新的,但如果有人能指点我们的颗粒包装,我会感激,然后我可以检查它是否在那里。 下面列出的是我们将在Windows事件查看器中得到的错误日志。 Version=1 EventType=APPCRASH EventTime=131281548825671250 ReportType=2 Consent=1 ReportIdentifier=c0ed1792-d3d2-11e6-bbd4-547879605a0a IntegratorReportIdentifier=c0ed1791-d3d2-11e6-bbd4-547879605a0a WOW64=1 Response.type=4 Sig[0].Name=Application Name Sig[0].Value=java.exe Sig[1].Name=Application Version Sig[1].Value=8.0.710.15 Sig[2].Name=Application Timestamp Sig[2].Value=5679f9aa Sig[3].Name=Fault Module Name Sig[3].Value=ole32.dll Sig[4].Name=Fault Module Version Sig[4].Value=6.1.7600.16385 Sig[5].Name=Fault Module Timestamp Sig[5].Value=4a5bdac7 Sig[6].Name=Exception Code Sig[6].Value=c00000fd Sig[7].Name=Exception Offset Sig[7].Value=0002c8cc DynamicSig[1].Name=OS Version DynamicSig[1].Value=6.1.7600.2.0.0.272.7 […]