摘要: 转载自http://www.appcelerator.com/blog/2012/05/comparing-titanium-and-phonegap/How PhoneGap WorksAs we mentioned previously, a PhoneGap application is a “native-wrapped” web application. Let’s explore how the web application is “wrapped”.Many native mobile development SDKs provide a web browser widget 阅读全文
posted @ 2014-04-11 21:45 nickolas 阅读(27) 评论(0) 编辑
摘要: 最近需要通过配置生成代码,减少重复编码和维护成本。用到了一些动态的特性,和大家分享下心得。我们常用到的动态特性主要是反射,在运行时查找对象属性、方法,修改作用域,通过方法名称调用方法等。在线的应用不会频繁使用反射,因为反射的性能开销较大。其实还有一种和反射一样强大的特性,但是开销却很低,它就是Javassit。Javassit其实就是一个二方包,提供了运行时操作Java字节码的方法。大家都知道,Java代码编译完会生成.class文件,就是一堆字节码。JVM(准确说是JIT)会解释执行这些字节码(转换为机器码并执行),由于字节码的解释执行是在运行时进行的,那我们能否手工编写字节码,再由JVM执阅读全文
posted @ 2014-04-01 01:23 nickolas 阅读(280) 评论(0) 编辑
摘要: 之前排查问题有涉及到一些jvm的知识,之前提到的是一些基础的gc日志知识,这次接着简单分析jvm的设计原理,相信jvm的设计方法会对我们在项目设计时有些启发。1 什么是Perm Generation?持久存储的jvm使用的class对象,class对象,就像其他存储在堆中的对象一样。class对象也和object对象一样被存储和gc。class对象和其他对象的关系如图。2 为什么要把object对象和class对象分开存储?1) 哲学原因:在软件哲学上看,class对象是jvm需要的,object对象是应用开发需要的,分开存储,应用开发就不需要关心jvm的那些对象。2) 历史原因:在自定义cl阅读全文
posted @ 2014-03-14 21:10 nickolas 阅读(48) 评论(0) 编辑
摘要: 我遇到这样的问题,本地部署时抛出异常java.lang.OutOfMemoryError:GC overhead limit exceeded导致服务起不来,查看日志发现加载了太多资源到内存,本地的性能也不好,gc时间消耗的较多。解决这种问题两种方法是,增加参数,-XX:-UseGCOverheadLimit,关闭这个特性,同时增加heap大小,-Xmx1024m。坑填了,but why?OOM大家都知道,就是JVM内存溢出了,那GC overhead limit exceed呢?GC overhead limt exceed检查是Hotspot VM 1.6定义的一个策略,通过统计GC时间来阅读全文
posted @ 2014-02-27 22:33 nickolas 阅读(8058) 评论(1) 编辑
摘要: Fromhttp://jeremymanson.blogspot.com/2009/07/how-hotspot-decides-to-clear_07.htmlI got asked about this twice in one day, and I didn't know the answer, so I sat down and puzzled it out a bit.ASoftReferenceis a reference that the garbage collector can decide to clear if it is the only reference l阅读全文
posted @ 2013-05-29 12:32 nickolas 阅读(43) 评论(0) 编辑
摘要: *本文为原创, 转载请注明出处 www.cnblogs.com/hucn 学习Objective-C有段时间了, 写些心得和大家分享讨论. 我的"母语"是C++, 所以会通过和C++比较来加深理解. 文章主要介绍Objective-C的基础知识, 适合Objective-C新手, 熟悉Objective-C的朋友可以不看了, 或是帮忙挑挑错~ 1. C和Objective-...阅读全文
posted @ 2011-12-10 23:23 nickolas 阅读(717) 评论(0) 编辑
摘要: 看得懂的知识,要仔细看; 看不懂的知识,要硬着头皮看. 真正用到这些知识的时候. 才发现自己掌握的很不扎实. 了解, 理解, 记住, 熟练, 精通, 这个过程可能需要对一个知识或者一个知识体系进行反复的运用和思考. 我觉得对知识理解的越深刻、完整, 记忆才会更持久, 使用起来才更熟练. 所以个人认为多角度的理解问题是关键. 下面记录下我最近遇到的一些问题, 方便日后查看, 后面可能会更新:D.这里...阅读全文
posted @ 2011-10-22 22:31 nickolas 阅读(845) 评论(0) 编辑
摘要: 首先看下四元数怎么表示旋转, 沿任意轴u(Xa, Xb, Xc)旋转角度O, 对应四元数q(x, y, z, w), 其中 x = s*Xa, y = s*Ya, z = s*Za, w = cos(O/2), s = sin(O/2), 即q = (sin(O/2)*u, cos(O/2)) . 若p为一点或向量, p按照q旋转表示为qpq*. q*=(-x, –y, –z, w). 有多...阅读全文
posted @ 2011-10-15 22:34 nickolas 阅读(259) 评论(0)  编辑
摘要: 光照模型将自然界的光照分为几个分量, 环境光, 漫反射光, 镜面光, 放射光. 环境光(ambient light)描述的是在环境中进行充分的散射, 似乎来自所有方向的光. 环境光撞击物体表面时, 会向所有方向均匀发散. ambient light = ambient light * ambient material 即RGB of ambient light = (R1R2, G1G2, B1...阅读全文
posted @ 2011-10-15 22:03 nickolas 阅读(239) 评论(0) 编辑
摘要: 前一段时间参加了好多招聘会,笔试面试每天都有。今天突然闲了下来,想仔细想自己想要什么样的生活。一直以来想成为大家都认同的一名技术人员,能够做出让自己满意,让用户体会到便捷或者快乐的产品。过去的一次次选择成就了现在的自己,希望自己现在的选择不会在未来感到遗憾。 关于什么软件行业更有前途或者更适合个人发展这个问题上,和身边的朋友们进行了一番探讨,并且在国外的论坛上发了一篇帖子咨询国外的大牛,如何去选择方向,最后得出的结论是——对于一名刚毕业的程序员来说,方向也许不重要,重要的是公司的团队,最应该看重的是发展的机会。云风大大说过,“提醒各位同学,找工作要小心。先侦察一下,如果公司就是要做个啥项目光.阅读全文
posted @ 2011-10-14 20:28 nickolas 阅读(105) 评论(0) 编辑