Java中的“Chunk :: new”中的“::”(双冒号)运算符是什么意思?

时间:2013-06-20 18:01:58

标签: java

我从tomcat进程获得hs_err_pid fatal logs,并在日志内部显示

#
# A fatal error has been detected by the Java Runtime Environment:
#
# java.lang.OutOfMemoryError: requested 1035152 bytes for Chunk::new. Out of swap space?
#
#  Internal Error (allocation.cpp:215), pid=2060, tid=3980
#  Error: Chunk::new
#
# JRE version: 6.0_21-b07
# Java VM: Java HotSpot(TM) Server VM (17.0-b17 mixed mode windows-x86 )
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#

我的问题不是关于OutOfMemoryError,而是关于如何解释Chunk::new短语。

我看到here显然双冒号是Java中的运算符,但我不确定它的作用。这会与我的情况有关吗?

2 个答案:

答案 0 :(得分:8)

在版本8之前,它并不代表Java中的任何内容(请参阅this question)。

您所看到的是指C ++代码。第一个词是类名,第二个是方法名。 ::本身称为Scope resolution operator

您获得的错误来自JVM本身的C ++代码。

答案 1 :(得分:0)

这表明Java无法从操作系统获取更多内存。

您正在使用的JVM是在C ++上开发的。但是JVM的东西是特定于供应商的。

与此运算符无关。