自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

海神九考

Java游戏服务端攻城狮

  • 博客(112)
  • 资源 (4)
  • 收藏
  • 关注

原创 MySQL数据库索引并没有你想的那么难之第一节

从今天开始我将会为大家讲解MySQL的数据库索引,通过对行存储结构,数据页结构的理论学习,彻底掌握索引结构存储。为索引优化提供扎实的理论基础。

2023-02-05 21:26:24 518 1

原创 vue的el-table实现字段排序功能

vue中实现排序的两种方法

2023-01-05 14:36:53 6056 4

原创 Groovy动态修改或查询Java游戏服务器信息的终极杀器

通过这种方式来动态修改内存的方式在我们的游戏上线之后,可以查看到服务器相关的信息。而且如果服务器报错导致将玩家的游戏信息给整坏了,也能够通过这种方式来修正。不用停服或者热更的方式来修改。方便、快捷、上线获取服务器信息的终极杀器。

2022-12-21 11:28:22 443

原创 SpringBoot核心--前置内容

上面将的就是Spring的一个发展过程,它的发展其实就是配置全面的向注解的过程。使得我们不再需要配置繁琐的模板化配置的。开发项目更加方便。SPI全称Service Provider Interface,它是JDK内置的一种可以动态发现服务的机制。通过这种方式,可以方便地将服务提供者与第三方实现客户端解耦。它主要包含三个基本组件:服务接口,提供者注册API以及服务访问API。

2022-12-08 20:56:47 1047

原创 游戏服务器性能压测-前置知识

响应时间优先的应用 :尽可能设大,直到接近系统的最低响应时间限制 (根据实际情况选择)。在此种情况下,年轻代收集发生的频率也是最小的。同时,减少到达年老代的对象。吞吐量优先的应用 :尽可能的设置大,可能到达Gbit的程度。因为对响应时间没有要求,垃圾收集可以并行进行,一般适合8CPU以上的应用。

2022-12-08 16:46:21 334

原创 Netty篇之如何优雅的关服

linux中关服如果我们使用Kill -9 pidwindows中关服 taskkill /f /pid pid

2022-12-07 10:27:38 1496

原创 Netty启动之后马上退出问题排查

在Java项目中main方法启动Netty项目之后,netty马上就退出了。这个问题一直困扰这我。最近终于吧问题理清楚了。下面是一些总结。Java项目中JVM如果当前所有的线程都是守护线程的时候,会关闭服务器的。那么Netty主线程完成之后调用的是NioEventLoop线程,这个问题有可能会导致服务器关闭。b.bind(PORT).sync()并没有将主线程给阻塞掉,因此最终还是会调用finally方法块,从而关闭EventLoop线程的导致。监听端口的方法最终调用的是这里的整个方法都是不会阻塞ma

2022-12-06 12:42:11 1352

原创 踩坑篇-Netty4.1源码本地IDEA编译

最近想去弄清楚Netty内部的调用流程,以及学习一下Netty的设计思路。虽然在之前就已经学习过一遍Netty了,但是都只是比较片面的。现在想详细的弄清楚netty 内部是如何运转的,以及在源代码中进行一些备注以方便后面自己查阅。因此将源码clone下来并进行编译。由于我的本地jdk环境是1.8,因此需要在netty的父pom文件中将maven编译都改为1.8如下:目录下mvn编译cd到netty源码的父目录中进行mvn编译错误编译的过程中会发生一些错误,错误如下只需要将这些测试代码都注释掉即

2022-12-05 10:07:59 837

原创 脚本自动更新、关闭、启动服务器【BAT、SHELL、SVN,NPM】

上面是我对于开发过程中打包的一些自动化处理的脚步,目的是为了避免繁琐的无意义的操作,提高自己的开发效率。希望对大家有用。

2022-12-01 16:00:06 677

原创 java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Long 错误分析

int类型是可以转换为long类型的。对这种低精度是可以直接转为高精度的。但是报错也明确的提示了 java.lang.Integer cannot be cast to java.lang.Long。原来是类型不能转换,也就是Integer不能转为Long。可以先将Integer->int,然后再通过int->long类型即可.从内容中已经知道是类转换报错。但是为什么会报错呢?

