2014-04-19 4 views
1

jar 파일에서 실행되는 Java 응용 프로그램이 있습니다. 나는 그의 맥을 자바 7u55로 업그레이드 한 사용자가 있으며, 애플리케이션이 이전보다 훨씬 느리게 실행되고 있다고 말한다. 이전에 설치 한 Java 버전을 알 수 없습니다. jar 파일은 7u51 JDK를 사용하여 생성 된 것 같습니다. 이것이 왜 그렇게되어야하는가? 최신 Java 버전으로 응용 프로그램을 다시 컴파일하는 데 도움이 될까요?코드가 이전 버전보다 Java 7u55에서 훨씬 느리게 실행됩니까?

+0

컴퓨터에 문제를 재현 할 수 있습니까? 그것은 좋은 첫 걸음이 될 것입니다, 그리고 당신은 그것을 프로파일 링 할 수 있습니다. – yshavit

+0

@ Stephen-C에 대한 응답에서 언급했듯이 동일한 하드웨어에 대한 액세스 권한이 없으므로 분석이 어려워집니다. 프로파일 링이 제 전문 분야가 아닙니다. 나는 오히려 누군가가 7u55에 대해 알려진 특정 문제가 있다고 말할 것이기를 바랬습니다. 알려진 수정 사항이 있으면 좋겠지 만, 너무 많이 기대하고있었습니다. : D – PurpleVermont

답변

1

차이점이 나타나지 않을 것입니다. javac 바이트 코드 컴파일러는 최소한의 최적화를 수행하며, 하나의 부 버전에서 다음 버전으로 변경 될 가능성이 거의 없습니다. 영리한 최적화 작업은 모두 JIT 컴파일러가 수행합니다 ... 사용자가 실행중인 JRE의 일부입니다. 일반적으로


,이 둔화의 원인이 무슨 말을하는 것은 불가능합니다 :

  • 그것은 JVM 수 있습니다.

  • 응용 프로그램에 뭔가있을 수 있습니다.

  • 사용자가 현재 더 크거나 질적으로 다른 문제에 응용 프로그램을 사용 중일 수 있습니다.

  • "외부"일 수 있습니다. 예 : 사용자가 다른 파일 시스템에 소프트웨어를 다시 설치했거나 Mac에서 여분의 리소스 경합을 일으키는 물건을 더 많이 (아마도 무의식적으로) 실행하고 있습니다.

  • 사용자가 상상할 수도 있습니다. (네 ...)

    그래서

당신은 무엇을 할 수 있습니까?

먼저 사용자의 현재 설정을 재현하고 문제를 실행하며 응용 프로그램이 자신을 위해 동일한 것을 수행하는지 확인해야한다고 생각합니다. 그렇지 않다면, 사용자 머신에 액세스하여 액세스 할 필요가 있습니다.

둘째, 시스템을 재현 할 때 사용자의 설정/문제와 관련하여 응용 프로그램을 프로파일 링 해보십시오.

적합한 하드웨어가없는 경우 다소 번거롭지만 ... 적어도 사용자에게 더 이상 도움을 줄 수없는 이유가 있습니다.

+0

나는 Mac을 가지고 있지 않기 때문에 더 많은 문제를 재현 할 수 있습니다. 나는 또한 육체적으로 사용자와 같은 위치에 있지만 수백 마일 떨어져 있으므로 컴퓨터에 앉는 것도 선택 사항이 아닙니다. 나는 PC에서 7u55 미만으로 아직 시도하지 않았지만 문제를 재현하지는 않을 것이라고 생각합니다. 나는 그가 다른 문제에 그것을 사용하고 있지 않다는 것을 알고 있으며, 나는 그것이 단지 그의 상상이 아니라는 것을 확신한다. 내 의심은 "무언가 외부"라고 생각하거나 추적하기가 어렵습니다. – PurpleVermont

+1

@PurpleVermont - 그래, 누군가가 사용자의 문제를 재현하려고 하드웨어를 제공 할 수 없으면 조사 할 수있는 방법이 거의 없습니다. –

+0

@PurpleVermont : IMHO Mac을 사용하지 않고도 문제를 재현 할 수있는 기회는 아주 좋습니다. 나는 그것을 시험해 볼 것이다. TeamViever와 같이 수백 마일을 신경 쓰지 않는 것도 고려하십시오. – maaartinus

관련 문제