- 博客(597)
- 资源 (12)
- 收藏
- 关注
原创 使用FreeMarker生成代码
pom.xml // 引入FreeMarker包。Test.ftl // 指定的模板引擎。Main.java // 生成代码封装。
2022-12-20 10:56:39 1075
原创 [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 401
原创 减少git分支代码合并冲突神器之只格式化改变行的代码: 打开Only VCS changed text即可(无代码修改的话,这个选项是无法选中的)
1)ctrl+a全选代码2)ctrl+shifr+alt+L弹出框,选择第一个3)在选中ctrl+alt+L
2021-06-21 12:17:40 634
原创 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 378
原创 【protobuf 2的使用】 1.服务器:netty 2.客户端:creator 3.自定义Option(如添加msgid) 4.pb在vscode中的的格式化和跳转
1)creator中使用protobufhttps://github.com/protobufjs/protobuf.js/blob/master/dist/protobuf.js
2021-01-27 23:21:21 666 1
原创 java应用程序发布jar2的2种方式 1.assembly.xml(线上) 2.fat-jar(工具类的发布)
nohup java -jar xxx.jar>log.txt &
2020-03-31 10:21:03 644 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 766 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 3490
原创 使用git高效管理项目
简单在一个目录下拉取别人的一个工程1.在任何一个目录下新建一个文件夹比如:work,然后cd 切换到工作目录2.仓库初始化git init3.从某个地址拉取工程到自己的工作目录git clone git@192.168.0.21:2dxproj/AdventureEliminate.git备注:比较大的工程往往用http协议下载不下来,这...
2015-04-01 17:48:24 4707
原创 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 1061
原创 nginx作为tcp的负载均衡
之前总以为nginx只能当静态资源web容器和web的负载均衡,现在才知道原来也可以当tcp的负载均衡。现在我们项目测试服就是一个nginx对应了2个测试服的负载均衡。
2024-03-06 18:04:55 341
原创 windows和centos上查询端口占用情况,并且杀死进程
杀死占用端口的进程 // 也就是LISTENING后面的那个端口。查询10000是否被占用。
2024-02-27 15:25:29 96
原创 [SpringDataMongodb开发游戏服务器实战]
七号堡垒作为成功的商业项目,告诉我:其实数据是多读少写的,有修改的时候直接改库也是没问题的这样子rpc获取到的数据也足够准确。因此,我决定基于: SpringBoot+netty+mongo+pb 写一个简单而又足够上线的框架。xdb其实足够完美了,现在回想一下,觉得有点复杂,我们不应该绑定语言,最好有自己的架构思路。华珺的Player数据管理思路,将所有的数据都存放Role上,这样子获取是十分的简单。
2024-02-24 21:52:17 265
原创 [CountDownLatch] 1.实现等待TcpServer启动完毕后再发射事件 2.使用CompletableFuture代替CountDownLatch将阻塞封装到内部
也不能说:直接就启动一个线程,不然没办法发射出“服务器启动”这个事件。有时候,我们希望NettyServer启动时不能说卡主主线程。这时就可以使用此类执行完毕后,通知下主线程。总结:可以看出来,是单独的线程启动,但是可以控制住顺序了。
2024-02-22 23:59:23 281
原创 SpringMVC 1.请求参数检查 2.全局异常处理 3.请求参数封装为Pojo
GlobalExceptionCatch.java // 全局异常捕获。LogicException.java // 逻辑异常封装。ResponseEntity.java // 返回值封装。ErrorEnum.java // 枚举所有的错误。IReuqest.java // 用于检查接口。
2024-02-08 14:17:56 921
原创 [@PostConstruct] 在Tomcat启动之前,会被调用,可以获取到Autowired中的内容
【代码】[@PostConstruct] 在Tomcat启动之前,会被调用,可以获取到Autowired中的内容。
2024-02-08 14:12:39 87
原创 客户端请求+返回 服务端之间的请求和返回 实现rpc通信
2.由于客户端直连的是游戏服,如果工会,匹配之类的服务是单独的服务的话,必然要进行游戏服到业务服之间的转发,我们是否需要再转发时单独定义Req和Res就是我们考虑到的需求。3.在vega项目中,我们选择了定义了内部协议的req和res,而不是像热江一样做了统一的封装,看起来麻烦了一点,但是实际上却是非常的清晰。1.无论什么类型的游戏,我们都会有rpc通信的需求。
2024-01-24 16:56:17 1026
原创 【arthas诊断CPU和内存问题实战】thread -n 5 + cpu火焰图 +内存火焰图
很清晰看出来:是心跳占用时间长,我们可以结合trace进一步分析到底哪个类中哪个方法占用时间长。看下蓝色的就知道哪个对象最多,目前看出来是: HashMap啥的。可与看出 SceneWorker占比最高,但是是哪个类中哪个方法则不是太清楚。因此最终使用trace去定位到底哪行代码占用cpu最长。step1: 先查看哪个线程占比cpu最高。横向:表示执行时间占比。2.输出火焰图采样html。通过线程信息分析CPU。通过线程信息分析CPU。1.开始内存火焰图采样。step2.分析代码。通过火焰图分析CPU。
2024-01-24 11:15:48 571
原创 【通过docker安装常用软件镜像】1.镜像 2.安装 redis,jdk,nginx
5.再查看下,可以看出redis运行起来了。2.下载redis软件。3.查看下当前的进程。
2024-01-22 18:16:14 466
原创 1.设置转换器去掉SpringDataMongodb中的_class 2.通过环境获取变量
【代码】去掉SpringDataMongodb中的_class。
2024-01-21 22:15:11 381
原创 【arthas诊断线上java应用】
想起来之前的面试,有一次问到:假如线上出现cpu飙升,和内存问题,如何排查?思考:可以看出来,arthas对java应用没有任何入侵。1)下载arthas。
2024-01-19 16:07:40 313
原创 【CompletableFuture完成游戏服务器中各类业务线程间的交互】1.玩家线程和好友线程的交互 2.玩家线程和排行榜线程的交互 3.supplyAsync(带返回值的)和runAsync
2.任务有依赖关系,并且等待所有任务执行完毕。1.IO线程执行阻塞任务,之后回到逻辑线程。
2024-01-19 15:14:46 536
原创 netty NIO的发展史
那么这个selector到底是啥呢?我们下载openjdk的源码。多路复用器Selector,服务器使用select监听。客户端连接上后,则重新注册到selector上,读写。2)v2 // 多路复用器的引入。
2024-01-16 16:11:32 355
原创 让java程序就像脚本一样去写工具
可见,我们的java程序也无需再去打包java包才能运行,这样子我们的部署程序和脚本都可以使用java来做,而无需再去使用js,python之类的。
2024-01-13 23:02:01 637
原创 asp.net core 账号注册
可见asp.net core资料较少,写个hello world都费劲,能拍起来了,接下来可以使用来做web后台了。1.Program.cs // 启动类。
2024-01-13 18:17:49 335
原创 .Net Core项目在linux部署实战 1.sdk下载 2.环境变量配置/ect/profile 3.运行
step3: // 再次查看下$PATH,发现已经配置好了。可见.net core是完全支持linux下的发布运行的!step2: // 通过vim或者终端配置下环境变量。5)将linux64拖拽到linux上要发布的目录。我们可以看出来,$HOME就是root。1)下载.net core sdk。step1: // 解压到指定目录。4)通过Rider打包代码。
2024-01-13 16:23:15 638
原创 【SpringMVC快速使用】1.@RestController @RequestMapping 2.logback的使用
那是因为我们的管理后台之类的都是别人写的,我也听说了大家说:只用Post请求就足够了,但是却发现,再浏览器中测试时,默认是GET请求,如果直接写的@GetMapping,则提示此请求不支持。背景:为何从这个最简单的 例子写起呢?
2024-01-11 11:19:47 423
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人