2022-11-29 20:38:25 6320

原创 Maven打包-包体依赖外部jar和外部配置文件

java项目在部署的时候我们都是希望将依赖包以及对应的配置文件都放到主jar包外面,这样在修改配置的时候就比较方便。

2022-11-22 20:27:47 2676

原创 Maven打Jar包,启动报NoClassDefFoundError错误

今天准备将游戏服务器的压测机器人打包分发给其他人来运行对服务器进行压力测试。打成的jar包发现运行报错了。找了半天才找到最终原因。下面是原因和一些分析的情况。

2022-11-22 20:22:17 1098

原创 SpringBoot项目简单优雅停服方式

由于是使用kill的方式,它会想java程序发送一个信号,当项目接收到这个信号的时候会去调用醒目中的@PreDestory注解备注的方法。从而关闭服务器。

2022-11-14 16:37:53 676

原创 Linux中的Java项目服务器无故关闭

部署在Linux中的项目,最近一直无故关闭。找了很多都找不到原因。最近发现一个现象终于让我知道是什么原因导致我的开发服务器无故关闭了。

2022-11-14 11:13:24 1943

原创 Android开发之Kitlin语言【知识点集合】

kitlin作为android开发的一种google推荐的语言。我们有必要来对它进行对应的学习。如果你之前有java的开发经验,那么对于kitlin的学习应该是很快融会贯通的。kitlin这种语言是根据JVM的规则来做的,因此使用kitlin开发的语言在java项目中是可以运行的。所以他们是很相似的一个东西,但是kitlin结合了一些现在语言的特性,因此比java更加的简洁和方便。

2022-11-08 17:58:01 276

原创 端口号占用快速解决方法

有的时候我们的电脑中突然软件卡死、然后重启的时候。之前运行的项目在端口没杀死就会被占用掉,无法启动。这个时候我们就需要找出这个端口,并杀死它。

2022-11-08 16:50:33 1371

原创 001-Android中的app目录下的build.gradle文件说明

【代码】001-Android中的app目录下的build.gradle文件说明。

2022-11-07 14:40:05 772

原创 代码模块解耦终极武器--事件监听

在游戏开发的过程中,我们会分很多很多的模块。每个模块之间我们尽量的要做多这个模块的代码不要污染到其他模块的代码。那么事件监听就成为了解决这种情况的利器。

2022-10-12 14:53:49 716

原创 Linux通过Nginx部署Vue项目

Vue+Springboot前后端项目分离开发,我们在部署的时候就需要将两者分开来部署。

2022-09-27 16:07:44 4655

原创 Java游戏核心架构之通信架构

Java游戏通信一般是使用目前两个比较流行的底层通信架构:Netty和Mina。有意思的是这两个框架都是出自同一个人之手【Trustin Lee】,这两个框架的线程模型基本是一致的都是采用了Reactors in threads模型,即Main Reactor + Sub Reactors的模式。

2022-09-13 12:09:29 1520

原创 Java游戏服务器开发之概念扫盲

最后,写给每一个即将进入游戏开发这个大坑的朋友们的心里话吧。游戏开发虽然在外界看来很高大上,但是其中的辛酸又有谁能懂。无数个奋战的黑夜里,冷风呼啸,街道上灯红酒绿,自己拖着疲惫的身躯在归家的路上感叹,游戏能大火吗?在游戏开发这条路上天花板是比做Web的高一点点,但是它还是会有天花板的。当你到达了行业的天花板的时候,你是继续去突破还是停留在舒适圈中享受前期奋斗的成果?而且35岁似乎是悬在每一个开发一线的人头上的一把达摩克里斯之剑。当你就要到达这个岁数的时候你将会如何选择?

2022-09-06 11:39:08 3132 3

原创 C#基础入门

vs code 中配置启动环境如下:官方文档:点击进入官方文档C#教程如下:C##教程链接

2022-09-05 16:28:39 159

原创 Java游戏服务端开发之开课了

