自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

focus-unchanged-thing

专注于纷繁快速变化中那些不变的东西

  • 博客(8)
  • 资源 (12)
  • 收藏
  • 关注

原创 Java游戏服务器7(课程总结)

Java: 内存管理基本不用管。死板,但是不华丽花哨。C++写宏定义之类的,每个人写的,看不懂。Java则是一个统一的标准,容易协作。js的也是每个人风格不一样,就会导致看不懂。处理业务: 千万不要在线程之间跳来跳去。 那么IO实在是没有办法了,因为不能再主线程中做,所以只能在跳出IO线程。在IO线程里面处理逻辑,基本上都能定位到代码。多线程并发处理业务逻辑,基本就无解了,是很麻烦的。看病去了,先去拍片子,回来后,再次回到队尾排队。回到主线程时,需要知道之前是哪个IO线程..

2021-02-25 00:15:02 184

原创 Java游戏服务器8:分布式游戏日志处理: Filebeat(搜集日志到ES) + ES + Kibana(从es捞出来日志,前端的形式展现出来)

问题:用户登陆1服有日志,登陆2服也有日志,需要跨服务器。之前log4j+socket,但是很麻烦目标:通过一个简单的管理界面,管理所有服务器的日志。从elk官网上下载filebeat,修改下配置文件,告诉es和kibana在哪里在kibana上可以捞到所有的日志2)Filebeat到ELK下载...

2021-02-25 00:13:54 266

原创 Java游戏服务器9:ansible+jenkins: 集群服务器线上部署

1)部署jar包的shell脚本指定了最大的堆内存: 2G2)用PowerShell远程登录发布服务器远程登录的原理是:配置了ssh免密登录。3)免密登录配置(以机器A座位发布机器,元和才能登录BC为例子)在A中生成公钥在B机器上查看公钥把A中生成的公钥粘贴到B机器上4)playbook通过配置yaml的方式自动化部署脚本运行...

2021-02-24 11:03:04 258

原创 我眼中的比较通用的任务处理的并发模型: 银行排队处理客户业务

1)并发的线程模型有很多种,比如:skynet的actor模型,但是经过深入的思考,发现还是netty这种无锁化设计是最适合逻辑组织,也是最简单的。2)代码就是人生,转化到现实中,那么就是银行的排队系统:8个窗口(8核的机器),那么来了100个客户端,那么我并发就是同时处理8个任务,让100个客户手中都拿一个号码:0~99,0号由窗口0处理,1号由窗口1处理... 这样客户足够多,那么8个窗口都在处理客户业务,都没有闲下来。这就是相当于充分利用了多个CPU核心。3)虽然理论上比actor损失了一

2021-02-20 14:32:54 248 2

原创 Java游戏开发6(RocketMQ+Redis将排行榜功能独立出来)

1)排行榜的需求: 在未来扩展功能,修改代码,则需要重启服务器。 事故: 到点了, 没有发放奖励。 修复辅助业务的代码,不影响主业务。2)架构 Redis 游戏服务器 排行榜进程 RocketMQ3)游戏服务器是生产者,往MQ中扔; 排行榜从MQ中取出,然后计算结果,扔到Redis; 游...

2021-02-07 00:16:05 379

原创 Java游戏服务器5

来自谷歌的面试题: 死神杀人。 没有计划,随便猜一个; A计划: 50~75%的概率; 99.5%的概率生存--》但是也可能全都死;1)单线程方案 单线程? 不会慢么? 解决慢,要比教会所有人跨线程写逻辑简单; 架构师的工作是取舍和折中,不要炫技; 项目框架越简单,适用性就越广; 可以出错,但是错误不要向下传递; 2)游戏的单线程方案 问题的提出: A和B都打C,那么可能引起死锁。 加锁的...

2021-02-06 20:06:20 365 1

原创 Java游戏服务器4

1)消息识别器: 根据消息号,创建一个Builder。2)javassist:动态修改字节码。==》用于ormtest 原生反射很慢,那我可以用javaassist来加速 3)一些框架没有实现类,是怎么实现出来的。4)多线程与IO5)先讲解移动。 攻击的话,就是涉及到多线程的问题。6)A和B同时攻击C时,A和B 分别在自己的线程,因此有并发访问安全的问题。7)多个线程操作同一份数据,数据不一致的问题。解决方案 (1)加锁 synchroniz...

2021-02-04 21:34:30 203 1

原创 1.jps 和 jstack定位死锁 2.明明安装的jdk是64位,却提示32位的错误 3.查询指定线程堆栈信息 4.top和jps都可以拿到进程号

1)jps获取进程号 然后用jstack查看线程信息2)根据进程号输出信息jstack不能使用的问题,改为11后即可用了使用,可以看到有死锁

2021-02-04 00:12:48 258

Unity 3D网络游戏实战(全)

Unity 3D网络游戏实战(全) Unity 3D网络游戏实战(全) Unity 3D网络游戏实战(全)

2018-08-10

JavaScript设计模式与开发实践-源代码

JavaScript设计模式与开发实践-源代码 JavaScript设计模式与开发实践-源代码

2018-06-03

JavaScript函数式编程

JavaScript函数式编程_PDF电子书下载 高清 带索引书签目录_(美)佛格斯著_北京:人民邮电出版社_P204_2015.08

2018-06-01

编写可维护的JavaScript

编写可维护的javascript 编写可维护的javascript 编写可维护的javascript

2018-05-28

JavaScript应用开发实践指南.pdf

JavaScript应用开发实践指南 JavaScript应用开发实践指南

2018-05-17

markdown写的简历模板

作为程序员,当然应该不用什么word之类的来写简历,我们应该使用简洁美观的markdown编辑器来完成

2018-04-25

MASM汇编语言新手入门

MASM汇编语言新手入门

2012-03-30

C++编写的图书馆管理系统

C++编写的图书馆管理系统

2012-03-30

C++ 0-1背包问题源代码

C++ 0-1背包问题源代码

2012-01-03

航海乘务管理系统C++源代码

航海乘务管理系统C++源代码.

2012-01-02

图书馆管理系统C++源代码

C++开发的图书馆管理程序源代码

2012-01-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除