Java怎么获取Web服务器上文件的最后修改时间?
在JDK15+Eclipse32 下编译通过~
不过不能用URL判断WEB文件,只能坐在服务器上啦~
import javaio;
import javatext;
import javautil;
public class checkfile {
public checkfile(){
}
public long cfile(String fPath){
File nf=new File(fPath);
if(nfexists()){
return nflastModified();
}
return 0;
}
public static void main(String Args[]){
InputStreamReader isr = new InputStreamReader(Systemin);
BufferedReader br = new BufferedReader(isr);
String strBuf = null;
try{
strBuf = brreadLine();
}catch(IOException e){
eprintStackTrace();
}
checkfile cf=new checkfile();
SimpleDateFormat tm = new SimpleDateFormat("yyyy-mm-dd");
String tsm= tmformat(new Date(cfcfile(strBuftoString())));
Systemoutprintln("LastModified Time:" + tsm);
}
}
当Java服务器出现CPU高的情况,一般是因为当前执行的代码或者线程对CPU的消耗过高,导致服务器负载过大。为了查找原因并解决问题,需要拿到服务器的相关日志,可以采用以下几种方法:1查看操作系统的系统日志,查找对应时间段的信息,如果系统日志中发现java进程异常的信息,可以确认具体是哪个线程或哪段代码引起了CPU过高的问题。2可以使用Java自带的jstack工具分析dump出来的线程快照信息,查看程序运行时所有线程的堆栈信息,定位到执行过程中的具体方法、类等信息,从而确认代码出现的问题。3使用工具进行分析,可以使用非常流行的各种分析工具,例如visualVm、JProfiler、JMC、jconsole等,其中visualVm和JProfiler比较常用,可以通过这些工具实时监控程序的运行状态,找到并解决问题。总之,当Java服务器CPU高的情况出现时,需要针对性地分析各种日志信息,找出程序运行时的问题点,并进行调整优化,才能使服务器的性能得到提升。
你说的应该是ping值吧,我们是这样做的
1、记录一个开始时间
2、往服务器发送一个命令,这个命令自己定义,简单的没有逻辑处理
3、记录返回的时间
4、用(返回的时间-开始时间)/2,就是服务器ping值,因为ping只是单向的
自己算的吧记录开始时间和结束时间,end-start吧 start=SystemcurrentTimeMillis(); 执行sqlend=SystemcurrentTimeMillis(); 时间就是end-start
方法很多,大致有:
1、获取客户端时间,与当前服务器时间,进行比较,若时间存在过大差值,则停止后续服务与代码
2、全部改用服务器时间,这样代码修改量估计不小,还容易存在BUG
3、核心业务处加上时间校验,其他的无所谓吧
由于看不到源代码,只能帮到这个地步了
0条评论