将 Java 移植到 AS3
Posted
技术标签:
【中文标题】将 Java 移植到 AS3【英文标题】:Porting Java to AS3 【发布时间】:2011-10-21 04:40:39 【问题描述】:我正在将 Java 类移植到 AS3。该课程的大部分内容都涉及位级编程。我遇到过这段用 Java 编写的代码:
int pixels[] = new int[width * height];
short gpixels[] = new short [width * height];
在我遇到这样的代码中进一步:
gpixels[i]
这两个变量在 AS3 中的等价物是什么。它们是字节数组还是整数?我认为“short”是一个 16 位整数,而“int”是一个 32 位整数。
【问题讨论】:
【参考方案1】:ActionScript 没有 short、long、float、double 等...
您可以将数值类型映射到 int、uint 或 Number。
Java 类型 AS3 类型 ----- -------------- java.lang.Integer 整数 java.lang.Short int java.lang.Long 数字 java.lang.Double Number java.lang.浮点数 AS3 整数限制:-2147483647 到 2147483647 AS3 uint 限制:0 到 4294967295 AS3 数量限制:-1.79769313486231e+308 到 1.79769313486231e+308AS3 Number 是 IEEE-754 双精度浮点数
AS3 有字节和位操作。
【讨论】:
太好了,我不知道。尽管它使事情变得更简单,但它确实使优化内存变得有些困难。感谢您提供信息。 如果这些是 AS3 中的整数,那么第二个代码块中提到的类似数组的引用是什么? @wvxvw 如果我不熟悉在字节数组上使用读/写短方法,最好在这里使用 Vector 吗? var gpixels:Array;或输入为向量: var gpixels:Vector.当您说明数据类型的大小时,您是正确的,short 是 16 位,int 是 32 位。我发现我最常看到在有人试图在数组中节省内存时使用 short - 毕竟,shorts 是整数大小的一半。
根据实际数组的大小,以及您如何处理存储在该位置的值(颜色代码等),您可能希望坚持使用尽可能小的数据类型。
640 x 480 整数数组至少需要 1,228,800 字节,没有开销,而 640 x 480 短数组只需要 614,400 字节。
如有疑问,请使用尽可能少的内存,尤其是在图形环境中,通过缓冲区快速消耗大量内存。
【讨论】:
以上是关于将 Java 移植到 AS3的主要内容,如果未能解决你的问题,请参考以下文章
将带有 rbf 内核的 sklearn SVC 移植到 java
将Java`Character.isJavaIdentifierStart`移植到javascript / typescript中