본문 바로가기

개발자 랩실/스프링&스프링부트5

[Java] ThreadLocal 목차 ThreadLocal이란 ThreadLocal 사용 이유 ThreadLocal 사용 방법 ThreadLocal 유의 사항 1. ThreadLocal 이란 ThreadLocal은 자바의 class이다. 멀티스레드 환경에서 사용되는 스레드마다 독립적인 변수를 가져 접근할 수 있게 한다. 그래서 한 스레드에 의해 읽고 쓰여진다. 2. ThreadLocal 사용 이유 싱글톤 패턴의 사용이나 static 객체의 사용에서 볼 수 있는 동시성 문제를 해결하고자 사용을 한다. 싱글톤이나 static 객체는 메모리에 하나만 올라가기 때문에 여러 번 호출하게 되면 메모리에 올라간 인스턴스의 반환 값이 달라지는 문제가 있다. 3. ThreadLocal 사용 방법 ThreadLocal 객체를 생성한다. ThreadLoc.. 2022. 3. 4.
[Java] 싱글톤 패턴 목차 싱글톤 패턴이란 싱글톤 패턴 사용 이유 싱글톤 패턴 문제 1. 싱글톤 패턴이란 객체의 인스턴스가 오직 1개만 생성되는 패턴을 의미한다. 애플리케이션 실행 시 최초 1번만 올라가고, 더 이상 객체가 올라가지 않을 때 사용하는 패턴을 말한다. 스프링이나 스프링부트에서 Bean 어노테이션을 이용해 싱글톤 패턴으로 객체를 선언한다. 2. 싱글톤 패턴 사용 이유 최초 한번의 new 연산자를 통해 고정된 메모리 영역을 사용한다. 해당 객체에만 접근하기 때문에 메모리 영역의 낭비를 방지한다. 다른 클래스 간에 데이터 공유가 쉽다. 전역으로 인스턴스가 관리된다. 싱글톤 패턴 사용 : DBCP (Database Connection Pool), 로그 static 선언자를 이용한 싱글톤 패턴 public class T.. 2022. 2. 26.
[Java] :: 더블 콜론 사용 이유 목차 더블 콜론이란 더블 콜론 사용 예제 1. 더블 콜론이란 메소드 레퍼런스(Method Reference)라고 Lamda 표현식을 더 간단하게 표현하는 방법이다. 메소드 레퍼런스는 ClassName::MethodName형식으로 입력한다. 메소드를 호출하는 것이지만 괄호()는 써주지 않고 생략한다. 메소드 레퍼런스에는 많은 코드가 생략되었기 때문에 사용하려는 메소드의 인자와 리턴 타입을 알고 있어야 한다. 2. 더블 콜론 사용 예제 import java.util.Arrays; import java.util.List; public class ColonMain { public static void main(String[] args) { List names = Arrays.asList("복순이", "복돌이").. 2022. 2. 8.
[Java] DB Connection Pool (DB 커넥션 풀 / DBCP) 목차 1. WAS(Web Application Server)와 DB(Database; 데이터베이스)의 관계 2. Database Connection Pool (DB 커넥션 풀)이 필요한 이유 3. DB 커넥션 풀 설정 값과 설명 4. WAS의 Thread 수와 커넥션 풀(Connection Pool) 수의 관계 5. DB Connection Pool (DB 커넥션 풀) 관리 6. Java를 이용한 DB Connection Pool 선언 1. WAS(Web Application Server)와 DB(Database; 데이터베이스)의 관계 2. Database Connection Pool (DB 커넥션 풀)이 필요한 이유 WAS는 HTTP 요청에 따라 Thread를 생성하게 되고, 대부분의 비지니스 로직은 .. 2022. 2. 4.