服务器是centos6.2,tomcat- nginx- mysql- java
昨天更新网站,发现有部分内容一直更新不到,重启linux服务器都不更新;
今天发现是Constant.class文件可能是被缓存了;因为我删掉这个文件,运行也不报错。还能执行的旧的Constant.class;
我不熟悉linux,不知道怎么清除掉旧的Constant.class文件?
看你的类名,应该是常量吧,如果属性都是staticfinal的,编译时就会直接内联到其他类中,只更新Constant是没有用的。果然是这样,基础的东西我没搞清楚。啊...花了大半天时间;谢谢!就是常量,我全部更新下试试是tomcat缓存了吧,把tomcat中work文件夹中的所有内容全删掉再重启tomcat看看不行,还是没更新已加载的class不能直接替换的吧,它已经加载到JVM的常量池里了java不太熟它的机制,你试试linux清除缓存试试:先执行:sync,然后:echo3>/proc/sys/vm/drop_caches (root用户)
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。