목록백엔드/JAVA (4)
코딩기록

JVM 이란?자바를 실행하기 위한 가상 기계 OS에 종속적이지 않다 .java 파일 컴파일 과정.java -> Java compiler(javac) -> .class(바이트 코드: JVM이 이해할 수 있는 언어) -> JIT Compiler*, 동적 번역* -> 바이너리 코드(기계어, 컴퓨터가 인식할 수 있는 0과 1로 구성된 이진코드)* 인터프리터 방식으로 실행하다가 적절한 시점에 바이트코드 전체를 컴파일하여 기계어로 변경하고, 이후에는 더 이상 인터프리팅하지 않고 기계어로 직접 실행 JVM 구조1. 클래스 로더(Class Loader) JVM 내로 클래스 파일을 로드하고 링크를 통해 배치하는 작업을 수행 2. 실행 엔진(Excution Engine) - 인터프리터 “ 자바 바이트 코드를 명령어 단위로..

JSP란?자바 언어를 기반으로 하는 스크립트 언어로, HTML 내에 자바 코드를 삽입하여 웹 서버에서 동적으로 웹페이지를 생성하여 웹 브라우저에 전달하는 서버측 스크립트 언어JSP의 동작과정① 웹 브라우저가 웹 서버에 JSP를 요청하면, 웹 서버는 요청된 xxx.jsp에서 jsp 확장자를 발견하여 JSP 페이지임을 확인하고 웹 서버에 있는 JSP 컨테이너로 전달② JSP 컨테이너가 JSP 페이지를 서블릿 프로그램인 xxx_jsp.java로 변환③ JSP 컨테이너가 서블릿 프로그램을 컴파일하여 xxx_jsp.class로 만들고 이를 웹 서버에 전달④ 웹 서버는 xxx_jsp.class의 실행 결과를 웹 브라우저에 응답으로 전달JSP의 생명주기①. jspInit() : JSP 컨테이너는 class를 로딩하고..
1. Stack기본 자료형이 저장되는 공간으로, 임시적으로 사용되는 변수나 정보들이 저장되는 영역이다.메소드가 호출될 때 스택 영역에 스택프레임*이 생기고 그 안에 메소드를 호출한다.* 스택프레임: 하나의 메서드에 필요한 메모르 덩어리 / 하나의 메서드 당 하나의 스택프레임이 필요함 / 스택프레임에 쌓이는 데이터는 메서드의 매개변수, 지역변수, 리턴값 등이 있다. / 메서드 호출 범위가 종료되면 스택에서 제거메소드가 호출될 때 메모리에 할당되고, 메소드가 종료되면(= 메서드의 끝을 알리는 닫는 중괄호를 만나면) 메모리에서 사라진다.컴파일 타임 시 할당 된다.스택 메모리가 가득차면 자바에서는 java.lang.StackOverFlowError를 발생 2. Heap침조형(Reference Type) 데이터 ..
패턴, 포맷별 출력 형식이다. LocalDateTime date = LocalDateTime.now( date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS")) // 2021-09-02 14:56:20.669 date.format(DateTimeFormatter.BASIC_ISO_DATE) // 20210902 date.format(DateTimeFormatter.ISO_DATE) // 2021-09-02 date.format(DateTimeFormatter.ISO_DATE_TIME) // 2021-09-02T14:56:20.669 date.format(DateTimeFormatter.ISO_INSTANT) // ERROR date.forma..