본문 바로가기

JAVA31

JVM은 무엇이며 자바 코드는 어떻게 실행하는 것인가 github.com/whiteship/live-study/issues/1 1주차 과제: JVM은 무엇이며 자바 코드는 어떻게 실행하는 것인가. · Issue #1 · whiteship/live-study 목표 자바 소스 파일(.java)을 JVM으로 실행하는 과정 이해하기. 학습할 것 JVM이란 무엇인가 컴파일 하는 방법 실행하는 방법 바이트코드란 무엇인가 JIT 컴파일러란 무엇이며 어떻게 동작하는지 JV github.com JVM이란 무엇인가 Java Virtual Machine(JVM)은 운영체제에 상관없이 자바 프로그램을 실행하기 위한 가상 머신이다. 컴파일 하는 방법 실행하는 방법 1 2 3 4 5 6 7 8 package hello; public class Main { public static .. 2020. 11. 17.
Interface default methods Java8부터 인터페이스에서 default 메서드를 만들 수 있게 되었다. 1 2 3 4 5 6 7 8 public interface Bird { void speak(); default void fly() { System.out.println("fly"); } } Colored by Color Scripter cs 가령 새라는 인터페이스를 만들고 fly라는 default method를 생성하면 구현체에서 fly를 구현하지 않더라도 사용할 수 있다. 1 2 3 4 5 6 7 8 9 public class Pigeon implements Bird{ @Override public void speak() { System.out.println("gugugu"); } } Colored by Color Scripte.. 2020. 10. 19.
Java8 Function Java8 Lamda 인자 -> { 바디 } 인자 인자가 없으면 (), 인자가 있으면 (foo, foo2...) 인자는 컴파일러가 추론 가능 바디 화살표 오른쪽에 사용 내용이 한줄이면 {} 생략가능 함수형 인터페이스 1. Function T타입을 받아 R타입 리턴 기본 사용 apply 조합을 위해 사용할때는 andThen compose apply 1 2 3 4 5 6 7 8 9 10 11 public class App { public static void main( String[] args) { Function plus = (i) -> i + 2; System.out.println(plus.apply(10)); // 12 } } Colored by Color Scripter cs andThen 1 2 3.. 2020. 10. 18.
Garbage Collection Java는 명시적 메모리 할당은 가능하지만 명시적 해제는 할 수 없음 Heap 메모리 특정 오브젝트를 삭제 알고리즘에 의한 자동 수행 GC(Grrbage Collection) 특성상 Application 수행이 정지되는 Stop the world 이 발생. 1. Hotspot JVM에서 발생하는 GC의 종류 Minor GC : Young Generation에서의 GC : 빈번하게 발생. GC에 의한 Suspend 현상이 짧게 발생함. Full GC (Major GC) : Old Generation, Perm Area의 GC 수행 어플리케이션 수행에 많은 영향. GC에 의한 Suspend 현상이 길게 나타남. 2. Garbage Collection 대표적인 GC 중 Seraial, Parallel Coll.. 2020. 9. 4.