`
eric_weitm
  • 浏览: 235493 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
js 设计模式 参考资料:http://www.addyosmani.com/resources/essentialjsdesignpatterns/book/ 一 单例 var SingletonTester = (function(){   // args: an object containing arguments for the singleton // 构造函数在匿名闭包内,所以外部不可见   function Singleton( args ) {    // set args variable to args passed or empty object if none ...
node.js 的异步模型 一、基本概念   阻塞式IO:cpu一直等到数据准备好了之后才会工作,即从函数调用开始,一直到数据准备好这段时间cpu是干等着的   非阻塞式的IO:数据准备好了之后发一个信号,此后cpu才会处理,即cpu不会干等着   阻塞式:相当于是轮训、非阻塞式相当于是中断   同步执行:语句的先后顺序就是cpu执行指令的顺序   异步执行:写在前面的语句不一定先执行,具体执行的时间不确定(一般是事件触发的)   可以看出,非阻塞io肯定要与异步执行结合才能保证程序逻辑的正确性,node.js中使用的是非阻塞的io 二、初衷   node.js的初衷是解决IO密集型的 ...
高级语言虚拟机 扫盲系列 本系列文章主要是总结、整理一些高级语言虚拟机实现的原理和方法,希望可以帮助到感兴趣的同学。本系列初步确定会包含如下内容: 一 什么是虚拟机? 二 运行时环境的基本结构 三 脚本层线程的调度 四 基本内存管理策略 五 jit 六 脚本与runtime的交互
游戏客户端是比较庞大的,一般会使用很多不同的模块,以下是某个网游客户端的头文件目录: boost : boost库及代码 cxxtest : 一个自己实现的用于C++的单元测试工具 dbfs : 客户端使用 dbfs 文件系统存放资源脚本等东西 expat : 一个XML解析器, freeimage : 一个图像处理库 freetype : 一个字体引擎,提供统一的接口来访问多种字体格式文件 buildvalue : 一个用于将mapping中的value构建成字符串的工具 csoap : 一种用纯C实现的SOAP协议,主要面向client/server模式 gloox : 一个跨平台的C+ ...
某网游服务端的注册回调机制 基本概念 GS:game server 主要是处理游戏逻辑和维护数据,其基本功能是响应客户端的命令。所以GS的核心模块是无限循环取消息、处理消息的过程。网游处理的核心对象是角色,而每个角色的处理逻辑是类似的,所以服务端可以编写通用的流程,分别处理不同状态、环境和属性下的角色逻辑。 服务端代码核心的编程思想是注册、回调。顾名思义,这种机制包括2个过程。 注册:将新的功能添加进系统(松散、异步的); 回调:在合适的时机使新加入的功能起作用。 基于这种机制的代码组织形式与windows里面基于消息的编程模式类似。 具体应用: 1、服务端各个子模块(d模块)统一通过 re ...
扩展和相关架构 扩展和与Java程序设计语言紧密相关的架构(按字母排序)。 Groovy ,一种用纯Java实现的脚本语言,Python的强有力竞争者 JAIN (Java API for Integrated Networks)Java综合网络应用程序开发接口 JAI,(Java Advanced Imaging)Java进阶图像 Java EE(原名J2EE),Java平台企业版 Java ME(原名J2ME) ,Java平台微型版为PDA和智能手机开发的移动版本 Java SE(原名J2SE),Java平台标准版 JDBC ,(Java Database Connecti ...
最近的代码阅读量比较多,有必要对代码阅读的方法进行整理。由于各种语言的差异,以下我会分别总结C、C++和java的代码阅读方法。 C工程 应用服务器或者对性能要求较高的工程会用纯C来写,这种工程是不太好读的。要读这 ...
Java 编程的动态性 参考资料:IBM开发者资料 参考地址 http://www.ibm.com/developerworks/cn/java/j-dyn0429/ 一 类加载器 C语言程序执行过程:编译、链接(生成可执行文件)、操作系统的装载程序将其装入内存(建立进程)来运行 java程序的 ...
学术界与游戏开发相关的期刊和会议(这可都是精华啊):   花了一点时间收集了一些相关的资料,算是做个准备吧,呵呵。 第一部分acm经典资料: ACM Transactions on Graphics (TOG) Applied Perception in Graphics and Visualization International Conference on Computer Graphics and Interactive Techniques ACM SIGGRAPH symposium on Interactive 3D Graphics and Games  Non-Photore ...
jvm主要功能模块 hotspot/src/share/vm/runtime/init.cpp line:90 init_globals() HandleMark:为线程做标记,便于删除相应范围的handle 1、management_init(主要是进行各种计数的处理) 管理内存、线程、垃圾回收等,内部初始化了  线程服务、运行时服务、类加载服务 2、bytecodes_init  建立好字节码相关的表结构,便于后面利用查表实现相应的逻辑 3、classLoader_init 统计class,维护classpath、class与字节码等之间的映射关系 4、codeCache_init(); ...
大地图: main ---JavaMain()---InitializeJVM----InvocationFunctions---LoadJavaVM----JNI_CreateJavaVM---Threads::create_vm hotspot/src/share/vm/runtime/thread.cpp line:2996 Threads::create_vm(JavaVMInitArgs* args, bool* canTryAgain) 1、hotspot/src/os/windows/vm/os_windows.cpp  line:3498 os::init()    win3 ...
由于在windows下建立jdk的工程环境非常的麻烦,所以干脆就直接来看了,(一般的读代码最快的方式是打断点,看调用流程),经过艰苦的奋斗,最主要的代码的位置终于找到了。 openjdk\hotspot\src\share\tools\launcher\java.c 中的main函数是整个hotspot虚拟机的入口, 和其他程序一样,main函数是在非常高的抽象程度进行抽象并进而描述主流程,进行必要的初始化之后, JavaMain在新的线程中开启并开始执行java的main class。从jvm本身启动的角度来看,最主要的流程是通过 一个回调来进行的,此回调函数通过 InvocationFun ...
原来写了很多日志,但是都是在人人网,今天准备把这些都搬到iteye来,算是重新整理一下思路吧。 现在JIT很火,据说有的LUA jit的速度与C编译出的程序的速度是相当的,毕竟这方面做的比较早的比较有成果的还是jvm,网上搜了一下,系统分析JVM代码的资料是少的可怜,干脆,我就花点功夫去做个开拓者吧。以下所有分析基于最新jvm 的实现 jdk7的源代码,下载地址如下 http://download.java.net/openjdk/jdk7/  我所使用的源代码的版本是 openjdk-7 build143 。 一、hotspot 入口 openjdk-7-ea-src-b142-12_m ...
因女友原因,本人要到 沈阳、青岛或大连工作,恳请各位老大推荐一下这3个地方好一点、厚道一点的企业,另外如果可以的话 请大家推荐合适的工作。 本人基本情况: 项目经验:(以时间倒序) 1、移植经典策略游戏 x-com到html5(client)和node.js(server)平台;目前,我主要实现了EditableText, Label, ListView, Button等基于canvas的控件、base内的所有界面、client端的整体框架、Base内的所有数据结构、server端的消息router、以及client与server端基本消息通信机制。 2、基于three.js 实现网页3D客户 ...
browser request client端源代码解析   main.js 入口,处理html最外层界面的回调   app.js  总配置接口   game.js 游戏主逻辑 继承关系:Entity---character-----player----warrior 主渲染循环  game.start --------game.click 初始化:main.js----initApp---initGame       Game的主要组件 renderer、updater、bubbleManager(弹出菜单)、audioManager、chatinput、pathfinder、playe ...
Global site tag (gtag.js) - Google Analytics