jar 파일에서 실행되는 Java 응용 프로그램이 있습니다. 나는 그의 맥을 자바 7u55로 업그레이드 한 사용자가 있으며, 애플리케이션이 이전보다 훨씬 느리게 실행되고 있다고 말한다. 이전에 설치 한 Java 버전을 알 수 없습니다. jar 파일은 7u51 JDK를 사용하여 생성 된 것 같습니다. 이것이 왜 그렇게되어야하는가? 최신 Java 버전으로 응용 프로그램을 다시 컴파일하는 데 도움이 될까요?코드가 이전 버전보다 Java 7u55에서 훨씬 느리게 실행됩니까?
답변
차이점이 나타나지 않을 것입니다. javac
바이트 코드 컴파일러는 최소한의 최적화를 수행하며, 하나의 부 버전에서 다음 버전으로 변경 될 가능성이 거의 없습니다. 영리한 최적화 작업은 모두 JIT 컴파일러가 수행합니다 ... 사용자가 실행중인 JRE의 일부입니다. 일반적으로
,이 둔화의 원인이 무슨 말을하는 것은 불가능합니다 :
이그것은 JVM 수 있습니다.
응용 프로그램에 뭔가있을 수 있습니다.
사용자가 현재 더 크거나 질적으로 다른 문제에 응용 프로그램을 사용 중일 수 있습니다.
"외부"일 수 있습니다. 예 : 사용자가 다른 파일 시스템에 소프트웨어를 다시 설치했거나 Mac에서 여분의 리소스 경합을 일으키는 물건을 더 많이 (아마도 무의식적으로) 실행하고 있습니다.
사용자가 상상할 수도 있습니다. (네 ...)
그래서
당신은 무엇을 할 수 있습니까?
먼저 사용자의 현재 설정을 재현하고 문제를 실행하며 응용 프로그램이 자신을 위해 동일한 것을 수행하는지 확인해야한다고 생각합니다. 그렇지 않다면, 사용자 머신에 액세스하여 액세스 할 필요가 있습니다.
둘째, 시스템을 재현 할 때 사용자의 설정/문제와 관련하여 응용 프로그램을 프로파일 링 해보십시오.
적합한 하드웨어가없는 경우 다소 번거롭지만 ... 적어도 사용자에게 더 이상 도움을 줄 수없는 이유가 있습니다.
나는 Mac을 가지고 있지 않기 때문에 더 많은 문제를 재현 할 수 있습니다. 나는 또한 육체적으로 사용자와 같은 위치에 있지만 수백 마일 떨어져 있으므로 컴퓨터에 앉는 것도 선택 사항이 아닙니다. 나는 PC에서 7u55 미만으로 아직 시도하지 않았지만 문제를 재현하지는 않을 것이라고 생각합니다. 나는 그가 다른 문제에 그것을 사용하고 있지 않다는 것을 알고 있으며, 나는 그것이 단지 그의 상상이 아니라는 것을 확신한다. 내 의심은 "무언가 외부"라고 생각하거나 추적하기가 어렵습니다. – PurpleVermont
@PurpleVermont - 그래, 누군가가 사용자의 문제를 재현하려고 하드웨어를 제공 할 수 없으면 조사 할 수있는 방법이 거의 없습니다. –
@PurpleVermont : IMHO Mac을 사용하지 않고도 문제를 재현 할 수있는 기회는 아주 좋습니다. 나는 그것을 시험해 볼 것이다. TeamViever와 같이 수백 마일을 신경 쓰지 않는 것도 고려하십시오. – maaartinus
- 1. 주석으로 인해 코드가 느리게 실행됩니까?
- 2. 코드가 프로덕션 서버에서 훨씬 느리게 작동합니다.
- 3. 큰 배열이 있으면 코드가 느리게 실행됩니까?
- 4. 어떤 작업으로 인해 병렬 코드가 느리게 실행됩니까?
- 5. 왜 Clojure에서 Java 기본 HashMap이 느리게 실행됩니까?
- 6. Java paint()가 브라우저에서 느리게 실행됩니까?
- 7. 출시 버전이 디버그 버전보다 훨씬 더 우수합니다
- 8. 이전 소스 코드가 SDK 4.2와 함께 실행됩니까?
- 9. 처음에 앱이 느리게 실행됩니까?
- 10. 왜이 정규식은 느리게 실행됩니까?
- 11. 왜 메소드가 느리게 실행됩니까?
- 12. 오픈 코드를 사용할 때 내 모든 코드가 훨씬 느리게 실행됩니다
- 13. 왜 파이썬 다중 프로세스 코드가 매우 느리게 실행됩니까?
- 14. 파이썬 코드가 순서대로 실행됩니까
- 15. JSTL JSP 페이지가 느리게 실행됩니까?
- 16. 왜이 코드는 느리고 느리게 실행됩니까?
- 17. 왜 Minitest가 너무 느리게 실행됩니까?
- 18. push_back을 생략하면 루프가 느리게 실행됩니까?
- 19. 동시 CPLEX가 단일 프로세스보다 훨씬 느리게 처리합니다.
- 20. 앱이 처음 몇 초 동안 느리게 실행됩니까?
- 21. mex 코드가 matlab 코드보다 느리게 실행되는 방법
- 22. 코드가 더 빨리 실행됩니까?
- 23. 다음 코드가 autocad에서 실행됩니까?
- 24. 저장 프로 시저가 쿼리보다 훨씬 느리게 실행됩니다.
- 25. 디버그 빌드가 릴리스보다 훨씬 느리게 컴파일됩니다.
- 26. Regex.Styler.Contains를 사용하여 조건문보다 훨씬 느리게 대체하십시오.
- 27. table() 함수를 사용하여 훨씬 느리게 결합하십시오.
- 28. sp_executesql이 동적 쿼리를 훨씬 느리게 실행합니다.
- 29. 릴리스 모드 정적 라이브러리는 디버그 모드 버전보다 훨씬 큽니다.
- 30. 중첩 함수가 중첩되지 않은 버전보다 훨씬 느린 이유는 무엇입니까?
컴퓨터에 문제를 재현 할 수 있습니까? 그것은 좋은 첫 걸음이 될 것입니다, 그리고 당신은 그것을 프로파일 링 할 수 있습니다. – yshavit
@ Stephen-C에 대한 응답에서 언급했듯이 동일한 하드웨어에 대한 액세스 권한이 없으므로 분석이 어려워집니다. 프로파일 링이 제 전문 분야가 아닙니다. 나는 오히려 누군가가 7u55에 대해 알려진 특정 문제가 있다고 말할 것이기를 바랬습니다. 알려진 수정 사항이 있으면 좋겠지 만, 너무 많이 기대하고있었습니다. : D – PurpleVermont