[JAVA] 타임존 알아보기 Instant, LocalDateTime, ZonedDateTime
·
스터디/JAVA
목차   1. GMT, UTCGMT영국에 있는 그리니치 천문대 (경도 0도)를 기준으로하는 태양 시간쉽게 좌우로 15도씩 1시간 차이를 나타내며 동쪽으로 +1시간씩 서쪽으로는 -1시간 현재 한국은 동쪽으로 약 135도에 위치해있으며 GMT 기준으로 9시간이 차이가 난다.그래서 보통 한국의 타임존은 GMT+09:00으로 표현된다.UTC지구의 자전주기의 흐름이 점점 늦어지고 있는 문제를 해결하기 위해 나온 시간대이다.소프트웨어를 사용할 때에는 UTC가 더 정확하다. 2. InstantInstant는 1970년 부터 현재 시간까지를 계산한 nano초 동안의 시간이며 하나의 순간을 나타냅니다.대부분의 로직과 데이터들은 UTC와 같은 정확한 시간으로 계산되어야 하므로 자주 사용하는 클래스입니다.public cla..
[Java] Optional<T> 클래스:: 자바에서 Null을 처리하는 방법
·
카테고리 없음
Java8에서 부터 Optional 클래스를 지원한다. NPE란? optional을 알아보기전에 npe는 null point exception의 줄인말로 개발할 때 자주 볼 수 있는 예외이다. 이러한 npe가 발생하는 것을 방지하기 위해 Null 검사하는 로직을 추가해주는데 그렇게되면 코드가 길어지고 복잡해질 수 있다. 따라서 null 값을 체크해주기 위해 optional 을 사용한다. Optional이란? Java8에서 Optional 클래스를 사용해서 npe(null point exception)을 방지할 수 있도록 해준다. option는 null이 올 수 있는 값을 감싸는 wrapper 클래스로, 참조하더라도 npe가 발생하지 않도록 도와준다. Optional 클래스는 아래와 같이 value에 값을..
[JAVA] 자바 예외 처리 (Exception)
·
스터디/JAVA
자바 프로그램 컴파일시 발견하지 못하는 에러를 Runtime error 라고 한다. 이때 발생하는 에러를 어떻게 처리할지 개발자가 예외 처리로 핸들링 할 수 있다. 예외 처리 1. try catch 구문 예외가 발생했을 때 try ~ catch ~ finally 구문으로 예외를 처리하거나 throw로 메소드를 호출한 곳으로 던질 수 있다. 한 가지 중요한 점은 자바에서 모든 예외는 Exception 이라는 클래스를 상속받는다. Exception : 컴파일 시 발생 (일반예외) RuntimeException : 프로그램 실행 시 발생 (실행예외) Exception의 상속 트리구조는 아래와 같다. 예외 처리하는 방식은 아래와 같다. try { //로직 수행 구문 }catch(Exception e){ //Ex..
[Spring] 싱글톤 패턴 (Singleton pattern)
·
스터디/Spring
1. 싱글톤 패턴이란 (Singleton pattern) 소프트웨어 디자인 패턴에서 싱글톤 패턴을 따르는 클래스는 , 생성자가 여러 차례 호출되더라고 실제로 생성되는 객체는 1개이고 최초 생성 이후에 호출된 생성자는 최초의 생성자가 생성한 객체를 리턴한다. Why? 싱글톤 패턴을 왜 사용할까? 만약 DI 컨테이너가 매번 클라이언트에서 요청이 들어올때마다 각 로직을 담당하는 오브젝트를 생성한다고 가정해보자. 요청이 엄청 많은 트래픽 사이트에서는 계속 객체를 생성하게되어 메모리 낭비가 심해지고 서버가 감당하기 힘들어진다. 그래서 싱글톤 패턴을 사용한다! 2. 싱글톤 패턴 구현 2-1. DI Container AppConfig appConfig = new AppConfig(); // 호출 할 때마다 다른 객체..
[Spring] Spring Container, BeanFactory 그리고 ApplicationContext
·
스터디/Spring
스프링에서 가장 중요한 개념인 Container, BeanFactory 그리고 ApplicationContext 에 대해서 알아보고자 한다. 스프링에서 BeanFactory 와 ApplicationContext는 IoC Container 역할을한다. Spring Container 스프링에서 DI를 이용하여 애플리케이션을 구성하는 여러 빈들의 생명주기와 애플리케이션의 서비스 실행등을 관리하며 생성된 인스턴스들에게 기능을 제공하는 것. 컨테이너에 적절한 설정만 있으면 프로그래머의 개입 없이 작성된 코드를 컨테이너가 빈을 스스로 참조한 뒤 알아서 관리한다. 스프링 컨테이너는 주로 BeanFactory와 ApplicationContext 두 가지로 다룬다. *빈(Bean) : 스프링이 제어권을 갖고 직접 생성 ..
[JAVA] Primitive Type 과 Wrapper Class
·
스터디/JAVA
💡기본형과 참조형 JAVA의 변수는 기본적으로 기본형(Primitive Type)과 참조형(Reference Type)으로 나눌 수 있다. 기본형으로는 short, int, long, float, double, byte, char, boolean 으로 8가지가 있다. 1. 기본형(Primitive Type) - 모두 첫 글자가 소문자 - 산술 연산이 가능하다. - Null로 초기화 할 수 없다. 2. 참조형(Wrapper Class) - 모두 첫 글자가 대문자 - 산술 연산 불가능 - Null 사용이 가능하다. - DB와 연결시 DTO 객체에 Null이 필요한 경우 사용할 수 있다. 기본형은 변수의 값을 그대로 저장한다. 참조형은 객체의 레퍼런스를 저장한다. 참조형에는 객체가 할당되어야하는데 기본형과 달..