算法与架构
rockswang
万金油型开发者,编译器、服务器端、图形图像、游戏开发、移动开发都搞过。
目前在使用haXe语言开发多平台(Flash/Android/iOS/HTML5)娱乐应用和游戏。
展开
-
从Java虚拟机角度审视针对移动设备的代码优化
这篇文章是很早以前针对J2ME代码的优化而撰写的,那个时候很多设备的虚拟机性能烂,内存少,对JAR包的体积还有要求(比如老S40),所以极限化优化是一种需求。当下的智能手机甚至功能手机都和几年前已不可同日而语,下面的很多技巧仅供参考吧,至少能让大家对java编译器和虚拟器的一些机制有些了解。以下的技巧根据不同需求可归纳如下:1. 通过改变编码习惯减少生成的字节码指令数量,这样既能节省内原创 2012-12-09 19:44:45 · 694 阅读 · 0 评论 -
Haxe宏机制深入研究
上次看着官方文档,简单的脑补了一下Macro的运作机制,不过呢,纸上得来终觉浅,于是我决定实际编写一个基于宏的haxelib来边开发边学习边总结。这个库也是从实际需求出发,是一个国际化/本地化支持库,目标是在编译时实现字符串的外部化(externalize),生成xml供翻译使用,多语言字串的替换等等。下面说说我在此库开发中对宏运用的心得体会:原创 2013-06-19 17:22:13 · 3655 阅读 · 2 评论 -
浏览器的工作原理:新式网络浏览器幕后揭秘
http://www.html5rocks.com/zh/tutorials/internals/howbrowserswork/转载 2013-04-12 09:12:59 · 1003 阅读 · 0 评论 -
让我们一起进入haXe的奇幻世界吧
haXe是什么?haXe是一种编程语言,官方网站在:http://haxe.org下面是官网对haXe的描述:IF YOU COULD ONLY LEARN ONE PROGRAMMING LANGUAGE, HAXE WOULD BE IT.IT'S UNIVERSAL. IT'S POWERFUL. IT'S EASY-TO-USE.那么haXe原创 2012-12-10 00:01:30 · 3483 阅读 · 3 评论 -
haXe NME通过JNI调用Android
haXe中的JNI概念首先澄清一个概念问题,NME中的JNI接口和java中的含义并不相同,java中的JNI是java调用本地C/C++代码的标准接口,而haXe中的JNI则正好相反,是用haXe在Android目标平台调用java代码。当然,意义上也说得通,因为从haXe和Android目标的关系来说,Android自带的java运行库反而是native的嘛,呵呵。 nme.JNI原创 2012-12-18 23:21:22 · 2146 阅读 · 0 评论 -
haXe学习笔记:xml的解析
haXe官网文章链接:http://haxe.org/doc/cross/xml在haXe中操作xml文件还是很简单的,就一个类Xml,这个类既是工具类又是文档节点类。下面的代码即可解析xml: var str = 'Haxe rules!'; var xml : Xml = Xml.parse(str).firstElement(); t原创 2012-12-12 01:15:27 · 932 阅读 · 0 评论 -
关于haXe/Java的一些文章收集
官方的新手指南:http://haxe.org/doc/start/java如何编译haXe成java: http://www.gigglingcorpse.com/2012/04/11/compiling-haxe-to-java-is-really-cool/用haXe编写nme项目中Android目标的Java部分: http://www.gigglingcorpse.com/201原创 2012-12-12 01:20:31 · 892 阅读 · 0 评论 -
一个可以设置种子的随机数产生器
haXe在flash平台中没有可设置种子的随机数产生器,cpp平台中有cpp.Random类可设置种子,但不能用于flash平台,比较麻烦。这里特别给出一个各平台通用的“有种的”随机数产生器类:package net.cnjm.haxe.util;#if cpptypedef Random = cpp.Random;#elseimport nme.display.Bitma原创 2012-12-12 01:16:10 · 748 阅读 · 0 评论 -
HaXe学习笔记:HaXe语言和其它编程语言的区别
以前发在百度空间里的,目前看来可能不够精确,仅供大家参考。================================================================老实说,haxe这种语言还是有些怪异的,这里主要跟我擅长的java和一般擅长的javascript比较一下吧,这两种语言一为静态语言,一为动态语言,而haxe则居于两者之间,再加上类似C的预编译指令,真是呜原创 2012-12-10 00:07:32 · 4592 阅读 · 0 评论 -
在J2ME中实现高效高质缩小图片
以下算法可以把一张图片快速缩小到原大小的1/4,即长宽都为原来的一半,且因为使用邻域组合的算法(即从原图4个像素累加再4等分得到新图上的一个像素),效果非常好。虽然不能实现任意比例放缩,但以下算法短小精悍效率高,可用于一些特定场合,比如:显示图片的缩略图等。 int w1 = img1.getWidth(), h1 = img1.getHeight(), w2 = w1原创 2012-12-09 20:01:07 · 617 阅读 · 0 评论 -
Javassist简单应用 - 不用学习JVM知识也可以修改class文件
------------------------------------------------ package rocks;import javassist.*;public class TestAssist { public static void main(String[] args) throws Exception { ClassPoo原创 2012-12-09 19:58:13 · 731 阅读 · 0 评论 -
原创开源javascript解释器 RockScript,可以在J2ME手机上流畅运行!
源代码和测试程序在这里:http://code.google.com/p/javascript4me/已在Nokia低端S40手机中测试过。测试程序是一个标准J2ME应用,打开程序后即可从javascript例程列表中选择一个来显示源文件或直接执行。如需测试自己编写的javascript源码,只要将编写好的js文件加入scripts.zip并重新打JAR包即可。优点体积超级原创 2012-12-09 19:55:02 · 1380 阅读 · 0 评论 -
在Haxe命令行应用中使用OpenFL库
最近尝试把之前用Haxe编写的小拼图游戏移植到Html5目标,因为原来有一些图片是在运行时使用像素运算动态产生的,在html5平台上从性能上考虑,决定把这部分运算放到服务器上,也就是用服务器来完成像素运算产生图像,浏览器端代码直接下载这张图片。这就有个问题,要把原来客户端的代码移植到服务器端。因为下列的客观条件:1. 服务器端Windows Server + Tomcat2. 原来的客原创 2013-12-30 00:44:59 · 3249 阅读 · 0 评论