자바기초5 15주차 : 람다식(Lambda) 람다식 사용법 함수형 인터페이스 Variable Capture 메소드, 생성자 레퍼런스 람다식이란? 람다식은 JDK 1.8부터 추가되었다. 람다식은 간단히 말해서 메서드를 하나의 식(expression)으로 표현한 것이다. 람다식은 함수를 간략하면서도 명확한 식으로 표현할 수 있게 해준다. 메서드를 람다식으로 표현하면 메서드의 이름과 반환값이 없어지므로, 람다식을 '익명함수' 라고도 한다. int[] arr = new int[5]; Arrays.setAll(arr, (i) -> (int)(Math.random()*5)+1); *(i) -> (int)(Math.random()5)+1); 위의 표현식이 람다식이다. 이 람다식이 하는 일을 메서드로 표현하면 다음과 같다. int method() { return.. 2021. 3. 14. 14주차 : 제네릭 제네릭 사용법 제네릭 주요 개념 (바운디드 타입, 와일드 카드) 제네릭 메소드 만들기 Raw Type Erasure 제네릭이란 제네릭은 다양한 타입의 객체들을 다루는 메서드나 컬렉션 클래스에 컴파일 시의 타입체크(compile-time type check)를 해주는 기능이다. 객체의 타입을 컴파일 시에 체크하기 때문에 객체의 타입 안정성을 높이고 형변환의 번거로움이 줄어든다. 타입 안정성을 높인다는 것은 의도하지 않은 타입의 객체가 저장되는 것을 막고, 저장된 객체를 꺼내올 때 원래의 타입과 다른 타입으로 잘못 형변환되어 발생할 수 있는 오류를 줄여준 다는 뜻이다. 제네릭의 장점 타입 안정성을 제공한다. 타입체크와 형변환을 생략할 수 있으므로 코드가 간결해 진다. 제네릭을 사용하는 이유 잘못된 타입이 사.. 2021. 3. 14. 2주차 주제 : 가비지 컬렉터의 개념과 동작원리 - 가비지 컬렉터의 기본 적인 구조와 동작원리 - 가비지 컬렉터의 full gc란 - java 8 가바지 컬렉터의 특징 - 가비지 컬렉터의 기본 적인 구조와 동작원리 GC를 이해하기 위해서는 JVM의 메모리 관리에 대해 알아야 한다. JVM에는 일반적으로 Young Generation / Old Generation 이라는 두가지의 물리적 공간이 존재한다. - Young Generation 영역 : 새롭게 생성한 객체가 위치한다. 많은 객체가 이 영역에 생성되었다 사라지며 이를 Minor GC라고 한다. - Old Generation 영역 : 접근불가능한 상태가 되지않아 Young 영역에서 살아남은 객체가 이 영역으로 복사된다. Young 영역보다 크게 할당되며 GC는 적게 발생한다. 이 영역에서 객체가 .. 2021. 3. 8. 1주차 : JVM은 무엇이며 자바 코드는 어떻게 실행하는 것인가. 자바 코드의 실행과정 먼저 자바코드의 실행과정 부터 살펴보자 1. 작성한 자바코드(*.java) 파일을 자바컴파일러(javac.exe)를 이용하여 바이트코드(*.class)로 변환한다. 2. 컴파일된 바이트코드(*.class)를 JVM의 클래스로더(Class Loader)에게 전달한다. 3. 클래스로더(Class Loader)는 동적로딩(Dynamic Loading)을 통해 필요한 클래스들을 로딩 및 링크하여 런타임 데이터 영역(Runtime Data Area)인 JVM 메모리에 올린다. 4. 실행엔진(Exection Engine)은 JVM 메모리에 올라온 바이트 코드(*.class)들을 명령어 단위로 하나씩 가져와서 실행한다. 이런 흐름이라는 것을 알아 두고 좀 더 자세히 짚어보자. 1. JVM이란 무.. 2020. 12. 26. 이전 1 2 다음