这是热代码替换提醒。
创新互联服务项目包括京山网站建设、京山网站制作、京山网页制作以及京山网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,京山网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到京山省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
Eclipse有这种功能:当你在调试程序的时候,如果对源代码进行了修改,那么所做的修改会实时反映到当前的调试结果中,而不会中断当前正在运行的调试进程。但是当修改方法名称或是其他一些关键性区域时(比如类名从Test修改为Others),热代码替换功能将不起作用。这时就会弹出这种警告。
选择第一个按钮,则调试继续进行,不过这时你所看到的代码还是之前没有修改过的代码。
选择第二个是查看详细信息。
选择第三个按钮,则结束调试。
选择第四个按钮,则将修改编译后重新运行调试,这时你看到的是最新的代码。
重启一你的 debug 程序就可以了,正常编译成功,在 ecclipse 中的代码热替换是立即起作用,不用重新启动 tomcat 之类的服务器,但是有些情况是不能正常工作的,比如,删除或修改了方法签名,另外新增静态字段它的值总是默认值。重启调试的程序就可以正常了,这只是代码热替换或者说是 ClassLoader 无法实现的功能。
很有可能你编译这个java文件时的jdk版本与原来版本不一致导致!
例如原来是1.4编译的,现在你用的1.6,很有可能是这原因,你应该看下原来的class是什么版本的jdk编译的(至于怎么看网上教程多得是)
$ 是正则表达式中的一个符号,replace函数替换时忽略正则表达式符号,replaceAll和replaceFirst函数替换时是使用正则表达式匹配的。
两个函数功能不同。
使用 Matcher.quoteReplacement(String str)函数,可以把正则表达式符号转为正常符号。
例如:
abc = abc.replaceAll(Matcher.quoteReplacement("$[姓名]"), "张三");