如何用JAVA开发游戏服务器?
首先,我得说明的是,目前市场上新人很难去做pc游戏开发,要么是做页游要么是手游。
页游不清楚我就不说了,手游里面,客户端主要就是c2d和u3d。
如果你想做客户端,那么你可以转学u3d,因为它使用的语言是c sharp,这个语言和java相似。网上unity的教程也很多,你随便找一下就有了。
再说说手游服务器,其实我入行服务器还是挺巧合的,当初本来是打算做客户端的,都入职了,因为招不到服务器,就让我转服务器了。。
服务器的教程,我至今也没找到,而且也找不到系统的教程。
开源的服务器框架也只熟悉kbengine和scut。其中一个是cpp做底层python做开发的,一个是c sharp做开发。而且scut已经两年没有更新了,应该是死掉了。
所以,想要学服务器开发,得碰点运气。
java服务器目前主流框架技术有 网络层netty或mina,数据协议protobuf,数据库mysql,缓存数据库redis,jdbc一般是mybaits或者jpa,项目管理maven,设计层面spring
然后还需要熟悉多线程,linux的基本操作,git或者svn。
差不多了,这些都有个大致的了解,会用,应该就能找到工作了。
后面再深入需要学习的也挺多的,到时候你再根据业务需求自己琢磨着学吧。
vertx优缺点?
优点
非常灵活-无论是简单的网络实用程序,复杂的现代Web应用程序,HTTP / REST微服务,大容量事件处理还是功能完善的后端消息总线应用程序,Vertx都是非常合适的选择。
缺点
像Netty和Mina这种框架,无法解决java nio的一些缺点,许多工具包和框架都是基于它们来构建的。
Java程序员如何突破三年的门槛?
工作3年了,同样是程序员,为什么别人每月28K你却只有16K,如何才能突破自己得到持续成长呢?这是每一个程序员都绕不开的话题。在这里和大家分享我从程序员进阶成为java高级工程师/架构师的一些学习方向,Java进阶之路离不开一个长期系统的学习规划,方向方法正确了,结果自然是好的。以下,enjoy~
一、常见模式与工具
1. 常用设计模式:Proxy代理模式、Factory工厂模式、Singieton单例模式等
2. Spring5:IOC容器设计原理及高级特性,AOP设计原理、FactoryBean与BeanFactory,Spring事务处理机制等
3. MyBatis:代码自动生成品,缓存使用场景及选择策略,MyBatis的事务分析MyBatis的动态代理的真正实现等
二、常用工具
1. Maven:项目管理
2. Jenkins:持续集成
3. Sonar:代码质量管理
4. Git:版本管理
三、分布式架构
1. 架构原理
2. 架构策略
3. 中间件
4. 架构实战
四、微服务架构
1. 微服务框架
2. Spring Cloud
3. Docker与虚拟化
4. 微服务架构
五、性能优化
1. 性能指标体系
2. JVM调优
3. Tomcat调优
4. MySQL调优
六、底层知识
1. 内存模型
2. 并发模式
3. 线程模型
4. 锁细节
以上,只是列举一个大概的学习方向,工作几年,走着走着,我们就会发现,身边总有些程序员成长得特别快,对此,不能一叶障目,只见他人加薪晋级,却看不见他人工作之余对学习的坚持不懈。人生机会并不多,当下努力,以后才能有更多自由与选择。以下福利,送给希望进阶成为架构师的你,助力进阶加薪~
【福利】由BAT背景架构师原创出品的java架构师学习80期专题资料合集,私信关键词【架构】给优知学院,立即免费秒领。
都划到这儿了,点个赞呗!
都划到这儿了,点个赞呗!

