▶ 개인 과제 진행 과정
https://phonebee.tistory.com/77
내일배움캠프 TIL 23.
▶CH6 Spring 심화 개인 과제※ 리펙토링이란?● 리펙토링은 결과의 변경 없이 코드의 구조를 재조정한다는 의미이다. ※ 리펙토링은 왜 하는가?● 코드의 가독성을 높인다.● 유지보수를 편하게
phonebee.tistory.com
https://phonebee.tistory.com/78
내일배움캠프 TIL 24.
▶ CH6 Spring 심화 개인 과제▷ Level 1-2 리펙토링 퀴즈 - 불필요한 if-else 피하기public String getTodayWeather() { ResponseEntity responseEntity = restTemplate.getForEntity(buildWeatherApiUri(), WeatherDto[].class); WeatherDto[] weather
phonebee.tistory.com
https://phonebee.tistory.com/79
내일배움캠프 TIL 25.
▶ CH6 Spring 심화 개인 과제▷ Level 3 테스트 코드 연습● 1. 테스트 코드 연습 - 1@ExtendWith(SpringExtension.class)class PasswordEncoderTest { @InjectMocks private PasswordEncoder passwordEncoder; @Test void matches_메서드가_정
phonebee.tistory.com
▶ 트러블 슈팅
▷ 경고문 문제
● 전개
테스트 코드를 수정한 후 테스트를 실행했을 때 나타났다.
● 과정
테스트 코드를 실행하면

위와 같은 경고문이 나타나게 된다.
● 원인
처음 보는 에러여서 구글링을 해보니
OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended
해당 경고문은 IntelliJ 내부에서 자바를 사용할 때 발생하는 단순 내부 경고라고 하며 프로젝트 진행에는 문제가 없다고 한다.
실제로도 테스트 코드는 성공적으로 진행됐다.
하지만 테스트를 실행할 때 마다 경고문이 지속적으로 보이는 것은 안 좋다고 생각했기에 해결하기로 했다.
● 해결
위와 같은 경고문이 나오지 않기 위해서는
jvmArgs '-Xshare:off'
를 작성해야한다고 한다.
해당 코드를 build.gradle에 작성한 후
tasks.named('test') {
useJUnitPlatform()
jvmArgs '-Xshare:off'
}
실행시키면 경고문이 나타나지 않게 된다.
● jvmArgs '-Xshare:off' 란?
해당 코드는 JVM(Java Virtual Machine)을 실행할 때 클래스 데이터 공유(Class Data Sharing, CDS) 기능을 비활성화 하는 옵션이다.
※ 클래스 데이터 공유 (Class Data Sharing, CDS) 란?
JVM의 기동 속도를 높이고 메모리 사용량을 줄이기 위해 클래스 메타데이터를 공유하는 기술이다.
'TIL' 카테고리의 다른 글
| 플러스 주차 개인과제 TIL 2. (0) | 2025.03.11 |
|---|---|
| 플러스 주차 개인과제 TIL 1. (0) | 2025.03.10 |
| 내일배움캠프 TIL 25. (0) | 2025.02.26 |
| 내일배움캠프 TIL 24. (0) | 2025.02.24 |
| 내일배움캠프 TIL 23. (0) | 2025.02.21 |