본문 바로가기

분류 전체보기94

왜 Java 11을 사용하나요? 1. Java 11의 특징 특징 - lambda 파라미터에 지역변수(var) 표현가능 - Epsilon Garbege Collector : 할당을 처리하지만 메모리를 회수하지는 않습니다 메모리를 다 사용하면 OutOfMemory가 발생하고 JVM은 셧다운된다. 수명이 짧은 서비스와 가비지를 사용하지 않는 것으로 알려진 애플리케이션에 유용 - 모듈 : 모듈을 통해 애플리케이션에 필요한 구성 요소만 포함하는 런타임 구성을 사용자 지정가능 메모리 공간을 더 적게 사용 -> 특히 마이크로서비스 아키텍처에서 유용 모듈이 내보내는 패키지와 필요한 구성 요소를 명시적으로 선언하고 반사적 액세스를 제한 -> 강력한 캡슐화를 적용 - HTTP Client : Java 표준 HTTP 클라이언트 API. HTTP 통신을 위.. 2021. 5. 17.
Synchronous(동기)와 Asynchronous(비동기)는 무엇인가요? Synchronous(동기)와 Asynchronous(비동기)는 무엇인가요?? 1. 동기(Synchronous)란? 동기(synchronous)는 동시에 일아난다는 뜻으로, 요청과 동시에 그 결과가 나온다는 약속이다. 즉, 요청을 하면 요청에 대한 응답(결과)이 올 때까지 기다려야 한다. 일반적으로 메소드의 실행과 동시에 반환 값이 기대되는 경우를 동기 라고 표현한다. 그리고 결과 값이 반환되기 전까지 blocking 되어 있다는 것을 의미한다. ⇒ system call이 완료를 기다림2. 비동기(Asynchronous)란? 비동기(Asynchronous)는 동시에 일어나지 않는다는 의미로, 요청과 결과가 동시에 일어나지 않는다는 약속이다. 즉, 요청과 동시에 결과가 올 것을 기대하지 않으며 실행을 지속.. 2021. 5. 17.
Overriding과 Overloading 1. Overloading OverLoading은 함수의 다형성을 지원하기 위한 것입니다. 같은 이름의 메소드에 매개 변수의 타입이나 개수를 다르게 설정하여 동일한 기능을 처리할 ()수 있습니다. 예를 들면, Java의 System.out.println()의 메소드가 있습니다. 매개 변수의 타입이 int여도, String이여도 모두 같은 메소드를 호출하고 동일한 기능을 수행합니다. 이러한 다형성을 지원하는 것이 OverLoading 입니다. 2. Overriding Overriding은 부모 클래스로부터 상속받은 메소드를 자식 클래스에서 재정의 하는 것입니다. 객체 지향 프로그래밍에서 다른 클래스를 상속받는 경우가 많이 있고, 상속 받은 메소드를 그대로 사용하지 않고 수정해야 하는 경우도 있습니다. 이렇.. 2021. 4. 27.
Spring 이란? 1. 스프링이란? 스프링은 어렵고 복잡하며 느렸던 EJB의 문제점을 지적하며 등장한 오픈소스 애플리케이션 프레임워크입니다. Java 기반의 프레임워크로, 여러 기술들의 모음입니다. IOC, DI, AOP, POJO라는 큰 특징을 바탕으로 객체 지향언어의 특징을 살려, 좋은 객체 지향 애플리케이션을 개발할 수 있게 도와주는 프레임워크입니다.2. 스프링의 가장 큰 특징? - IOC(inversion of Control, 제어 역전) : 객체의 생명주기를 개발자가 아닌 컨테이터가 대신 해주는 것을 말한다. - DI(Dependency Injection, 의존성 주입) : 구성요소 간의 의존관계를 외부의 설정파일을 통해 정의하는 방식을 말한다. 모듈간의 결합도를 낮추고 코드의 재사용성을 높인다. - AOP(As.. 2021. 4. 27.