Java中是否有“指针”或“不安全代码”的概念?
昨天,我参加了一家知名欧洲公司的首席技术官的演讲,他直到最近才知道java有指针。在面对他时,他说他绝对确定java中存在指针/不安全代码。
昨天,我参加了一家知名欧洲公司的首席技术官的演讲,他直到最近才知道java有指针。在面对他时,他说他绝对确定java中存在指针/不安全代码。
有一个叫做sun.misc.Unsafe
的类,这是真的。但它在Java代码中不使用指针(因为Java没有指针,尽管我同意java引用在概念上是相似的),其中大部分是使用本机代码实现的。
正如我在注释中提到的,这不是公共API的一部分,不应该被客户端代码使用。但是,当您查看 java.util.concurrent.atomic
包中的类的源代码时,您可以看到它在工作中。Atomic*
Java中没有指针,只有安全引用。不幸的是,您备受赞誉的首席技术官错了。
不安全代码通过 JNI 集成。