自定义博客皮肤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

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

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

原创 使用FreeMarker生成代码

pom.xml // 引入FreeMarker包。Test.ftl // 指定的模板引擎。Main.java // 生成代码封装。

2022-12-20 10:56:39 1565

原创 【游戏服务器设计案例篇】感悟

1.记录index,而不是具体的内容。2.分为登陆时的处理 和 凌晨5点的处理

2021-12-18 18:50:06 2603

原创 [Lambda操作]1.filter 2.Comparator 3.flatMap 4.map 5.Predicate 6.findAny 7.Consumer 8.多重排序 9.分组 10.peek

1)key从大到小排序 List<String> list = privilegeMap.keySet().stream().sorted(Comparator.reverseOrder()).collect(Collectors.toList()); if (list.size() == 0) { return -1; } return Integer.parseInt(list.get(0));.

2021-08-31 16:44:54 799 1

原创 减少git分支代码合并冲突神器之只格式化改变行的代码: 打开Only VCS changed text即可(无代码修改的话,这个选项是无法选中的)

1)ctrl+a全选代码2)ctrl+shifr+alt+L弹出框,选择第一个3)在选中ctrl+alt+L

2021-06-21 12:17:40 801

原创 【重点:MongoTemplate】SpringBoot操作mongodb

application.propertiesspring.application.name=spring-boot-mongodb# mongodbspring.data.mongodb.uri=mongodb://localhost:27017/test

2021-06-05 12:29:35 350

原创 【LoadingCache+mongo完成进程内数据管理】1.缓存mongo中数据到内存 2.不存在则从mongo中load到loadingcache

| | |____java| | | |____BaseCacheDao.java| | | |____Player.java| | | |____Main.java| | | |____PlayerDao.javaBaseCacheDao.javaimport com.google.common.cache.*;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.util.concurrent.

2021-04-09 16:43:50 629 1

原创 Jenkins实现自动化部署(centos环境为例子)

1)下载jenkinshttps://www.jenkins.io/download/2)下载tomcat3)把jenkins.war放到webapps目录下4)为tomcat下面的sh加权限,并且必须以sudo方式启动tomcat5)打开jenkinshttp://localhost:8080/jenkins6)初次使用配置jenkins密码7)加权限并且查看密码cd /varsudo chmod -R 777 rootopen /var/r

2021-03-16 16:17:02 487

原创 【protobuf 2的使用】0.gitbash终端 1.pb在vscode中的的格式化和跳转 2.服务器:netty 3.客户端:creator 4.自定义Option(如添加msgid)

1)creator中使用protobufhttps://github.com/protobufjs/protobuf.js/blob/master/dist/protobuf.js

2021-01-27 23:21:21 1125 1

原创 java应用程序发布jar2的2种方式 1.assembly.xml(线上) 2.fat-jar(工具类的发布)

nohup java -jar xxx.jar>log.txt &

2020-03-31 10:21:03 809 1

原创 [python(最简单,但是还是推荐用nginx)]1.cd dist 2.python -m SimpleHTTPServer 3.http://localhost:8000

Last login: Tue Jan 7 18:37:45 on ttys000➜ ~ /Users/jianan/Documents/work/sayabc-gamification-demo01-all/MathClassroomH5/Project/IFTTTSample/build/web-mobile➜ web-mobile git:(master) python -m S...

2020-01-07 18:52:18 955 2

原创 【mongodb环境搭建】1.win下启动 2.mac下启动 3.linux下启动 4.通过配置文件启动

1)配置mongod环境变量(mongod起作用)export PATH="/usr/local/Cellar/mongodb@3.4/3.4.14/bin:$PATH"接着执行,让环境变量生效source ~/.bash_profile或者使用.zsh后:source .zshrc2)启动mongodb(缺少data/db则会报错)➜ ~ /Users/ji...

2018-08-21 21:44:31 1397 1

原创 【github ssh公钥】1.添加 2.设置下user.email和user.name提交时有值

收到如下类型的报错:Warning: Permanently added the RSA host key for IP address '192.30.253.113' to the list of known hosts. Permission denied (publickey). fatal: Could not read from remote repository. Ple...

2018-02-26 15:05:27 3717

原创 (推荐)使用git高效管理项目 1.Readme图片路径 2.Fork软件

简单在一个目录下拉取别人的一个工程1.在任何一个目录下新建一个文件夹比如:work,然后cd 切换到工作目录2.仓库初始化git init3.从某个地址拉取工程到自己的工作目录git clone git@192.168.0.21:2dxproj/AdventureEliminate.git备注:比较大的工程往往用http协议下载不下来,这...

2015-04-01 17:48:24 4969 1

原创 mac下刚安装的mysql忘记密码的解决办法