我是一个非计算机专业的服务端开发。从机械设计半途出家入坑,在游戏开发道路上一路打怪升级,在这个过程中不断积累经验和提升个人能力。从一个什么都不懂的初始程序员一路到目前的某游戏工作室做服务端主程。这个课程主要是对小白用户的一个引导吧,同时在业务模块有一些功能的具体实现方式以及源码,在这部分应该对一些资深用户有一些借鉴的作用。希望大家在这套系列文章中斩获属于自己想要的那部分。这系列的文章我将会按照如下脑图列出来的顺序来进行讲解。当然不排除后续在编码的过程中会调整顺序或插入一些其他的知识点。

2022-09-05 11:34:15 997

原创 C++11中的function和lambda表达式特性

【代码】C++11中的function和lambda表达式特性。

2022-08-30 17:56:23 123

原创 解决java -jar启动项目以及日志输出相关问题

windows启动项目相关的逻辑、以及对启动项目指定生成日志的方式

2022-08-30 14:50:28 7312

原创 BAT批处理命令启动Java打包的Jar没有指定启动类且第三方lib包在主jar外的项目

Jar项目本地启动且脚本编写

2022-08-24 12:16:54 1084

原创 Json开发相关知识点

java开发的过程中,遇到的json相关开发的知识点整理

2022-08-09 09:46:02 260

原创 Vue开发过程中遇到的问题结合

后端开发者遇到vue、开发过程中问题的收集整理

2022-08-09 09:38:28 239

原创 Java中的Lambda表达式[集合]

Java中的lambda表达式的相关知识点集合

2022-08-09 09:26:41 774

原创 Windows通过SSH KEY的方式连接Linux

Windows 通过SSH KEY方式连接Linux。

2022-06-06 10:05:47 683 3

原创 IDEA插件开发

插件的用途:提升开发效率改变界面显示plugin.xml文件属性说明id:表示当前插件的唯一id号name:插件的名称version:插件的版本号vendor:填写开发人的邮箱,公司名称description:插件的描述,如果将插件上传到IDEA的仓库后,在进行下载的时候就会显示该描述idea-version:表示当前插件所支持的所有Intellij Idea 的版本extensions:这里一般会放一些我们自己的扩展的东西,比如新增高亮显示,新增语言支持都是需要在这里进行扩展a

2021-08-30 11:36:41 1024 2

原创 IDEA的Spring项目配置本地Tomcat来启动报错排解

错误提示:HTTP Status 404 – 未找到Type Status Report描述 The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.大概意思就是找不到路径。然后看console控制台信息org.springframework.web.servlet.DispatcherServlet

2021-06-23 11:43:00 512

原创 IDEA调试远程游戏服务器代码-解决线上Bug终极武器

1.先在本地建立一个测试的项目我就先建立一个test服务器用于调试远程的例子,只有一个controller一个调用接口如下(SpringBoot项目)上图中有一个jar包我已经使用maven打包工具将其打包出来了。2.上传项目到服务器3.配置IDEA本地的远程调试配置4.远程启动服务器启动参数:java -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 test-1.0-SNAPSHOT.jar

2021-04-16 14:42:03 301 1

原创 Java热更代码在Linux下使用的坑(提供项目下载地址)

1.将写好的热更测试类放到Linux。我是直接将项目放到了svn上面,然后通过svn在linux下直接拉取源码。但是在使用mvn clean package将tools.jar安装为本地仓库,并导入到pom表中>mvn install:install-file -DgroupId=com.extrajar -DartifactId=tools -Dversion=v1.0.0 -Dpackaging=jar -Dfile=tools.jar2.更换掉使用到的tools.jar包为linu

2021-04-16 10:23:41 190 1

原创 SpringBoot开发中的一些超级大坑

1.开发spring cloud的时候,知道是版本不对,然后频繁的更换版本。在启动的时候都会产生错误。这个时候就可能需要到你的本地仓库中,如我的仓库D:\DevTools\maven\repo\org\springframework\boot\spring-boot-starter-parent看看目录中是否有很多版本混合在一起,最后你只需要将一些不要的版本删掉,然后刷新一下Idea中的maven,你会发现莫名其妙的就可以启动,并发现服务了。浪费了我半天的时间查资料,然后吐槽一下百度吧,都是一些错

2021-04-12 16:10:10 185

