JVM Client 와 Server 쪽 은 어떤 차이 가 있 습 니까?
서버 VM 은 우리 의 가상 컴퓨터 유형 을 나타 내 고 mixed mode 는 가상 컴퓨터 가 혼합 모드 로 작 동 하 는 것 을 나타 낸다.
가상 컴퓨터
먼저 다음 글 의 내용 은 모두 핫 스 팟 가상 머 신 에 기반 한 것 이다.
우리 가 잘 아 는 자바 가상 머 신 은 규범 적 인 기준 으로 여러 가지 실현 이 있다.예 를 들 어 HotSpot 가상 머 신 은 JVM 의 실현 이자 현재 사용 범위 가 가장 넓 은 자바 가상 머 신 이다.사실 핫 스 팟 은 최초 로 썬 이 개발 한 것 도 아니 고,그 가 초기 에 인수 한 한 회사 가 개발 한 것 인 데,나중에 썬 이 JDK 를 오픈 한 후 오픈 JK 가 탄생 했 기 때문에 핫 스 팟 은 이 두 개의 JDK 공용 가상 머 신 이 되 었 다.
HotSpot 가상 기기 뿐만 아니 라 Oracle 의 원래 Jrockit VM 도 자바 가상 기기 의 실현(나중에 HotSpot 과 Jrockit 을 통합)이 고 IBM 도 이에 대응 하 는 VM 이 실현 된다.
왜 HotSpot 가상 컴퓨터 라 고 합 니까?
이름 처럼 핫 이 슈 코드 탐지 기술 이 특징 이다.이 기술 은 실행 계수 기 를 통 해 가장 컴 파일 가치 가 있 는 코드 를 찾 아 낸 다음 에 JIT 를 통 해 즉시 기계 코드 로 컴 파일 하고 캐 시 하여 실행 효율 을 높 일 수 있다.
한편,JIT 컴 파일 은 하나의 개념 일 뿐 HotSpot 에 C1,C2 라 는 두 가지 컴 파일 러 가 내장 되 어 있다.
C1:컴 파일 시간 이 짧 고 최적화 전략 이 간단 합 니 다 C2:컴 파일 시간 이 길 고 최적화 전략 이 복잡 합 니 다.
C1,C2 는 모두 JIT 컴 파일 기술 에 속 하고 JIT 의 서로 다른 실현 이다.
2.가상 컴퓨터 유형 client server 의 차이
HotSpot 가상 머 신 은 client 단 과 server 단 으로 나 뉘 는데 정확히 말 하면 두 가지 유형 으로 나 눌 수 있 습 니 다.client,server VM 은 서로 다른 업무 장면 을 적용 하 는 가상 머 신 유형 이기 때 문 입 니 다.
클 라 이언 트 VM 은 C1 컴 파일 러 를 사용 합 니 다
그래서 clientserver 의 가장 큰 차 이 는 바로 C1 과 C2 의 차이 이 고 주로 컴 파일 전략 에 나타난다.
클 라 이언 트 시작 이 빠 르 고 메모리 사용량 이 적 으 며 컴 파일 이 빠 르 며 데스크 톱 응용 프로그램 에 대한 최적화(예 를 들 어 GUI)는 클 라 이언 트 환경 에서 시작 시간 을 줄 이기 위해 최적화 되 었 습 니 다4.567917.서버 의 작 동 이 느 리 지만 일단 실행 되면 성능 이 크게 향상 된다.컴 파일 이 더욱 완전 하고 효율 이 높 기 때문에 서버 에 대한 응용 최적화여러분 은 구체 적 인 업무 장면 에 따라 선택 할 수 있 지만 현재 의 시스템 은 대부분이 B/S 구조 이 고 앞 뒤 가 분리 되 어 있 기 때문에 저희 가 사용 하 는 가상 컴퓨터 는 대부분이 server 유형 입 니 다.
인터넷 에 c++자바 의 성능 대비 가 있 습 니 다.다음 과 같 습 니 다.
가장 뚜렷 한 차 이 는 JVM client 단 과 server 단 이 methodcall 방법 호출 에 대한 성능 대비(빨간색 은 server VM,노란색 은 client VM,높 을 수록 좋 음)입 니 다.
또한 client/server VM 은 컴 파일 정책 과 성능 의 차 이 를 제외 하고 메모리 배분 과 GC 에서 도 다 릅 니 다.
클 라 이언 트 기본-Xms 는 1M,-Xmx 는 64M,신 생 대 는 직렬 gc,구 생 대 는 직렬 gc
-server KNOWN-client IGNORE
이 인자 가 정 해진 시간 을 가리 키 지 않 을 때 가상 머 신 이 호스트 가 서버 인지 확인 하기 시작 합 니 다.만약 그렇다면 ServerVM 으로 시작 합 니 다.그렇지 않 으 면 Client VM 으로 시작 합 니 다.검 측 근 거 는 최소 2 개의 CPU 와 최소 2GB 메모리 입 니 다.
자바 명령 을 실행 할 때마다 뒤에-client 또는-server 의 인 자 를 추가 하 는 전환 방식 도 있 습 니 다.
여기 서 주의해 야 할 것 은 어떤 방식 으로 전환 하 든 대응 하 는 jvm.dll 을 호출 하여 실행 되 기 때문에 로 컬 에 client 와 server 가 각각 대응 하 는 jvm.dll 파일 이 있어 야 합 니 다.그렇지 않 으 면 가상 컴퓨터 형식 을 전환 할 수 없습니다.
가상 컴퓨터 작업 모드
첫 번 째 그림 에서 마지막 으로 동 그 라 미 를 친 mixed mode 는 가상 컴퓨터 의 작업 모드 를 혼합 모드 로 표시 하고 명령 행 에 자바-X 를 입력 하면 다른 모드 를 볼 수 있 습 니 다.
또 하나의-XComp 는 순 컴 파일 모드 를 나타 낸다.
다음은 세 가지 모델 의 차 이 를 말씀 드 리 겠 습 니 다.
같은 작업 모드 에서 도 전환 할 수 있 습 니 다.명령 행 에-Xint 또는-XComp 의 매개 변수 설정 을 추가 합 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
IntelliJ IDEA 2019.2의 새로운 기능 프로파일 러를 사용해 보았습니다.이번의 새로운 기능은 초호화! 저는 퍼포먼스 개선을 자주 합니다만, IntelliJ IDEA에도 프로파일링 툴이 붙게 되었으므로, 사용해 보았습니다. 편리한 것 같았기 때문에, 앞으로의 메인 웨폰은 이것이 될 것 같...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.