2016-11-24 3 views
9

저는 Java에서 데스크탑 응용 프로그램을 만들고 있으며 일부 메모리 최적화를 수행 중입니다.RMI TCP 연결이란 무엇입니까

RMI TCP 연결

그리고 그들은 모두 '지금은 돈

(내 관점에서) 아주 상당히 힙 성장에 공헌하고 있습니다 : 그것은 나를 JVM에서 실행되는 두 개의 스레드 건너 만든, 모두의 이름 t는 많이 알지만, TCP는 마치 인터넷과 같은 소리를 낸다. Google에서 찾은 것에서부터 인터넷을 통한 직렬화/비 직렬화와 관련이 있습니다.

그러나 인터넷이 필요하지 않습니다 내 응용 프로그램은, 그래서 두 가지를 알고 싶다 : 그들이 무엇을 그들이 내 JVM에서하고있는 무슨

  1. 를?
  2. 어떻게 든 제거 할 수 있습니까?

enter image description here

내 도구는 "자바 VisualVM과"이었다. 하지만이 도구를 사용하면 두 개의 스레드가 생성된다는 생각이 들었습니다.이 경우에는 다소 어리석은 느낌이들 것입니다.

+0

정확합니다. 이 도구를 사용하면 결과가 생성됩니다. – EJP

+0

대단히 감사합니다. 바보 같고 어리 석다. 내가 할 수 있다면 이것을 대답으로 표시하겠다. – Jake

답변

1

스레드는 원격 JMX 클라이언트 (사용자의 경우 Java VisualVM)에 JVM의 데이터를 공급하는 데 사용됩니다.

일단 스레드를 분리하면 더 이상 많은 양의 데이터를 할당해서는 안됩니다.

이것을 확인하려면 스레드 탭으로 가서 RMI TCP 연결 스레드의 스레드 덤프를 살펴보십시오. RMI 작업이 JMX Bean을 트리거한다는 것을 알아야합니다.

0

RMI는 동일한 응용 프로그램의 여러 부분을 여러 컴퓨터에서 나누는 데 사용할 수있는 Java API입니다. 프로젝트에서 java.rmi 라이브러리를 사용합니까?

+0

아니, lwjgl 3.0 프레임 워크를 사용하고 있습니다. 그들이 그것을 할 수 있습니다. 나는 그들의 포럼을 점검 할 것이다. – Jake

+0

소스에서 RMI에 대한 참조를 찾을 수 없습니다. – Jake

+0

Google에서 lwjgl 라이브러리를 사용할 때 rmi 예외에 대한 메시지를 발견했습니다. 분명히, 네이티브 C 라이브러리와 함께 일하는 동안 어떤 이유로 Java는 rmi 연결 또는 이와 유사한 것을 사용합니다. – NetL