-----情景:总是出现类似的错误-----C:\Program Files\MySQL\MySQL Server 5.0\bin>mysqlERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO)-----解决方案-----1.没有忘记mysql登陆密码的话(...

2013-12-05 14:28:57 1140

原创 Unity mcp

2025-11-22 10:25:17 63

原创 【强烈推荐】使用cursor帮助注释看不懂的代码

TradeService.java (1539-1566) 代码注释一下,我有点看不懂。1.比如一段代码看不懂了,就选中添加到编辑器中(可以看出之前没什么注释)2.让cursor帮忙注释代码。3.注释后的代码,相当详细了。

2025-11-22 09:29:05 82

原创 线上任务堆积排查技巧 1.快速定位执行过慢的任务(exception.log) 2.gc日志排查

2)拿到任务堆积的日志后,发现其实前后没有堆积(因此可以断定某个操作卡了,导致所有的后续操作都排队了),3)查exception.log这611ms执行的消息(数量会很少,1001627),先定位出是哪个慢。当然了,之前生成的也可以直接cat 20251117_error.log拿到:之前的报错信息。请求是在094,比任务堆积时间611肯定要靠前一些,是在896执行完毕的。4)查看protocol.log,查看611之前,其实基本上这些就是堆积的任务。7)查看协议文件,可以定位出是: 熔炼东西过多导致。

2025-11-18 10:14:40 735

原创 (强烈推荐)通过idea合并git合并分支时的冲突

dev_svs(我当前的) 中间(合并后的) dev(合并的谁)有冲突的(显示红色,可以X掉不需要的,拿过来需要的,甚至可以手动修改中间的)7)解决完毕后,右上角会是:all resolved 之类的✅标识。8)点击右下角的apply,点击确定,算合并当前文件完毕。6)技巧:点击弹框上下箭头,会跳转到下一个冲突。1)先把配置相关和协议相关全部使用我自己的。无冲突的(会显示绿色,则2边都拿过来)5)观察下是否全部解决。<<<(使用别人的)

2025-11-12 09:02:55 112

原创 alias支持命令行参数传入

【代码】alias支持命令行参数传入。

2025-11-10 11:37:49 395

原创 deepseek的理解

1)R1 // 推理模型。2)V3只是算法有所区别。能够完整看到思考的过程。默认和豆包之类的差不多。

2025-11-09 22:38:20 160

原创 【时序图】draw.io

这个写的较为随心所欲,其实时序图就是一种语言,表达给自己看,用于脑海中知道它的运行顺序。gameserver // 游戏服,完成绝大部分功能。centerserver // 负责流程控制。slgserver // 负责地图服务。gateway // 账号等的入口。

2025-11-03 15:22:17 366

原创 【工作中的提示词练习】让Cursor帮助写文档+代码

activity/ 请帮我分析下中心服活动框架的实现原理并写一份文档。2)写出的文档质量相当的高!

2025-11-02 13:05:49 143

原创 Cursor Pro的使用

看着会有报错,没关系,运行完,打开Cursor发现又可以使用。2)可见windows上运行exe即可。

2025-11-02 12:57:28 220

原创 线程状态查看

从颜色可以看出: 不断的黄色(waiting)和绿色(Running)切换,因此可以初步判断出这是一个定时器,不断的在定时执行任务。

2025-11-02 11:10:08 82

原创 通过Live Memory和Heap Walker快速判断出对象泄漏的地方

可以看出: 在ArrayList--》AccountService中引用,因此我们就快速判断出了内存泄漏的地方。跳过去后双击,并使用Merged incoming references查看下这个对象到底在哪里引用着。2)在Heap Walker中查看。可以看出每2秒以200个数增长。

2025-11-02 10:57:37 96

原创 java面试小结

aoi思想,存格子,不要存被观察者?recv方法: 0是关闭1是错误。os上学习:为什么上锁后,性能变低?stackoverflow和oom。大小端,pb序列化是怎么存的?36匹马赛马取前3名次数。动态规划: 最优子结构。int是怎么存到文本中的。操作系统和设计模式。优先队列: 大顶堆。

2025-10-29 16:14:56 93

原创 rpc的一些思考(相互等待死锁)

但是在想想:游戏服之间通信:比如:2个玩家位于不同的服,serve1向server2请求的同时,server2也可能在请求server1,这种情况下:是否会死锁(相互等待)呢?想想redis中,我们不管是同步还是异步,从来没考虑过会出现死锁,这是因为: 我们无法再rpc中嵌套,redis也从而不会调用我们。用java这种有可能会耗尽线程池中线程(任务中开任务导致父任务无线程可执行)的语言,其实这个问题思考了很久。

2025-10-29 16:10:50 93

