`
javahigh1
  • 浏览: 1225088 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论
文章列表
很多时候,如果在做引擎的时候,不考虑编辑器怎么做,将来会是一件极其痛苦的事情。简单的举例如下:1. 很多物体有很多的属性要编辑,比如粒子系统的发射器属性,效果器属性。这些大量的属性,如果你没有一套很好的机制来描述的话,做编辑器的时候,将会是灾难。2. 很多时候,引擎的扩展性带来得一个问题是,物体的类型是未知的,如何在编辑器里做编辑?比如你的粒子系统的发射器类型未知,效果器未知(都是可以扩展的嘛),这些未知的物体有未知的属性。另外,材质系统中,shader参数(不同的 shader有不同的参数)的编辑等等。如果说1是还可以补救的灾难,那么问题2就是无法解决的。在C#中,可以采用property的方 ...
ZooKeeper zk=new ZooKeeper("192.168.1.188,192.168.1.189,192.168.1.190",50000,w); ArrayList<ACL> acls = new ArrayList<ACL>(); ACL acl1=new ACL(ZooDefs.Perms.ALL, new Id("digest", DigestAuthenticationProvider.generateDigest("qingx ...
Zk 对znode操作采用ACL进行了访问权限控制,类似于linux提供的读写权限,ZK将操作权限划分以下几种:CREATE/READ/WRITE/DELETE/ADMIN, ·CREATE: 表示有权限创建一个子节点 ·READ: 表示可以getData或者getChildren ·WRITE: 表示可以setData ·DELETE: 表示可以delete子节点 ·ADMIN: 表示可以通过setACL设置znode权限 Create和delete权限是从write权限中拆分出来的,注意与linux中write的区别。ZK中使用常量类来标明了这些权限。 将这些权限与一系 ...
网络协议 | kernelchina http://www.kernelchina.org/node/9
http://lwn.net/Articles/336224/
大型网站,比如门户网站。在面对大量用户访问、高并发请求方面,基本的解决方案集中在这样几个环节:使用高性能的服务器、高性能的数据库、高效率的编程语言、还有高性能的Web容器。但是除了这几个方面,还没法根本解决大型网站面临的高负载和高并发问题。 上面提供的几个解决思路在一定程度上也意味着更大的投入,并且这样的解决思路具备瓶颈,没有很好的扩展性,下面我从低成本、高性能和高扩张性的角度来说说我的一些经验。
ehcache支持两种拓扑结构,一种是Distributed Caching,另一种是Replicated CachingDistributed Caching 这和一般意义上的分布式缓存非常类似,这一类型的缓存是有client-server之分的,application通过client向server端请求缓存数据,在server端,数据 ...
无论是在Linux还是在Unix环境中,make都是一个非常重要的编译命令。不管是自己进行项目开发还是安装应用软件,我们都经常要用到make或 make install。利用make工具,我们可以将大型的开发项目分解成为多个更易于管理的模块,对于一个包括几百个源文件的应用程序,使用make和 makefile工具就可以轻而易举的理顺各个源文件之间纷繁复杂的相互关系。 但是如果通过查阅make的帮助文档来手工编写Makefile,对任何程序员都是一场挑战。幸而有GNU 提供的Autoconf及Automake这两套工具使得编写makefile不再是一个难题。 本文将介绍如何利用 GNU Aut ...
简介:使用 Sockets API,我们可以开发客户机和服务器应用程序,它们可以在本地网络上进行通信,也可以通过 Internet 在全球范围内进行通信。与其他 API 一样,您可以通过一些方法使用 Sockets API,从而提高 Socket 的性能,或者限制 Socket 的性能。本文探索了 4 种使用 Sockets API 来获取应用程序的最大性能并对 GNU/Linux® 环境进行优化从而达到最好结果的方法。 在开发 socket 应用程序时,首要任务通常是确保可靠性并满足一些特定的需求。利用本文中给出的 4 个提示,您就可以从头开始为实现最佳性能来设计 ...
Optimizing C and C++ Code http://www.eventhelix.com/realtimemantra/Basics/OptimizingCAndCPPCode.htm
KeeperState.SyncConnected 时事件类型为EventType.None发生在客户端收到ConnectResponse,与客户端协调好session time的时间后,会触发一个KeeperState.SyncConnected 的None事件类型。
一般情况下,zk客户端与服务端建立连接后,会在2/3*sessionTime*1/2的时候发送一个心跳消息到服务端,保持会话更新。但是可能在某个时候网络中断可能导致客户端无法连接上服务端,此时客户端会不停的依次重试各个服务器,一直到连接上某个服务器为止。如果在未连接上这段时间内,服务端session已经过期,(参见SessionTracker的实现SessionTrackerImpl),它是依靠一个线程对过期的session进行清理,并关闭掉连接。 synchronized public void run() { try { while (running ...
debug software crash http://www.eventhelix.com/realtimemantra/Basics/debugging_software_crashes.htm http://www.eventhelix.com/realtimemantra/basics/debugging_software_crashes_2.htm C/C++ software memory corruption types http://www.yolinux.com/TUTORIALS/C++MemoryCorruptionAndMemoryLeaks.html ...
http://www.newty.de/fpt/index.html Callbacks, function pointers The Function Pointer Tutorials by Lars Haendel: http://www.newty.de/fpt/index.html Callbacks in C++ http://www.newty.de/jakubik/callback.html C++ Callback Solution by Arash Partow - I like it Member Function Pointers and the ...
linux, unix上调试网路问题工具,包括nslookup,tcpdump, traceroute, ifconfig, ping ,host, netstat, weget, curl... http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch04_:_Simple_Network_Troubleshooting
Global site tag (gtag.js) - Google Analytics