原创 Jenkins远程传送以及执行远程命令(ssh/scp)

Jenkins需要免密登录那必须是要ssh的方式了。那么先配置ssh如下下面这是配置ssh免登陆的方式两台电脑A和B。假如是A免密登录B这如下操作A 电脑操作: 1.ssh-keygen -t -rsa -b 4096 2.会在路径/root/.ssh/目录下生产两个文件一个id_rsa私钥,另一个is_ras.pub公钥 3.把公钥is_ras.pub拷贝到B电脑的/root/.ssh/authorized_keys下 或者 3.使用ssh-copy-id -i /root/.ssh/id

2021-04-01 18:23:35 4399

原创 初出阿里云ECS遇到的坑

购买了阿里云ECS并创建了一个实例之后,想用本地的SSH来连接,发现并不能连接。1.如何通过SSH连接阿里云ECS呢?安全组中在入口的位置打开22端口在实例列表中的更多选项中找到修改重置实例密码经过上述两步才能连接起来,下图2.什么是弹性网卡?使用场景:搭建高可用集群低成本的故障转移精细化网络管理...

2021-03-12 17:42:40 188

原创 Jav8不能错过的时间操作

java8之前的时间操作都过于复杂,java8之后推出了一个新的时间类,方便了时间上的操作。下面我们来解析一个基于java8新的时间类的各种操作方式将时间格式转为对应的LocalDateTimeString openTimeStr = "2021-03-09 10:00:00";LocalDateTime serverOpenDate = LocalDateTime.parse(openTimeStr, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:s.

2021-03-09 16:14:55 8181

原创 Python37安装dlib解决方案(亲测可用)

使用conda install dlib无法安装提供一个方法来安装,亲测可用1.下载对应python3.7的whl文件链接:https://pan.baidu.com/s/1-uWHCJ90YJxIu9fGF_PuCw 提取码:212t 2.将文件放到一种一个目录下3.pip3 install dlib-19.17.99-cp37-cp37m-win_amd64.whl即可结果如下所示:...

2021-01-11 16:04:47 452 2

原创 Java反射实践-检查关联数据的合法性

今天收到老大布置的任务,就是要起服的时候校验一下某些数据的合法性,防止策划配错表格导致运行出错。本来想着就是写一个方法,然后在每个配置文件数据中去进行校验的。就是谁建表,谁校验,我只提供一个校验的方法出来,你调用即可。但是这种方式很明显会增加无畏的工作量,且容易漏掉(不是每一个程序员都是负责任的程序员)。好吧,那就只能通过做成通用的方式咯。怎么才能通用呢?要想通用,无非就是在配置文件加载完成的时候,在内存中对他们进行校验数据。但是我怎么知道哪一个配表数据文件是我要去检验的,而且他们的命名方式也不一样啊

2020-12-09 21:21:03 238

Unity 5实战(使用C#和Unity开发多平台游戏)官方源码

Unity5(使用C#和Unity开发多平台游戏)官方源码 。 按照书上的二维码来下载真的时超级麻烦,现在提供出来,仅供各位下载。

2018-10-07

观止 微软创建NT和未来的夺命狂奔

观止,真的像名字所说的!这是对一场超乎寻常的商业冒险的真实再现。更重要的是,它为所有追求巨大创新的商界人士提供了很多意味深长的训诫。

2017-10-08

Tensorflow 实战Google深度学习框架

最近在学习Tensorflow,具体内容还没看完。边学边看。 听说要满100字节-->请看: TensorFlow是谷歌2015年开源的主流深度学习框架,目前已在谷歌、优步(Uber)、京东、小米等科技公司广泛应用。《TensorFlow:实战Google深度学习框架》为使用TensorFlow深度学习框架的入门参考书,旨在帮助读者以更快、更有效的方式上手TensorFlow和深度学习。书中省略了深度学习繁琐的数学模型推导,从实际应用问题出发,通过具体的TensorFlow样例程序介绍如何使用深度学习解决这些问题。《TensorFlow:实战Google深度学习框架》包含了深度学习的入门知识和大量实践经验,是走进这个更新、更火的人工智能领域的推荐参考书。

2017-09-14

空空如也

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

TA关注的人

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