• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

JVM 과 arguments 는 뭔가요???

22.04.04 16:51 작성 조회수 738

0

저게 뭔지몰라서 뭘하시려는건지 모르겠어요..

답변 1

답변을 작성해보세요.

0

JVM과 java 명령어 arguments에 대해서는 직접 공부하신 다음에 댓글을 남겨주시면 리뷰해 드리겠습니다.

JVM 은 java virtual machine

뭐하는건지 깊게는 모르겠지만 대략적으로 우리가 작성한 코드가 컴파일되어진 코드를 실행시키는 소프트웨어와 하드웨어 그사이 어딘가에 위치하는 가상머신 

(제가알고있기에는 자바는 컴파일언어와 인터프리터언어의 속성?을 둘다가지고있다고 들었는데 저 JVM이 소프트웨어와 하드웨어 그사이어딘가에 위치하는것도 자바의 컴파일, 인터프리터 그사이어딘가에 위치하는거랑 관련이 있는건가요?)

arguments 는 parameter 를 썻을때 따라오는 값(인자) 인것같아요

public String test(Object parameter) { return "arguments"; }

그리고 어플리케이션 메인클래스? 에들어가는 arguments 값을 넣는것인것같습니다..

public static void main(String[] args){}   <--여기 들어가는 값

 

제가 궁금한건 VM options 와 program arguments 에  -Dfoo , --bar 를 입력하셨는데

우선 제 intellij 에서는 윈도우라그런지 모르겠지만 run/debug configurations 라는창을 못찾았고

저기 들어가는값이 어디에 쓰이는지 궁금합니다~

일부 아규먼트는 java를 실행할 때 JVM을 설정하는 값으로 쓰이구요 (-D로 시작하는거), 일부는 말씀하신대로 main 메소드의 args로 (--로 시작하는 것들) 받아집니다.

윈도용 인텔리에서도 맥용과 다르지 않아서 분명히 run configuration이 있을텐데 이상하네요. 9분 45초 쯤에 해당 창을 열고 있는데 윈도 버전의 인텔리J에도 있을겁니다.

자바 실행시 넘겨줄 아규먼트는 강의에서 보여드린 것처럼 인텔리J에서 입력하지 않고 cmd에서 넘겨 줄 수도 있습니다. java -Dfoo --bar 이런식으로요.

그리고 이 수업에서는 그렇게 입력된 아규먼트 중에 애플리케이션 용도의 아규먼트 (--로 시작하는 것들)을 스프링 부트 애플리케이션에서 편하게 꺼내 쓰는 기능을 소개해 드린겁니다.