将并发java类移植到c#

将并发java类移植到c#,c#,java,C#,Java,我正在尝试通过Cliff Click移植高比例库 但是有一些java类我找不到与之类似的c类 AtomicLongFieldUpdater java中的sun.misc.Unsafe类型与c#或IntPtr中的指针相同吗? 我的最后一个问题是所有java对象都可以为空吗?在阅读了代码之后,我更强烈地建议不要尝试直接移植它。所编写的代码对Java内部进行了疯狂的操作,试图挤出极薄的性能余量。等效的C#代码可能执行得不好,或者可能需要不同的技术来实现相同的结果 基本上:如果您还不完全理解Java

我正在尝试通过Cliff Click移植高比例库

但是有一些java类我找不到与之类似的c类

AtomicLongFieldUpdater
java中的sun.misc.Unsafe类型与c#或IntPtr中的指针相同吗?

我的最后一个问题是所有java对象都可以为空吗?

在阅读了代码之后,我更强烈地建议不要尝试直接移植它。所编写的代码对Java内部进行了疯狂的操作,试图挤出极薄的性能余量。等效的C#代码可能执行得不好,或者可能需要不同的技术来实现相同的结果


基本上:如果您还不完全理解Java代码在做什么,以及它为什么这样做(我自己也不声称理解它)那么您可能没有资格尝试将其移植到不同平台上具有不同内存模型和不同并发保证的不同语言上。

sun.misc.Unsafe
不是指针,是的,所有非原始Java值都可以设置为
null
。需要明确的是:任何使用
sun.misc.Unsafe
的东西都不是可移植Java,因此它肯定会做其他事情,使您的端口无法顺利运行。更好的方法是阅读现有的代码以获取想法,并用惯用C#编写一个新的实现。