Optional 클래스 개념 개념 import java.util.Optional; Optional 클래스는 Java8 버전 이후로 사용하는 클래스로 Integer나 Double 클래스처럼 'T' 타입의 객체를 포장해주는 래퍼 클래스이다. 따라서 Optional 인스턴스는 모든 타입의 참조 변수를 저장할 수 있다. Optional 객체를 사용하면 예상치 못한 NullPointerException 예외로 제공되는 메소드로 간단히 회피할 수 있다. 다시 말해서 복잡한 조건문 없이도 널(null) 값으로 인해 발생하는 예외를 처리할 수 있게 되는 것이다. 문법 Optional optional = Optional.empty(); System.out.println(optional); // Optional.empty..
Back-End 검색 결과
Template Engines 템플릿 엔진 정의 REST 웹 서비스뿐만 아니라 Spring MVC를 사용하여 동적 HTML 콘텐츠를 제공할 수 있다. Spring MVC는 Thymeleaf, Freemarker, JSP를 포함한 다양한 템플릿 기술을 지원한다. 여러 템플릿 엔진 중에서도 인기 많은 템플릿 엔진은 아래와 같다. FreeMarker Groovy Thymeleaf Mustache 이 4가지 중에서 내가 스프링부트를 공부하며 사용할 템플릿 엔진은 Thymeleaf 이다. Thymeleaf 타임리프는 View Template이라고 부르는데 뷰 템플릿은 Controller가 전달하는 데이터를 이용하여 동적으로 화면을 구성할 수 있도록 해준다. 기존에 사용하던 JSP는 많은 기능 및 전체적인 화면을 ..
스프링 부트 (Spring Boot) 스프링(Spring) 정의 스프링 부트를 공부하기 이전에 Spring에 대해 먼저 알아보자. 스프링이랑 자바 기반의 웹 어플리케이션을 만들 수 있는 프레임워크이다. spring.io 사이트에 보면 스프링 프레임 워크는 현대 자바 기반의 엔터프라이즈 어플리케이션을 위한 프로그래밍 및 Cofiguration Model 을 제공한다고 언급되어 있다. 스프링(Spring) 특징 스프링은 자바 객체와 라이브러리를 관리하며, 톰캣과 같은 웹 서버가 내장되어 있어서 자바 웹 어플리케이션을 구동할 수 있다. 스프링은 경량 컨테이너로 자바 객체를 직접 스프링 안에서 관리한다. 객체의 생성부터 소멸까지의 생명주기(Life cycle)을 관리하며 스프링 컨테이너에서 필요한 객체를 가져와..
람다 표현식 (Lambda Expression) 문법 Java 8에서 새롭게 등장한 람다 표현식에 대해 알아보자. 람다 표현식 (Lambda Expression) 나중에 한 번 이상 실행할 수 있게 전달하는 코드 블록을 뜻한다. 람다 표현식 문법 (String first, String second) -> first.length() - second.length() ▶ 매개 변수가 없는 경우 // 매개변수가 없는 메서드처럼 빈 괄호를 붙여야 한다. Runnable task = () -> { for (int i = 0 ; i first.elngth() - s..
쓰레드 (Thread)와 멀티 쓰레드(Multi Thread) 먼저 쓰레드의 기본 개념부터 알아보자. 쓰레드 (Thread) 쓰레드는 어떤 프로그램 또는 프로세스 내에서 실행되는 흐름의 단위를 말한다. 일반적으로 하나의 프로그램은 하나의 쓰레드를 가지고 있지만, 프로그램 환경에 따라 두 개 이상의 쓰레드를 동시에 실행할 수 있다. 두 개 이상의 쓰레드를 실행하는 방식을 멀티 쓰레드(Multi Thread) 라고 하는 것이다. 멀티 쓰레드 (Multi Thread) 우리가 Ctrl + Alt + Delete 를 누르면 뜨는 팝업창의 작업관리자 탭을 보면 프로세스에 올라와 있는 어플리케이션 하나를 하나의 프로세스라고 부른다. (ex. Chrome) 크롬을 실행하면 운영체제(OS)로부터 필요한 메모리를 할당받..
java.lang.StringBuilder 사용방법 StringBuilder 와 StringBuffer 는 흔히 사용하는 String 과 같이 문자열을 다루는 클래스이다. String String은 immutable(불변), StringBuffer는 mutable(변함)이다. String은 문자열을 대표하는 것으로써 문자열을 조작하는 경우에 유용하게 사용할 수 있다. 또한 String 객체는 한번 생성되면 할당된 메모리 공간이 변하지 않는다. String str = "Hello "; str = str + "World!"; str 변수에 "Hello" 가 "Hello World!" 값으로 변경되는데 새로운 메모리 영역을 가리키게 변경되고 "Hello" 는 Garbage 로 남아있다가 GC(Garbage C..
최근댓글