原创 游戏内城地图设计与模块化

其实我们给组内成员分配任务肯定也是:你做:探索,你做障碍... 那如何模块化,让各个成员之间没有耦合本身也是我们的目标,其实很简单,地图设计好后,有pos,那么各个模块则只考虑自己的数据即可!我们的程序尽量要设计为可扩展的,松耦合的。以LF中的内城地图为例子,有:探索、障碍、松鼠...一个格子上摆满了各种东西。

2025-10-29 16:07:01 76

原创 游戏中通过状态来实现逻辑删除而不是真的删除数据设计模式(status+专有数据 的设计模式)

其实做法很简单,就是在原有的XxxEntity上添加一个status枚举即可!当枚举是什么时,再加上专有数据去实现。这个看起来是很基础的东西,但是包括主程在内写的逻辑都非常混乱,因为都是引入一个单独的结构去处理这种逻辑。2.做的伙伴,但是要求:不是立即获得,而是打开界面时获得,就写的很绕。在玩家请求info消息时,把不想看到的根据状态过滤掉即可!1.topjoy做的限时卡。

2025-10-29 15:59:59 81

原创 【必用】使用(open In Cursor)插件快速在cursor中打开java项目

其实就是: 把整个工程导入进去,可以让它进行一些代码概括,并且,哪个类不懂了,拖进来,从而询问它,仅此而已!

2025-10-26 23:15:27 350

原创 使用VisualVM进行java性能瓶颈定位 1.无需像JProfiler那样必须加启动参数???

2)修改visualvm配置文件jdk的位置。

2025-10-26 22:10:44 125

原创 linux下java程序使用jprofiler进行压测定位cpu热点方法(attach模式和全采集模式)

背景:要压测服务器承载上限,机器人也写好了,压测完发现登录耗时过长,开始是看协议耗时,直接抓瞎,后续想了想,还是要用直观的工具,最终使用jprofiler,轻松得到瓶颈代码,进行了修改。6.运行jprofiler,远程连接输入远程linux的ip,使用root和密码进行登录(登录不成功则看报错信息,是不是远程linux不允许登录的设置)1.下载linux版本jprofiler,并解压好。3.安装好jprofiler mac客户端。2.java程序启动参数。5.java程序启动。

2025-10-23 17:34:31 227

原创 网络常识 localhost 和1.2.3.4的区别

2.后来想了下,其实account是暴露给客户端的,不得不开放这个端口,但是7501却是服务间通信,是不能暴露的,所以得写: localhost。gm服务想访问account服务,那我地址到底是写: http:localhost/xx还是http:1.2.3.4/xx呢?开始写的是:http:1.2.3.4/xx 死活连不上,还以为咋地了,毕竟我看账号服是用的1.2.3.4。1.我在dev服假设地址是1.2.3.4 部署了一个account服务,又有gm服务。但是我这个服务间通信端口是: 7501。

2025-10-17 15:12:06 121

原创 一些好的网址+工具 1.gradle 2.jprofiler 3.java

1)gradle下载。

2025-10-15 13:18:17 154

原创 【思维导图】draw.io

2.Branch3.SubTopic。

2025-09-21 00:11:24 185

原创 【流程图】draw.io

1.椭圆 //开始和结尾。2.矩形 // 中间流程。

2025-09-20 23:33:29 150

原创 java技能树

3.redis分布式缓存。2.编码和二进制的理解。1. java核心编程。3.基于MQ的rpc。

2025-09-19 16:58:05 147

原创 死锁检测 及其测试用例

【代码】死锁检测 及其测试用例。

2025-08-29 13:34:26 288

原创 【java面试】

对象头+实例数据+数据填充(jvm要求)二、ConurrentHashMap。空间复杂度: O(N)查询时间复杂度LogN。

2025-08-21 10:44:03 212

原创 组的概念及其使用 id groupId 数据

技能: // 1个技能有多个效果,这些效果同属于一组(也就是都是这个技能的)任务 // 哪些任务是一组、日常任务有哪些(可新增type2之类的标识)id groupId 数据。匹配 // 哪些服务器匹配到一块。英雄升级 // 一个英雄的升级。赛季 // 哪些服务器能相见。

2025-08-18 11:38:54 126

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

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

2012-01-02

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

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

2012-03-30

MASM汇编语言新手入门

MASM汇编语言新手入门

2012-03-30

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

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

2018-08-10

JavaScript函数式编程

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

2018-06-01

markdown写的简历模板

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

2018-04-25

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

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

2012-01-03

JavaScript应用开发实践指南.pdf

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

2018-05-17

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

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

2012-01-02

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

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

2018-06-03

编写可维护的JavaScript

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

2018-05-28

空空如也

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

TA关注的人

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