标签分类 热门分类
当前位置:首页 > 程序设计电子书 > Java开发电子书网盘下载
深度解析Java游戏服务器开发 深度解析Java游戏服务器开发
u014059976

u014059976 提供上传

资源
22
粉丝
15
喜欢
348
评论
4

    深度解析Java游戏服务器开发 PDF 完整扫描版

    Java开发电子书
    • 发布时间:

    给大家带来的一篇关于Java开发相关的电子书资源,介绍了关于Java、游戏服务器、Java开发方面的内容,本书是由电子工业出版社出版,格式为PDF,资源大小314.4 MB,何金成编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:8.8,更多相关的学习资源可以参阅 程序设计电子书Java电子书、等栏目。

  • 深度解析Java游戏服务器开发 PDF 下载
  • 下载地址:https://pan.baidu.com/s/1R3mLHckJPc54nbHpWhBG1
  • 分享码:aav6
  • 深度解析Java游戏服务器开发 PDF

    以便协助想掌握新手入门服务器开发设计的从业者或式从业者快速把握Java服务器开发设计的技术性,这书从手机游戏的行业现状、Java技术性、手机游戏逻辑性、数据库系统、网络理论、服务器技术、构架剖析、优化系统等层面对服务器开发设计做过全方位分析,并对现阶段市场较最火的手机游戏开展剖析,从制造行业到基础理论到技术性,再到构架到实战演练。这书领着用户了解Java服务器开发设计有关行业,协助要想新手入门服务器行业的用户迅速地掌握并把握有关內容。这书应用性强,既是是非非游戏行业工作人员快速掌握并把握服务器技术性的秘笈,也是游戏行业从业者升阶提高的实用手册。这书合适做为非游戏行业但想新手入门游戏行业的Java技术工程师、想掌握游戏服务端技术性的手机游戏前端工程师、必须服务器开发设计新手入门工具书的工作人员,及其别的对服务器开发设计有个人爱好的各种工作人员的阅读书。

    目录

    • 基础篇 走进游戏开发
    • 第1章 认识游戏 2
    • 1.1 什么是游戏 2
    • 1.1.1 游戏的定义 2
    • 1.1.2 游戏的分类 3
    • 1.2 游戏开发及分工 7
    • 1.3 游戏行业现状分析 12
    • 1.4 游戏服务器开发要点 15
    • 总结 17
    • 第2章 环境搭建 18
    • 2.1 Windows开发环境搭建 18
    • 2.1.1 安装JDK 18
    • 2.1.2 安装Eclipse 20
    • 2.1.3 安装数据库客户端工具 21
    • 2.1.4 安装SSH工具 21
    • 2.1.5 安装其他工具 22
    • 2.2 Mac OS X开发环境搭建 22
    • 2.2.1 安装JDK 23
    • 2.2.2 安装Eclipse 23
    • 2.2.3 安装数据库客户端工具 24
    • 2.2.4 安装SSH工具 24
    • 2.2.5 安装其他工具 24
    • 2.3 Linux服务器环境搭建 25
    • 2.3.1 安装JDK 25
    • 2.3.2 安装Tomcat 26
    • 2.3.3 安装MySQL 26
    • 2.3.4 安装Mongo 28
    • 2.3.5 安装Redis 29
    • 2.3.6 安装Memcache 32
    • 2.4 总结 33
    • 入门篇 游戏开发
    • 第3章 网络通信 36
    • 3.1 通信协议 36
    • 3.1.1 面向连接的TCP 37
    • 3.1.2 面向数据报的UDP 38
    • 3.1.3 HTTP编程 39
    • 3.1.4 Socket编程 46
    • 3.1.5 WebSocket编程 54
    • 3.2 Java NIO基础 58
    • 3.2.1 BIO编程(Blocking-IO,阻塞式IO) 59
    • 3.2.2 NIO编程(Non-Blocking IO,非阻塞式IO) 61
    • 3.2.3 AIO编程(Async IO/NIO.2,异步IO) 68
    • 3.3 Mina的介绍及其使用 75
    • 3.3.1 总体架构 76
    • 3.3.2 IoService 77
    • 3.3.3 IoFilterChain 77
    • 3.3.4 IoHandler 77
    • 3.3.5 IoSession 77
    • 3.3.6 工作原理 78
    • 3.3.7 Acceptor与Connector线程 78
    • 3.3.8 Processor线程 78
    • 3.3.9 线程模型 79
    • 3.3.10 请求的处理顺序 80
    • 3.3.11 Mina编程 81
    • 3.4 Netty的介绍及其使用 88
    • 3.4.1 总体架构 88
    • 3.4.2 零拷贝 89
    • 3.4.3 Codec框架 90
    • 3.4.4 Channel 90
    • 3.4.5 ChannelEvent 91
    • 3.4.6 ChannelPipeline 91
    • 3.4.7 Netty编程 91
    • 总结 100
    • 第4章 数据交互 101
    • 4.1 数据传输格式 101
    • 4.2 JSON的使用及解析 103
    • 4.2.1 JSON语法 103
    • 4.2.2 JSON对象 104
    • 4.2.3 JSON数组 104
    • 4.2.4 Java中的JSON解析 105
    • 4.3 XML的使用及解析 110
    • 4.3.1 XML的特征 111
    • 4.3.2 数据共享 111
    • 4.3.3 数据传输 111
    • 4.3.4 平台兼容 111
    • 4.3.5 JSON与XML的比较 112
    • 4.3.6 Java中的XML解析 112
    • 4.4 Google Protocol Buffer的介绍及使用 128
    • 4.4.1 Protobuffer的安装与编译 128
    • 4.4.2 Protobuffer的语法 129
    • 4.4.3 生成Java类 130
    • 4.4.4 Eclipse的protobuf-dt插件 131
    • 4.4.5 示例程序 132
    • 总结 134
    • 第5章 数据缓存与持久化 135
    • 5.1 游戏数据存储 135
    • 5.1.1 数据分类 136
    • 5.1.2 数据缓存方式 136
    • 5.1.3 数据持久化方式 137
    • 5.1.4 数据库的比较 137
    • 5.2 MySQL的介绍及使用 138
    • 5.2.1 特点 138
    • 5.2.2 数据类型 139
    • 5.2.3 MySQL的使用 139
    • 5.2.4 在Java中使用MySQL 142
    • 5.3 MongoDB的介绍及使用 157
    • 5.3.1 MongoDB的主要特点 157
    • 5.3.2 了解API 159
    • 5.3.3 Mongo的使用 162
    • 5.4 Memcache的介绍及使用 174
    • 5.4.1 Memcache的特点 175
    • 5.4.2 Memcache的使用场景 176
    • 5.4.3 在Java中使用Memcache 177
    • 5.4.4 客户端使用要点 182
    • 5.5 Redis的介绍及使用 183
    • 5.5.1 Redis的特点 183
    • 5.5.2 Redis的持久化 184
    • 5.5.3 Redis的主从复制 184
    • 5.5.4 在Java中使用Redis 185
    • 总结 199
    • 第6章 游戏逻辑 200
    • 6.1 逻辑架构 200
    • 6.1.1 项目目录 200
    • 6.1.2 模块介绍 202
    • 6.2 逻辑流程 212
    • 6.2.1 网络模块 212
    • 6.2.2 线程池 221
    • 6.2.3 启动服务器 222
    • 6.2.4 逻辑请求处理 223
    • 6.2.5 关闭服务器 228
    • 6.3 事件处理器 229
    • 6.4 定时任务 236
    • 6.5 RPC框架 244
    • 6.5.1 Json-rpc 244
    • 6.5.2 Motan 253
    • 总结 264
    • 第7章 游戏安全 265
    • 7.1 游戏安全的必要性 265
    • 7.2 登录安全 266
    • 7.3 游戏充值 266
    • 7.4 SQL注入 267
    • 7.5 通信协议与消息格式 268
    • 7.6 整型溢出 269
    • 7.7 并发请求 269
    • 7.8 逻辑漏洞 270
    • 7.9 日志系统 271
    • 总结 271
    • 高级篇 游戏服务器的设计及优化
    • 第8章 服务器架构分析 274
    • 8.1 服务器架构的演变过程 274
    • 8.2 全区同服架构分析 277
    • 8.2.1 COC架构模型分析 278
    • 8.2.2 COK架构模型分析 279
    • 8.3 分区分服架构分析 281
    • 8.4 弱联网类游戏架构分析 282
    • 8.5 MMORPG类游戏架构分析 283
    • 总结 285
    • 第9章 《皇室战争》游戏开发实战 286
    • 9.1 微竞技游戏介绍 286
    • 9.2 架构分析及搭建 287
    • 9.2.1 功能分析 287
    • 9.2.2 服务器部署架构 288
    • 9.2.3 系统架构 289
    • 9.3 数据持久化方案 290
    • 9.3.1 数据结构分析 290
    • 9.3.2 使用Morphia操作MongoDB 295
    • 9.4 Netty网络框架的使用 300
    • 9.4.1 Netty实现的HTTP服务器 300
    • 9.4.2 Netty实现的TCP服务器 309
    • 9.5 账号系统 316
    • 9.6 个人信息 323
    • 9.7 英雄卡牌系统 327
    • 9.8 宝箱系统 334
    • 9.9 战斗系统 339
    • 9.10 客户端模拟 349
    • 9.10.1 登录界面 349
    • 9.10.2 选服界面 354
    • 9.10.3 主逻辑界面 358
    • 9.10.4 对战界面 363
    • 总结 372
    • 第10章 游戏开发技术前景 373
    • 10.1 Egret 373
    • 10.2 Cocos 2D 374
    • 10.3 Unity 375
    • 10.4 Unreal 376
    • 10.5 Java 376
    • 10.6 Node.js 377
    • 总结 378

    上一篇:Java程序员面试笔试真题库  下一篇:微信公众平台网页开发实战:HTML5+JSSDK混合开发解密

    展开 +

    收起 -

    Java开发 相关电子书
    关于Java开发的学习笔记
    网友NO.953390

    java实现flappy Bird小游戏

    本文实例为大家分享了java实现flappy Bird游戏的具体代码,供大家参考,具体内容如下 整个游戏由3个类构成。Bird类,Pipe类,stage类 第一步: 首先写一个Bird类 //鸟类public class Bird { private int flyHeight;//飞行高度 private int xpos;//距离y轴(窗口左边缘)的位置, public static int Up=1;//向上飞 public static int Down=-1;//向下飞 public Bird() { flyHeight=200; xpos=30; } public void fly(int direction) { if(direction==Bird.Up) flyHeight-=20;//每次向上飞20m if(direction==Bird.Down) flyHeight+=20;//每次向下飞20m } public int getFlyHeight()//获得当前飞行高度 { return flyHeight; } public int getXpos()//获得当前鸟的水平位置 { return xpos; } public Boolean hit(Pipe pipe[])//检测是否碰到管道。只有在鸟经过管道的过程才有可能相撞 { for(int i=0;ipipe.length;i++)//遍历管道进行检测,是否相撞 { if(getXpos()+20=pipe[i].getXpos()getXpos()=pipe[i].getXpos()+20)//鸟经过管道 if(flyHeightpipe[i].getUpHeight()||flyHeightpipe[i].getDownHeight())//鸟与管道相撞 return true; } return false; }} 第二步: 写一个Pipe类,Pipe类 里有3个成员,upHeight表示顶管道端的高度,downHeight表示底端管道段的高度,同样要记录管道的水平位置。 public class Pipe { private int upHeight;//表示顶管道端的高度 private int downHeight;//表示底端管道段的高度 private int xpos; public Pipe() { upHeight=0; downHeigh……

    网友NO.334695

    Javascript实现找不同色块的游戏

    游戏规则:在变化数量的颜色块里找出一个不同颜色的块点击 这里使用了JS中的构造函数来创建元素 !DOCTYPE htmlhtmlhead lang="en" meta charset="UTF-8" title找不同色块的游戏(构造函数)/title/headstyle *{ margin: 0; padding: 0; } #box{ width: 600px; height: 600px; margin: auto; margin-top: 100px; } #score{ width: 180px; height: 50px; line-height: 150%; font-size: 2em; position: absolute; top: 30px; left: 35%; } .creat{ float: left; border-radius: 100%; }/stylebody div id="score"关卡:1/div div id="box"/div script var n=1;//关卡值 var Create=new creat(3);//定义构造函数对象,传入一个参数(开始时的布局3x3) Create.go();//调用构造函数里面的函数属性 function creat(event){//定义构造函数creat var obox=document.getElementById("box"); this.className="creat";//设置className this._creat=null;//事先创建出一个属性_creat用于指向一个对象 this.go=function(){//创建颜色块的方法函数 var colorNum1=Math.floor(Math.random()*253)+1;//随机数取一个值范围是(1~254)防止白色块出现 var colorNum2=Math.floor(Math.random()*253)+1; var colorNum3=Math.floor(Math.random()*253)+1; this.color="rgb("+colorNum1+","+colorNum2+","+colorNum3+")";//定义rgb颜色属性 this.diffOpacity=0.7;//用于改变其中一个颜色快的颜色(这里可以自定义改变透明度) for(var i=0;ievent*event;i++){//创建循环循环event*2次,每当点击颜色块后event变化 this._……

    网友NO.739239

    Java实现两人五子棋游戏(三) 画出棋子

    上一篇文章讲的是Java实现两人五子棋游戏(二) 画出棋盘,已经画好棋盘,接下来要实现控制功能,主要功能: 1)选择棋子 2)画棋子 3)判断胜负 4)交换行棋方 先实现画棋子PART -------------画棋子代码示例如下-------------- 首先,定义一个棋子类,这个类有两个属性,棋子颜色(0-表示黑色,1-表示白色),是否落子(我计划用一个二维数组才存储棋子的落子信息) Chessman.java package xchen.test.simpleGobang; public class Chessman { private int color;//1-white,0-black private boolean placed = false; public Chessman(int color,boolean placed){ this.color=color; this.placed=placed; } public boolean getPlaced() { return placed; } public void setPlaced(boolean placed) { this.placed = placed; } public int getColor() { return color; } public void setColor(int color) { this.color = color; } } 接着我们上一部分的画好棋盘的代码部分,新增画棋子的代码,我用两个棋子(一白一黑,分别位于棋盘的【8,8】,【7,7】)来检验画棋子的代码 DrawChessBoard.java package xchen.test.simpleGobang; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.RadialGradientPaint; import java.awt.Image; import java.awt.Toolkit; import java.awt.Color; import javax.swing.JPanel; public class DrawChessBoard extends JPanel{ final static int BLACK=0; final static int WHITE=1; public int chessColor = BLACK; public Image boardI……

    网友NO.250704

    java版数独游戏核心算法(一)

    之前学习javascript时用javascript写过一个数独游戏,最近看了一点java的内容,于是就心血来潮想搞一个java版的数独游戏。 现在将全部代码分享出来和大家学习交流,当然代码中有着各种各样的问题和不足之处,望各位朋友批评指点。 以下是生成数独地图的核心算法,算法不是很好,也是之前参考过网上的一些思想: package hlc.shudu.src;/* * 数独的帮助类,里面提供数据所需的所有算法 */public class ShuduHelper { //数独地图数组 private static int[][] maps = new int[9][9]; //每个小九宫格可放置位置的数 private static int[] canPutSum = new int[9]; //用来存储之前放置过的位置 static int[] used = new int[9]; //是否已经完成地图的生成 static boolean isOk = true; /* * 得到数独地图数组 */ public static int[][] getMap() { //判断是否已经完成地图的生成,要是没有完成就重新生成。 //从这里就可以看出算法还有待优化,如果回溯的好的话就一直可以通过回溯来重新生成,而这里是通过重新执行生成算法来重新生成。希望感兴趣的朋友可以去实现以下。 do{ isOk = true; initMaps(); }while(!isOk); return maps; } /* * 初始化maps */ private static void initMaps() { // 初始化地图数组中没有填入任何数字 for (int i = 0; i 9; i++) { for (int j = 0; j 9; j++) { maps[i][j] = -1; } } // 依次填入1~9 for (int num = 1; num = 9; num++) { for ……

    Copyright 2018-2019 xz577.com 码农之家

    版权责任说明