나는이 "true"로 출력이자바 정적 메소드
public class StockCodes
{
public static boolean loaded = false;
public static long lastUpdate = 0;
private static long freq = 1000 * 60 * 60 * 24;
public static HashMap<String, Stock> stockMap = new HashMap<String, Stock>();
public static ArrayList<Stock> getCodes()
{
long now = System.currentTimeMillis();
if ((StockCodes.loaded) && ((now - StockCodes.lastUpdate) < freq))
{
System.out.println(StockCodes.loaded);
return stockList;
}
else
{
HttpFetcher fetcher = new HttpFetcher();
....
log.info("Load " + stockList.size() + " Stocks");
StockCodes.loaded = true;
StockCodes.lastUpdate = now;
return stockList;
}
}
public static void main(String[] args)
{
StockCodes.getCodes();
}
}
같은 클래스가 있습니다. 우리에게 증권 코드가 알려졌다. 하지만 Java 응용 프로그램을 디버깅 할 때 다른 응용 프로그램으로 이동합니다. 왜 이런 방식으로 실행되는지 이해하지 못합니다. 특히 애플리케이션을 처음 실행할 때 "true"를 출력하는 이유는 무엇입니까? 다른 사람이 나에게 도움을 줄 수 있겠 니? ~
"'.... '"의 내용은 무엇입니까? 아마도'StockCodes.getCodes()'호출일까요? –
두 경우 모두 - 뭐하고 있니? 우리가 본 것을 보면,이 프로그램은 절대로 출력해서는 안되지만 main 메소드를 실행하고 java 어플리케이션을 실행할 때 디버깅을하는 것처럼 보이는 것입니다. 종료하기 전에 StockCodes = true로 설정합니다. – dfb
부울 변수를 사용하면 어떤 이점이 보이지 않습니다. 대신에 init 메소드를 사용할 수 있습니다 (부울 변수를 참 상태로 설정하면 공명은 영원히 참입니다) –