Java
-
[Java] GC 종류별 메모리 상황에 따른 테스트Computer Science/Java 2024. 2. 8. 17:40
특정 job 에 대해서 메모리를 설정해야하는데 이때 한번 GC를 종류별로 돌려보며 테스트를 해보았습니다. 다만 해당 job이 매우 짧게 끝나기도 하고 메모리를 적게 사용하며 CPU 사용율 등을 자세하게 확인하지 않았기에 가볍게 봐주시면 감사하겠습니다. 테스트 환경은 Java17에 OpenJDK 이며 모니터링으로는 VisualVM + VisualGC 와 jstat을 사용하였습니다. 비교한 GC는 SerialGC, ParallelGC, G1GC, ZGC로 Java17에서 지원하는 GC들 입니다. ShenandoahGC는 테스트하지 않았습니다. 목차 15MB [-Xms15m -Xmx15m] 50MB [-Xms50m -Xmx50m] 100MB [-Xms100m -Xmx100m] 결론 15MB [ -Xms15m ..
-
[Java] 버전별 GC 목록 ( OpenJDK )Computer Science/Java 2024. 2. 7. 17:55
GC 확인 방법 Java8의 GC Java11의 GC Java17의 GC Java21의 GC GC 확인 방법 현재 Default 로 적용된 GC를 확인하는 방법은 크게 2가지로 다음과 같습니다. 1. 적용중인 Flag를 확인하는 방법 java -XX:+PrintCommandLineFlags -version 해당 명령어로 현재 적용중인 Flag들과 버전을 같이 확인 할 수 있습니다. 위와 같이 결과가 나오는데 Java8의 경우 ParallelGC를 사용하는 것으로 확인됩니다. 2. 전체 Flag를 확인하는 방법 java -XX:+PrintFlagsFinal -version 해당 명령어로 사용 가능한 Flag들과 현재 그 값들을 확인할 수 있습니다. grep 명령어와 함께 사용하여 GC 목록들만 뽑아서 확인..
-
[Java] Java version 별 차이 ( 7, 8, 9, 11 )Computer Science 2023. 12. 12. 23:18
java 7 - 다이아몬드 연산자 지원, switch 문에서 String 사용 가능 java 8 - LTS 버전, Default Method, 람다 표현식, 함수형 Method, Optional 구조체, java.time 패키지, Stream API, GC 개선 java 9 - Java Platform Module System ( jigsaw project ), G1 GC, HTTP/2 java 11 - LTS 버전, HTTP/2 강화, 람다 표현식에 로컬 변수 타입 추론 추가 java 7 Java 7 부터 제네렉에서 사용하는 오퍼레이터 ( 다이아몬드 연산자 ) 를 지원합니다. 다이아몬드 연산자를 사용하면 코드를 간결하게 만들고 가독성을 향상시킬 수 있습니다. List list = new ArrayLis..
-
Pinpoint를 이용하여 서버 관리하기.Computer Science/Spring boot 2022. 11. 12. 21:35
https://github.com/pinpoint-apm/pinpoint GitHub - pinpoint-apm/pinpoint: APM, (Application Performance Management) tool for large-scale distributed systems. APM, (Application Performance Management) tool for large-scale distributed systems. - GitHub - pinpoint-apm/pinpoint: APM, (Application Performance Management) tool for large-scale distributed sys... github.com Datadog을 사용하다가 pinpoint로 넘어오게 ..
-
Mac 터미널 java version 임시 변경Computer Science/Java 2022. 11. 10. 00:43
java -version으로 현재 version을 확인해보면 17이다. java -version openjdk version "17.0.3" 2022-04-19 LTS OpenJDK Runtime Environment Corretto-17.0.3.6.1 (build 17.0.3+6-LTS) OpenJDK 64-Bit Server VM Corretto-17.0.3.6.1 (build 17.0.3+6-LTS, mixed mode, sharing) 변경을 하기전 /usr/libexec/java_home -V 명령어로 우선 내가 가지고 있는 jdk 목록을 확인해보자. /usr/libexec/java_home -V Matching Java Virtual Machines (2): 17.0.3 (x86_64) "Am..
-
open-jdk-17 설치.Computer Science/Java 2022. 7. 27. 01:22
wget 이 설치가 안되어 있다면. sudo yum -y install wget curl jdk 다운 wget https://download.java.net/java/GA/jdk17.0.2/dfd4a8d0985749f896bed50d7138ee7f/8/GPL/openjdk-17.0.2_linux-x64_bin.tar.gz 압축 풀기 tar xvf openjdk-17.0.2_linux-x64_bin.tar.gz 파일 위치 변경 sudo mv jdk-17.0.2/ /opt/jdk-17/ 환경변수 설정 vim ~/.bashrc export JAVA_HOME=/opt/jdk-17 export PATH=$PATH:$JAVA_HOME/bin 적용 source ~/.bashrc 상세내용 https://techview..