Linux-XFS文件系统遇到的问题

2021-10-09

在工作中,我们会使用到由C编写的maintainclient工具进行文件相关的操作。在此之前,maintainclient在ext3或ext4文件系统的机器中运行良好。不久前,韩方运营给出了一批centos 7.2版本的机器,执行命令部署时一直失败,并且将文件夹路径直接当成文件处理。根据自己在stackoverflow上找到的一些文档和翻看其maintainclient处理文件的源码。...

Read More

《Tomcat源码阅读学习 Part-1》启动入口、启动流程及常用组件

2020-05-24

tomcat是做java web开发的开发者经常所使用的支持并运行servlet的一个中间件,不管项目是基于spring、springboot或者是纯servlet的,只要用到servlet,多多少少都离不开tomcat。经常使用tomcat而不了解其自身结构,会让开发者在处理tomcat抛出自身异常的时候变得束手无策。我也如此,在18年还在实习的时候,面对catalina.out抛出...

Read More

自定义外部协议使浏览器拉起本地程序

2019-11-11

什么是自定义协议

由于我们的游戏需要在浏览器中调用NPAPI插件,而chrome移除了NPAPI的支持,导致游戏并不能很好的适配所有的浏览器,所以这个时候我们对于chrome浏览器用到了自定义浏览器协议这一标准。自定义浏览器协议允许在浏览器中使用Read More

ThreadLocal原理分析及使用场景

2019-09-24

什么是ThreadLocal变量

ThreadLoal 变量,线程局部变量,同一个 ThreadLocal 所包含的对象,在不同的 Thread 中有不同的副本。这里有几点需要注意:

  • 因为每个 Thread 内有自己的实例副本,且该副本只能由当前 Thread 使用。这是也是 ThreadL...
Read More

MySQL跨库联表查询

2019-07-18

已经有好几天没有写博客了,最近遇到一个问题,我们公司中的游戏日志表现在已经上报到后台表中,但因为数据量太大,导致要进行分表。我的主管所做的分表策略为:将日志表及游戏角色表独立到另一个数据库中,根据游戏服务器索引来作为分表的策略。因为日志表和角色表对后台的数据查询起着至关重要的因素,所以根据策划的需求来实现的功能,性能及其差!慢到不说,资源也占满!原本联表查询 Read More

Java监听文件夹

最近遇到了一个需求,需要知道文件夹下的某个配置文件是否被修改了,如果修改了,就重载配置文件。当时想用Listener模式实现,通过一个线程一直轮询该文件夹下的所有文件,然后一旦发生了改变,就去触发自定义的事件,但想法很美好,实现起来Bug巨多,于是我选择了“面向百度编程”。查到了在JDK1.7后,NIO有一个Read More

使用Chrome、Firefox等其他浏览器拉起IE浏览器

上周突然遇到一个很奇怪的需求,要求是使用Chrome拉起IE浏览器,这是为什么呢?

因为我们游戏是用C++写的,嵌入到浏览器中是用的NPAPI插件,我们内部写了一套js函数通过浏览器来拉起C盘目录下的游戏客户端,但让人烦恼的一点是Chrome 42版本下不支持NPAPI,那么我们要拉起客户端就必须使用IE内核或者是Chrome内核。 Read More

记录遇到的JVM ERROR问题

2019-07-06

今天在使用后台功能中,遇到了一个非常致命的问题,该功能使用Http远程调用C++编写的程序,并传入一个Shell脚本到C++端执行,由C++返回一个json数据。但今天下午在使用中,该功能出现了长时间未响应的状况,于是登入linux机器,进入tomcat的logs目录下,查看catalina.out,发现日志中打印了如下异常信息:

Read More