이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 18821|회답: 5

[출처] 자바 가상 머신 JVM의 서버와 클라이언트의 차이점

[링크 복사]
게시됨 2017. 7. 24. 오전 11:10:31 | | |
자바의 두 VM 요약: 서버와 클라이언트


--------------------------------------------------------------------나 자신에게서-----------------------------------------------------------------------
현재 64비트만 서버 모드를 지원합니다
서버 VM은 클라이언트 VM보다 약 10% 느리게 시작합니다.클라이언트 VM보다 최소 10배 더 빠르게 실행됩니다
서버의 CPU, 메모리, 하드 디스크가 클라이언트 기기보다 더 강력하기 때문에, 프로그램이 배포된 후에는 더 나은 성능을 위해 서버 모드로 시작해야 합니다.
JVM은 클라이언트 모드에서 기본적으로 1M, -Xmx에서는 64M입니다. JVM은 서버 모드에서 기본적으로 128M, -Xmx에서는 1024M입니다.
server:启动慢,编译更完全,编译器是自适应编译器,效率高,针对服务端应用优化,在服务器环境中最大化程序执行速度而设计。
client:快速启动,内存占用少,编译快,针对桌面应用程序优化,为在客户端环境中减少启动时间而优化;
GC 소개:
클라이언 모드에서는 신세대가 직렬 GC를, 구 세대가 직렬 GC를 선택한다
서버 모드에서는 신세대가 병렬 재활용 GC를, 구세대는 병렬 GC를 선택합니다
일반적으로 시스템 애플리케이션을 선택하는 방법은 처리량 우선순위와 일시정지 시간 우선순위이며, 처리량 우선순위는 서버의 기본 병렬 GC 모드를, 일시정지 우선순위는 동시 GC(CMS) 모드를 선택합니다.


--------------------------------------------------------------------브라우저에서-------------------------------------------------------------------------
JDK는 VM 클라이언트와 VM 서버 애플리케이션 두 가지 유형의 VM을 가지고 있습니다. 두 솔루션은 자바 런타임의 핫스팟 코드베이스를 공유하지만, 클라이언트와 서버 모두의 고유한 성능 특성을 위해 서로 다른 컴파일러를 사용하며, 이러한 차이점에는 인라인 정책 작성과 힙 기본값 작성이 포함됩니다.

서버와 클라이언트 VM은 유사하지만, 서버 VM은 최대 최대 운영 속도를 위해 특별히 조정되었습니다. 이는 빠른 시작 시간이나 작은 런타임 메모리 사용량을 넘어 가장 빠른 실행 속도를 요구하는 장시간 실행 서버 애플리케이션을 실행하도록 설계되었습니다.

고객 VM 컴파일러는 이전 버전의 JDK를 통해 클래식 가상 머신과 실시간 업그레이드(JIT)에서 사용되는 컴파일러입니다. 클라이언트 가상 머신은 애플리케이션과 애플릿 실행에 향상된 성능을 제공합니다. Java 가상 머신의 핫스팟 고객은 애플리케이션 시작 시간과 메모리 사용량을 줄이도록 특별히 조정되어 고객 환경에 적합하게 만듭니다. 일반적으로 클라이언트 시스템은 더 나은 그래픽 사용자 인터페이스를 갖추고 있습니다.

그래서 진짜 차이는 컴파일러 수준에서도 나타납니다:

클라이언트 가상 머신 컴파일러는 서버 가상 머신에서 컴파일러가 수행하는 더 복잡한 최적화를 시도하지 않지만, 교환 과정에서 코드 분석과 컴파일에 소요되는 시간이 줄어듭니다. 즉, 클라이언트 가상 머신은 더 빠르게 시작할 수 있고 메모리 사용량도 적게 듭니다.

서버 가상 머신에는 동일한 유형의 C++ 컴파일러 최적화뿐만 아니라 전통적인 컴파일러로는 할 수 없는 공격적인 인라인 인 가상 메서드 호출 같은 최적화도 지원하는 고급 적응형 컴파일러가 포함되어 있습니다. 경쟁과 성능 우위를 점하는 정적 컴파일러입니다. 적응 최적화 기법은 접근 방식이 매우 유연하며, 종종 고급 정적 분석과 컴파일 기법보다 더 뛰어난 성능을 보입니다.

-Server 모드가 시작되면 속도는 느리지만, 실행되면 성능이 크게 향상됩니다. 왜냐하면 가상 머신이 -클라이언트 모드일 때는 C1이라는 코드명으로 된 경량 컴파일러를 사용하고, -서버 모드에서 시작된 가상 머신은 코드명 C2인 컴파일러를 사용하는데, 이 컴파일러는 C1 컴파일러보다 비교적 철저하게 컴파일되어 서비스 후 성능이 더 좋습니다.

일반적으로, -server KNOWN과 -client KNOWN의 두 구성 순서를 변경하기만 하면,기본 설정은 서버와 클라이언트 폴더가 모두 JAVA_HOME의 /jre/bin 디렉터리에 존재한다는 것입니다각 JVM에 대응합니다




이전의:2097152KB 객체 힙을 위한 충분한 공간을 예약하지 못했습니다
다음:Nuget에 AutoMapper를 설치할 때 발생하는 오류에 대한 VS2012 해결책
 집주인| 게시됨 2017. 8. 14. 오후 4:52:24 |
JAVA 오류는 VM 오류 초기화 중에 발생했습니다
http://www.itsvse.com/thread-3972-1-1.html
(출처: 건축가)
게시됨 2017. 10. 21. 오후 3:34:08 |
VMware만 사용했습니다
게시됨 2017. 12. 17. 오전 8:58:20 |
10점 원해
게시됨 2017. 12. 21. 오전 10:09:50 |
자바 가상 머신 JVM의 서버와 클라이언트의 차이점
게시됨 2018. 3. 8. 오후 8:37:43 |
10M 원해
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com