본문 바로가기

Coding/Java 3

[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.
[JAVA] Collections framework (array, list, set...) Collection, Collections framework Collection Vector class처럼 객체의 집단을 표현하기 위한 객체이다. 쉽게말해 데이터의 집합을 표현하는 객체이다. Collections framework 이러한 여러 collections들을 표현하고 관리하기 위해 표준화된 구조이다. 이는 동작의 효율을 높이고 프로그래밍의 수고로움을 덜어준다. Collections framework의 장점 요약하자면 프로그램의 동작 효율성을 높이고, 프로그래밍을 쉽게 도와주는 기능을 한다. 장점 = High performance + Low programming effort 인 셈이다. 프로그래밍의 용이함 (Reduces programming effort) 데이터 구조(data structure).. 2021. 2. 19.