☕️ java(2)
-
[Java/kotlin] None of the following functions can be called with the arguments supplied 에러 해결
Java로 개발중이던 소셜로그인 코드를 코틀린으로 마이그레이션 하는 과정에서 만난 에러를 공유합니다. WebSecurityConfiguration에서 접근허용 배열인 AUTH_WHITELIST를 antMatchers에 설정하려고 할 때, None of the following functions can be called with the arguments supplied. 에러를 만나게 되었습니다. 해당 에러는 제공된 인수로 다음 함수를 호출할 수 없다는 에러인데, 이미 존재하는 배열인 AUTH_WHITELIST를 vararg(가변인자) 함수로 넘기려고 할 때 스프레드 연산자인 *를 붙여주지 않아서 발생하는 문제였습니다. 기존 코드 private static final String[] AUTH_WHITELI..
2021.10.09 -
[Java] JVM 구조와 메모리 영역 - Method, Heap, Stack Area
JVM 동작 과정 JVM은 자바 가상 머신으로, 자바 바이트 코드를 해석하고 실행하는 역할을 합니다. 자바 코드는 JVM을 통해 실행되므로 Window, Linux와 같은 다른 OS에서도 동일하게 실행할 수 있다는 장점이 있습니다. 구체적으로 메모리 영역을 공부하기 전에 JVM이 자바 소스코드를 어떻게 OS에서 실행하는지 과정을 살펴봅시다. 1. 자바 소스코드인 .java 파일을 컴파일러가 자바 바이트 코드인 .class로 변환합니다. 2. .class 코드를 JVM의 클래스 로더에게 보냅니다. 3. 클래스 토더는 JVM 런타임 데이터 영역으로 로딩하여 JVM의 메모리에 올립니다. 모든 자바 프로그램은 JVM을 통해 실행됩니다. 일단 프로그램이 실행되면 JVM은 OS로부터 프로그램을 수행하는데 필요한 메..
2021.08.03