2011-08-22 5 views
0

저는 하루에 수백만 번 날짜로 일부 작업을 수행 할 것입니다. 나는 같은 XML 피드에서 날짜를 처리하는 XMLGregorianCalendar의 날을 만들었습니다 XMLGregorianCalendar를 새 값으로 재설정하는 방법

XMLGregorianCalendar xCalEst = null; 
xCalEst = DatatypeFactory.newInstance().newXMLGregorianCalendar("2011-08-09T21:50:00Z"); 

날짜 문자열을 다른 소스에서 올 것 곳. 성능 향상을 위해 정적으로 일정을 만들고 한 번만 만들어야한다고 생각하고 있습니다. 문제는 새로운 수신 날짜 문자열로 캘린더를 재설정하는 (쉬운) 방법이 없다는 것입니다.

IE : 내가 할 수 있기를 원하는 것은 다음과 같습니다. xCalEst.reset ("2011-08-09T21 : 55 : 00Z");

저는 성능에 지나치게 관심이 있으며 매번 개체가 만들어지고 파괴 될 수있게합니까 아니면이를 수행하는 간단한 방법이 있습니까?

저는 오래된 C 프로그래머이고 Java로 시작합니다.

답변

0

나는 그것을 시도하지 않았지만 setTimesetTimeZone과 같은 메서드를 사용할 수 있습니다. 이 방법은 메시지를 순차적으로 보내는 경우에만 작동합니다. 한 스레드에서. Java가 객체 지향 언어 인 C와는 달리 자연스러운 동작은 객체를 만들고 작업하는 것입니다. 먼저 XMLGregorianCalendar의 순차적 생성이 성능/메모리 병목 현상이라는 것을 증명해야하며 최적화를 시도하십시오.

DatatypeFactory dtf = DatatypeFactory.newInstance(); 
dtf.newXMLGregorianCalendar("2011-08-09T21:50:00Z"); 
: 일반적으로 먼저 사용해 DatatypeFactory '캐시'를 고려해야합니다 귀하의 예를 감안할 때

:-) 가비지 컬렉션의 힘을 과소 평가하지 않는다

관련 문제