开发者社区> 问答> 正文

帮我分析下是不是Linux缓存引起的问题?报错

服务器是centos6.2,tomcat-   nginx-   mysql-    java

昨天更新网站,发现有部分内容一直更新不到,重启linux服务器都不更新;

今天发现是Constant.class文件可能是被缓存了;因为我删掉这个文件,运行也不报错。还能执行的旧的Constant.class;

我不熟悉linux,不知道怎么清除掉旧的Constant.class文件?

展开
收起
爱吃鱼的程序员 2020-06-22 20:38:14 417 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    看你的类名,应该是常量吧,如果属性都是staticfinal的,编译时就会直接内联到其他类中,只更新Constant是没有用的。果然是这样,基础的东西我没搞清楚。啊...花了大半天时间;谢谢!就是常量,我全部更新下试试是tomcat缓存了吧,把tomcat中work文件夹中的所有内容全删掉再重启tomcat看看不行,还是没更新已加载的class不能直接替换的吧,它已经加载到JVM的常量池里了java不太熟它的机制,你试试linux清除缓存试试:先执行:sync,然后:echo3>/proc/sys/vm/drop_caches             (root用户)

    2020-06-22 20:38:31
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Alibaba Cloud Linux 3 发布 立即下载
ECS系统指南之Linux系统诊断 立即下载
ECS运维指南 之 Linux系统诊断 立即下载