- 博客(6)
- 收藏
- 关注
原创 《魔灵保卫者》服务端架构及实现
《魔灵保卫者》这款游戏的服务端是我从0开始搭建的,一直到游戏上线。最高在线2000人左右,架构如下图: 协议处理流程 1.通信层接收客户端的请求,通过协议号定位到业务层的处理类 2.业务层执行相应的协议逻辑,数据变动提交给数据层,到这里就返回响应客户端了 3.数据层定时同步变动数据到数据库登陆流程 1.客户端登陆平台 2.客户端拿到区服列表 3.客户端选择区服请求登陆游服 4.游
2016-01-30 14:46:04 510
原创 使用SLF4J+Logback作为Java项目的日志框架
为什么是SLF4J?slf4j是一个的日志框架门面,抽象了各种日志框架的接口,如:logback,log4j,commons-logging,Java JDK自带的logging等,它是一套接口,具体实现交给了其它日志框架,使用slf4j的项目,可以在部署的时候灵活选择自己想要的日志实现框架,想用 logback就logback,想用 log4j就log4j,想用其它的就其它的!
2016-01-30 11:40:08 1090 1
原创 使用jrebel实现Java热更
基于eclipse IDE做Java开发,你不用jrebel就太可惜了!为什么要用jrebel?因为它能实现热更,就是你不需要重启程序,就能看到增加,修改,删除代码后的效果,减少了重启的次数,大大提升了开发效率!我是做游戏开发的,下面是我的经验。不用jrebel之前,我和前端调试功能是这样的,报错了,我就修改代码,然后重启,一般一次重启要花1分钟左右,重启后再调试发现还有问题于是我
2016-01-30 08:05:54 1413
原创 groovy 线上修改Java程序的内存
问题:1.你有一个限定数量线程池,用于处理登陆。但是由于某种原因线程都死锁了,有没有办法线上替换线程池,让登陆服务继续可用?2.游戏中,玩家的某个任务由于一些特殊情况,数据错误了,永远没法完成了,有没有办法线上修改内存数据,让玩家继续游戏?思路:第一种办法是事先实现好处理这些问题的接口,然后管理后台直接调用接口。但是很多时候我们事先想不到。第二种
2016-01-29 08:56:11 1596
原创 ERROR: Packet for query is too large (2034> 1024)
故障现象:数据存储的时候报ERROR: Packet for query is too large (2034> 1024). You can change this value on the server by setting the max_allowed_packet' variable.排查过程:从报错看是 mysql的 max_allowed_packet参数值设
2016-01-28 08:37:06 8034
原创 一个简单的mybatis入门demo
创一个简单的maven项目第一步:maven配置mysqlmysql-connector-java5.1.35org.mybatismybatis3.3.0第二步:实体和DAO接口实体类public class FundBase {/*** 基金代码*/private int code;/*** 基金名称*/
2016-01-20 08:24:23 478
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人