Java 82

(더 자바) 자바에서 제공하는 함수형 인터페이스

* 개인적인 공부를 위해 인프런에 있는 백기선님의 강의를 정리하는 글입니다. https://www.inflearn.com/course/the-java-java8/dashboard 더 자바, Java 8 - 인프런 | 강의 자바 8에 추가된 기능들은 자바가 제공하는 API는 물론이고 스프링 같은 제 3의 라이브러리 및 프레임워크에서도 널리 사용되고 있습니다. 이 시대의 자바 개발자라면 반드시 알아야 합니다. 이 www.inflearn.com 이거 역시 람다식으로 표현이 가능하다 compose는 뒤의 괄호 안에 있는 명령을 먼저 실행 시키고 그 결과를 함수에 대입시킨다. andThen은 앞의 결과와 괄호 안의 결과를 결합시킨다. * 다른 표현식들은 아래에서 확인 가능 https://docs.oracle.co..

Java/Java 8 2021.08.04

(더 자바) 함수형 인터페이스와 람다

* 개인적인 공부를 위해 인프런에 있는 백기선님의 강의를 정리하는 글입니다. https://www.inflearn.com/course/the-java-java8/dashboard 더 자바, Java 8 - 인프런 | 강의 자바 8에 추가된 기능들은 자바가 제공하는 API는 물론이고 스프링 같은 제 3의 라이브러리 및 프레임워크에서도 널리 사용되고 있습니다. 이 시대의 자바 개발자라면 반드시 알아야 합니다. 이 www.inflearn.com 함수형 인터페이스와 람다 표현식 소개 함수형 인터페이스를 사용하는 이유? -> 간단하게 말해 람다식을 사용하기 위해 람다식을 사용하는 이유? -> 익명 클래스를 간단하게 사용 (람다식을 이용하면 코드의 양이 적어지는 장점이 있다) 줄이는 과정을 보자 1. new Run..

Java/Java 8 2021.08.04

JIT 컴파일 (1주차)

JIT는 Just In Time의 약자이다. 프로그래밍에서 고급언어 (사람이 이해하는 코드)를 기계어로 변환하는 방법은 크게 컴파일 방식과 인터프리터 방식이 있다. 컴파일 방식 : 소스 코드 전체를 기계어로 변환 (통역사가 말을 듣고 이해한 후 나에게 한글로 전달해줌) 인터프리터 방식 : 소스 코드를 런타임시 한 줄 한 줄 변환 (통역사가 그 자리에서 실시간 번역) https://youtu.be/9sSxdhYGYSM 니콜라스가 잘 설명해주는 것 같아 첨부한다. 자바는 독특하게 두개의 방식을 같이 쓰는데 이건 딱 봐도 비효율적인 면이 있다. * 고급언어 -> 바이트 코드 (컴파일 방식 사용) * 바이트 코드 - > 기계어 (인터프리터 방식 사용) 그래서 도입된게 JIT 방식으로 JIT 컴파일러는 한 번 읽..

Java/스터디 2021.08.01

바이트 코드란 무엇인가? (1주차)

바이너리코드 vs 기계어 vs 바이트 코드 바이너리코드 - 컴퓨터가 이해할 수 있는 0과 1로 구성된 이진 코드 기계어 - 0과 1로 이루어져 있는 바이너리코드 (But 바이너리코드 != 기계어, 기계어는 바이너리코드로 이루어져 있을 뿐임) - 특정 언어가 아니라 CPU 제조사에서 지정한 명령어 집합 *CPU가 바뀌면 기계어 역시 바뀔 수 있다. 바이트 코드 - 가상 머신이 이해할 수 있는 0과 1로 구성된 이진 코드 - 사람이 이해할 수 있는 코드에서 가상머신이 이해할 수 있도록 한 번 컴파일 한 코드 - 바이트 코드는 JIT 컴파일러를 통해 바이너리 코드로 변환된다. * 참고한 블로그 https://shrtorznzl.tistory.com/82 바이트코드와 바이너리 코드의 차이는 무엇일까? C언어는 ..

Java/스터디 2021.08.01

JVM이란 무엇인가 & 구성 요소 (1주차)

https://youtu.be/peEXNN-oob4 1. JVM이란 무엇인가? 바이트 코드를 컴파일하는 자바 가상 머신이다. 독립적으로 동작하기 때문에 모든 OS에서 호환된다. * 아래 블로그에서 참고해 작성했습니다. https://gbsb.tistory.com/2 자바의 구동 원리와 JVM(Java Virtual Machine) 자바 프로그램의 구동 원리 소스코드를 작성한다. (.java 확장자의 소스 파일) 컴파일러(javac.exe)가 바이트코드로 변환한다. (.class 확장자의 클래스 파일) 런처(java.exe)로 자바 가상 머신 gbsb.tistory.com

Java/스터디 2021.07.26