- 博客(756)
- 资源 (12)
- 收藏
- 关注
原创 使用FreeMarker生成代码
pom.xml // 引入FreeMarker包。Test.ftl // 指定的模板引擎。Main.java // 生成代码封装。
2022-12-20 10:56:39
1565
原创 [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
原创 【强烈推荐】使用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
原创 【时序图】draw.io
这个写的较为随心所欲,其实时序图就是一种语言,表达给自己看,用于脑海中知道它的运行顺序。gameserver // 游戏服,完成绝大部分功能。centerserver // 负责流程控制。slgserver // 负责地图服务。gateway // 账号等的入口。
2025-11-03 15:22:17
366
原创 【工作中的提示词练习】让Cursor帮助写文档+代码
activity/ 请帮我分析下中心服活动框架的实现原理并写一份文档。2)写出的文档质量相当的高!
2025-11-02 13:05:49
143
原创 通过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
原创 组的概念及其使用 id groupId 数据
技能: // 1个技能有多个效果,这些效果同属于一组(也就是都是这个技能的)任务 // 哪些任务是一组、日常任务有哪些(可新增type2之类的标识)id groupId 数据。匹配 // 哪些服务器匹配到一块。英雄升级 // 一个英雄的升级。赛季 // 哪些服务器能相见。
2025-08-18 11:38:54
126
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