jdwp/socket을 통해 원격 디버깅을 사용하는 Java 프로세스를 시작하고 외부 프로세스가 연결되지 않은 경우이 연결되면 성능이 저하됩니까? 원격 클라이언트가 실제로 디버깅 할 때 상당한 피해가 있다는 것을 이해합니다. 그러나 단순히 특정 포트에서 jdwp를 선언하면 자체적으로 응용 프로그램을 느리게 할 수 있습니까? 문서에 대한 링크는 크게 감사하겠습니다.Java 원격 디버깅 - 성능
0
A
답변
1
아니요은 외부 프로세스가 연결되어 있지 않으면 런타임 성능에 영향을주지 않습니다.
JDWP는 디버거와 디버깅하는 Java 가상 머신 (VM) 간의 통신에 사용되는 프로토콜입니다. JDWP는 (선택 사항)입니다.
JDWP 시작 최대 - 전송 연결이 설정되며, 모든 패킷이 전송되기 전에 핸드 셰이크는 접속의 양측간에 발생 후 :
핸드 쉐이크 과정의 다음 단계를 갖는다 :
-
을
- 디버거 측은 14 바이트를 VM 측에 보내며, "JDWP-Handshake"문자열의 14 ASCII 문자로 구성됩니다. JDWP 핸드 셰이크 자바 SE에서
1.4 자바 핫스팟 가상 머신이 현재 사용 "전속 디버깅"
이전 버전에서 다음 같은 14 바이트
이 JDWP의 향상된 기능에 대한 자세한 내용은 http://docs.oracle.com/javase/1.5.0/docs/guide/jpda/jdwp-spec.html
를 참조하십시오 또한 시험이 최고 속도로 진행하고 디버거의 출시가 예외 발생 할 수 있습니다