2025/07/01 3

자바 메모리 구조

□ JVM 실행 순서 .java → .class → 메모리(ClassLoader → 런타임 영역) .java 파일을 컴파일러를 통해 바이너리 형태인 .class 파일로 변환.class 파일을 JVM 의 ClassLoader에게 보낸다.ClassLoader에서 클래스 파일을 JVM 런타임 영역으로 로드하여 메모리에 올린다. □ JVM의 런타임 영역 - 메모리 영역들을 실행 시점(runtime)에 구성 - JVM은 OS로 부터 메모리를 할당 받고, 할당 받은 메모리를 자바 프로그램에 맞게 여러개의 영역으로 나누어 사용한다.public class Memorys { public static int number = 0; // static 변수 [Static 메모리] String str = ""; ..

JAVA 2025.07.01

[MYSQL] SQL의 논리적 실행 순서 예외(GROUP BY, HAVING)

□ 일반적으로 SQL에서 논리적 실행 순서는 아래와 같다.FROMWHEREGROUP BYHAVINGSELECTORDER BYLIMIT□ 다만, 최적화와 구현상 처리를 위해 예외를 둔 경우가 있음. B.3.4.4 Problems with Column AliasesAn alias can be used in a query select list to give a column a different name. You can use the alias in GROUP BY, ORDER BY, or HAVING clauses to refer to the column: ※ 예외가 있다고 하더라도 여전히 where 절에서는 select의 alias가 계산되지 않기때문에 위 예외가 적용되지 않는다....Standard SQL..

SQL 2025.07.01

[MYSQL] 날짜를 계산하는 주요 함수

□ DATEDIFF(date1, date2) - 두 날짜 간의 '日' 차이 - 식 : date1 - date2 - 리턴값 : 정수 'DAY'SELECT DATEDIFF('2025-07-01', '2025-06-28') -- 3 □ TIMESTAMPDIFF(unit, datetime1, datetime2) - 두 날짜 간의 unit 차이 - unit 종류 : SECOND, MINUTE, HOUR, DAY, MONTH, YEAR - 리턴값 : 정수SELECT TIMESTAMPDIFF(DAY, '2025-01-01', '2025-01-10'); -- 9 □ DATE_ADD(date, INTEVAL n unit) - 특정 unit 만큼 날을 더함SELECT DATE_ADD('2025-07-01', ..

SQL 2025.07.01