본문 바로가기

전체글236

JVM 구조 클래스 로더 시스템 .class에서 바이트코드를 읽고 메모리에 저장 로딩: 클래스 읽어오는 과정 링크: 레퍼런스를 연결하는 과정 초기화: static 값들 초기화 및 변수에 할당 public class App { static String myName; static { myName = "seongmin"; } ... } (static 변수 선언) public class Smpaaark { public void work() { System.out.println(App.myName); } } (위에 선언한 static 변수를 다른 클래스에서 사용) 클래스명.static변수명 형태로 사용합니다. (인텔리J를 통해 본 class 파일) 원래는 바이트코드 형태이지만 IDE에서 우리가 이해할 수 있을 수준으로 디컴파.. 2021. 10. 26.
자바, JVM, JDK, JRE JVM(Java Virtual Machine) 자바 가상 머신으로 자바 바이트 코드(.class 파일)를 OS에 특화된 코드로 변환(인터프리터와 JIT 컴파일러)하여 실행합니다. 바이트 코드를 실행하는 표준(JVM 자체는 표준)이자 구현체(특정 밴더가 구현한 JVM)입니다. JVM 밴더: 오라클, 아마존, Azul, … 특정 플랫폼에 종속적. (바이트코드 예시) JRE(Java Runtime Environment): JVM + 라이브러리 자바 애플리케이션을 실행할 수 있도록 구성된 배포판 JVM과 핵심 라이브러리 및 자바 런타임 환경에서 사용하는 프로퍼티 세팅이나 리소스 파일을 가지고 있습니다. 개발 관련 도구는 포함하지 않습니다. (그건 JDK에서 제공) (jre\bin 내부) java.exe는 존재하.. 2021. 10. 26.
[인텔리J] git bash 연동하기 settings -> Tools -> Terminal 접속 Shell path 경로 변경 "C:\Program Files\Git\bin\sh.exe(shell이 설치된 경로)" -login -i 인텔리J 재시작 결과 참조 IntelliJ IDEA와 Git Bash 연동하기 2021. 10. 3.
[인텔리J] 한글깨짐 해결하기 한글을 콘솔에 출력할 경우 아래와 같이 깨지는 경우가 있습니다. request = org.apache.catalina.connector.RequestFacade@cc7bb3a response = org.apache.catalina.connector.ResponseFacade@2e08ffb3 username = �� 해결 방법 help -> Edit Custom VM Options… 아래 설정 코드 추가 -Dfile.encoding=UTF-8 인텔리J 재시작 결과 request = org.apache.catalina.connector.RequestFacade@2d8f96fc response = org.apache.catalina.connector.ResponseFacade@1d19cea5 username .. 2021. 10. 3.