Java 16 [Java] 자바 동작 과정 Java 동작과정 개요 자바 컴파일러가 소스코드를 바이트코드로 변환시킨다. 클래스로더가 바이트코드를 JVM의 runtime data area(메모리 영역)로 올리고 Execution engine의 interpreter와 JIT compiler를 통해 코드를 해석한다. 컴파일? 인터프리터? 자바는 컴파일 방식과 인터프리터 방식 둘 다 사용한다. 컴파일 방식 : 자바 컴파일러는 소스코드를(*.java)를 자바 바이트코드(*.class)로 변환시키고, 인터프리터 방식 : JVM은 변환된 소스코드를 런타임에 읽어서 코드를 실행한다. JVM 역할 Class Loader System Java byte code (*.class)를 runtime에 읽어서 JVM의 메모리(runtime data area)에 배치시킨다... 2024. 4. 1. [JAVA] 버전에 따른 주요 기능들 (SE8~SE20) 자바 버전이 변경됨에 따라 추가/변경된 주요 기능들을 담아봤다. SE8 (2014) Lambda, Method Reference Lambda Method Reference s -> s.getSample() Sample::getSample () -> Thread.currentThread().dumpStack() Thread.currentThread()::dumpStack (str, i) -> str.substring(i) String::substring (String s) -> System.out.println(s) System.out::println Interface Default Method 원래는 interface 내에는 메소드 정의만 가능하고 구현은 불가능 하였으나, default method를 이.. 2024. 3. 27. Entity, DTO, DAO, VO Entity, DTO, DAO, VO Servlet, Spring 등을 사용하면 로직 구현이나 데이터 교환을 위해 Entity, DTO, DAO, VO를 사용하게 된다. 각각을 한마디로 요약하면 아래와 같다. Entity : 테이블 DTO : Data Transfer Object → 데이터 교환용 DAO : Data Access Object → 데이터 접근용 VO : Value Object → 데이터 교환용 (Read-only 속성의 DTO) Entity Database의 테이블에 해당하며, 주로 하나의 테이블에 하나의 entity를 정의한다. 테이블과 최대한 동일하게 클래스를 생성하고, 주로 테이블에 가지는 column들을 필드로 가진다. 주의할 점 다른 클래스를 상속받거나 구현체여서는 안되며, 데이터.. 2023. 4. 3. MVC 패턴 (feat. Servlet/JSP) MVC Model + View + Controller의 구조로 이루어진 패턴(동작 방식)을 말한다. Model 데이터와 비즈니스 로직을 관리/처리한다. 즉, 사용자의 요청에 대한 업무를 처리한다. DAO(Data Access Object) 등의 Java class View 사용자가 보게될 결과 화면을 담당한다. (레이아웃, 화면 처리 등) HTML, JSP Controller 사용자의 입력 처리와 흐름을 제어하고, 사용자에게 받은 명령을 model이나 view로 라우팅한다. 사용자로부터의 입력에 대한 응답으로 모델/뷰를 업데이트하는 로직을 포함한다. Servlet 동작 방식 사용자의 action들은 controller가 감지한다. Controller는 사용자의 action을 확인하고 model을 업데이트.. 2023. 4. 3. [프로그래머스 42860번] 조이스틱 + 테스트 케이스 문제 번호 탐욕법(Greedy) | 조이스틱(프로그래머스 42860번) 내용 조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다. ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA 조이스틱을 각 방향으로 움직이면 아래와 같습니다. ▲ - 다음 알파벳 ▼ - 이전 알파벳 (A에서 아래쪽으로 이동하면 Z로) ◀ - 커서를 왼쪽으로 이동 (첫 번째 위치에서 왼쪽으로 이동하면 마지막 문자에 커서) ▶ - 커서를 오른쪽으로 이동 예를 들어 아래의 방법으로 JAZ를 만들 수 있습니다. - 첫 번째 위치에서 조이스틱을 위로 9번 조작하여 J를 완성합니다. - 조이스틱을 왼쪽으로 1번 조작하여 커서를 마지막 문자 위치로 이동시킵니다. - 마지막 위치에서 조이스틱을 아래로 1번 .. 2021. 2. 23. 이전 1 2 3 4 다음