- 博客(615)
- 资源 (12)
- 收藏
- 关注
原创 使用FreeMarker生成代码
pom.xml // 引入FreeMarker包。Test.ftl // 指定的模板引擎。Main.java // 生成代码封装。
2022-12-20 10:56:39 1235
原创 [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 512
原创 减少git分支代码合并冲突神器之只格式化改变行的代码: 打开Only VCS changed text即可(无代码修改的话,这个选项是无法选中的)
1)ctrl+a全选代码2)ctrl+shifr+alt+L弹出框,选择第一个3)在选中ctrl+alt+L
2021-06-21 12:17:40 663
原创 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 400
原创 【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 780 1
原创 java应用程序发布jar2的2种方式 1.assembly.xml(线上) 2.fat-jar(工具类的发布)
nohup java -jar xxx.jar>log.txt &
2020-03-31 10:21:03 676 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 786 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 3524
原创 使用git高效管理项目
简单在一个目录下拉取别人的一个工程1.在任何一个目录下新建一个文件夹比如:work,然后cd 切换到工作目录2.仓库初始化git init3.从某个地址拉取工程到自己的工作目录git clone [email protected]:2dxproj/AdventureEliminate.git备注:比较大的工程往往用http协议下载不下来,这...
2015-04-01 17:48:24 4720
原创 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 1067
原创 【何时调用ByteBuf的release的方法总结】
我们可以把这个ByteBuf想象成一把火炬,不断地传递到下一个Handler链,我们一般是在Decoder解码出业务实体后(GameMessage),ByteBuf其实就没用了,也就是在Decoder中往往是最后一次使用,所以此时应该给release掉。堆上的内存,则直接释放,直接内存,则是被回收。这和c++的内存管理机制其实是一样的。谁最后使用谁负责释放。
2024-05-22 10:15:33 44
原创 IDEA远程Debug java程序
1)服务器启动时就要打开远程debug端口。2)在idea中添加一个远程debug命令。3)点击调试按钮进行运行即可。
2024-05-16 18:47:13 72
原创 使用CommandLineRunner完成启动时也从Bean容器获取对象
【代码】使用CommandLineRunner完成启动时也从Bean容器获取对象。
2024-05-13 16:26:46 114
原创 【jvm堆分析】1.使用jmap导出堆快照 2.Eclipse Memory Analyzer(MAT)分析大对象(注意不一定是数量多) 3.JProfiler进行分析出内存溢出的类名
之前一直使用的JProfiler,本次测试,产生的prof文件过大,
2024-05-09 11:31:41 453
原创 字符串拼接性能对比(Double.compare存一个类最快,不要存String)
因此推荐: new StringBuilder().append(x)....toString()方式。
2024-04-29 15:37:18 325
原创 git工具最佳实践(idea中的git工具+命令行进行操作提交)
2.但是gui工具太多,包括sourcetree之类的操作都不太一样,我有的晕,合并或者提交代码,我还是喜欢使用:命令行。工具有时候反应不过来。1.idea中的git工具很方便查看这个文件甚至目录的提交记录,本地更改等,修改前后的对比之类的更加清楚。
2024-04-17 11:42:12 77
原创 【使用postman发送post请求】
1.最大的好处莫过于我可以记录下来曾经做过的东西,需要账号登录。这样子选择json格式提交数据,可读性强。2.各种请求方式都支持。
2024-03-26 11:04:30 416
原创 【非常非常非常重要的结论!!!!】以CompletableFuture为例子(深刻理解父任务等待子任务,但是父任务占满线程池导致子任务无法程序最终程序卡死的问题) 2.CPU缓存
思考:用arthas的jvm命令查看下,其实并不是死锁,只是父任务把线程池占用满了,子任务无法执行了,但是父任务又等待子任务,程序卡死那了。xdb中,任何之中又提交其它的任务,同时出现get等待,则是游可能出现卡死的问题。2)任务套任务(全回调的方式),但是不出现父任务等待子任务时,是不会卡死那的。思考:可以看出来,只要不出现“父任务等待子任务完成“,则不会有任何问题。如果是: 一个事务中,又call其它,这属于同步执行,是不会有任何问题。1)父任务等待子任务时,出现程序卡死的问题。
2024-03-24 10:21:41 296
原创 【idea做lua编辑器】1.同时安装EmmyLua和Luanalysis这2个插件IDEA就报错打不开,保留EmmyLua插件即可 2.还有个插件叫EmmyLuaCodeStyle 3.坚持用jb
删除出错的lua插件即可。
2024-03-23 19:20:25 516
原创 windows设置mongodb为服务,并且开机自动启动
2)添加服务 // 由于已经添加环境变量,所以mongod.exe是可以直接找到的,这个路径必须是完整路径。1)必须以管理员身份运行才可以,不然添加没报错提示,但是刷新还是没服务。3)在服务--》属性--》启动 (并且设置为自动启动)
2024-03-23 18:37:53 170
原创 windows下设置redis为开机启动
3)此电脑->管理->服务和应用程序 // 也就是桌面上那个文件夹。找到Redis,修改为自动启动。2)注册Redis服务。
2024-03-23 12:39:08 104
原创 通过rmi实现远程rpc(可以认为java自带Dubbo RPC)
发现公司几个运行10年的游戏,用的竟然是rmi,而我只听说过dubbo 和 基于netty的rpc,于是就补充了下rmi。其次,是最近对于跨服的思考,如何避免回调。必须抛出RemoteException异常。必须实现:Serializable接口。2.基于java的序列化和反序列化。1.rmi可以看出来非常简单。游戏服之间的交互 //3.已解决粘包问题。
2024-03-19 15:25:18 299
原创 nginx作为tcp的负载均衡
之前总以为nginx只能当静态资源web容器和web的负载均衡,现在才知道原来也可以当tcp的负载均衡。现在我们项目测试服就是一个nginx对应了2个测试服的负载均衡。
2024-03-06 18:04:55 351
原创 [通过jenkins进行部署java程序到centos上] 1.rz文件上传 2.zip压缩 3.rz下载
【代码】java程序centos部署。
2024-02-29 15:01:43 586
原创 windows和centos上查询端口占用情况,并且杀死进程
杀死占用端口的进程 // 也就是LISTENING后面的那个端口。查询10000是否被占用。
2024-02-27 15:25:29 112
原创 [SpringDataMongodb开发游戏服务器实战]
七号堡垒作为成功的商业项目,告诉我:其实数据是多读少写的,有修改的时候直接改库也是没问题的这样子rpc获取到的数据也足够准确。因此,我决定基于: SpringBoot+netty+mongo+pb 写一个简单而又足够上线的框架。xdb其实足够完美了,现在回想一下,觉得有点复杂,我们不应该绑定语言,最好有自己的架构思路。华珺的Player数据管理思路,将所有的数据都存放Role上,这样子获取是十分的简单。
2024-02-24 21:52:17 282
原创 [CountDownLatch] 1.实现等待TcpServer启动完毕后再发射事件 2.使用CompletableFuture代替CountDownLatch将阻塞封装到内部
也不能说:直接就启动一个线程,不然没办法发射出“服务器启动”这个事件。有时候,我们希望NettyServer启动时不能说卡主主线程。这时就可以使用此类执行完毕后,通知下主线程。总结:可以看出来,是单独的线程启动,但是可以控制住顺序了。
2024-02-22 23:59:23 286
原创 SpringMVC 1.请求参数检查 2.全局异常处理 3.请求参数封装为Pojo
GlobalExceptionCatch.java // 全局异常捕获。LogicException.java // 逻辑异常封装。ResponseEntity.java // 返回值封装。ErrorEnum.java // 枚举所有的错误。IReuqest.java // 用于检查接口。
2024-02-08 14:17:56 930
原创 [@PostConstruct] 在Tomcat启动之前,会被调用,可以获取到Autowired中的内容
【代码】[@PostConstruct] 在Tomcat启动之前,会被调用,可以获取到Autowired中的内容。
2024-02-08 14:12:39 91
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人