풀링(Pooling)

Jan 28, 2024
풀링(Pooling)

[ 풀링 기술 (Object만 사용 가능) ]

주로 데이터베이스 연결이나 스레드를 관리하는 데 사용 리소스를 효율적으로 사용하고 성능을 향상시키는데 도움을 줍니다.
notion image
 

[ 데이터베이스 연결 풀링]

notion image
* 서버에 요청이 일어날 때 객체가 만들어진다.* 즉, 개발자들이 new를 할 수 있는 제어권이 없다는 뜻으로 object만 사용 가능하다.
notion image
notion image
수영장을 생각해보자. 여기서 튜브를 만드는 게 new하는 것이라고 생각 해보자. (메모리가 10mb라고 치고, 튜브1개당 1mb라고 치면 10개까지 가능(더하면 용량 모지람)) 꼬마가 2명 놀러와서 튜브를 2개 불었다. 그 친구들이 나가면 튜브의 바람을 뺀다. 또다른 꼬마가 5명 놀러오면? 다시 튜브 5개 불겠지.. 걔네 나가면 바람 빼겠지... 너무 번거롭게 계속 불고, 빼고 반복하겠지... 그러지 말고! 튜브 10개를 개장 전에 미리 만들어서 띄워놓고(static) 수영장 끝날 때까지 두면 된다! 그리고 튜브를 쓰던 꼬마가 가면 해당 튜브는 가비지 컬렉션이 되어서 정리된다. (튜브에 있는 꼬마(데이터)가 사라진거지, 튜브(주소 공간)은 그대로 남아 있음) 이게 풀링기술! (+ 튜브를 개장 전에 미리 띄어놓아야 해서(static을 써서) <T> 제네릭이 불가능한 것.)
💡
풀링은 자원을 재사용하는 기술로 데이터베이스 연결, 소켓 등의 리소스를 관리하는 데 사용되고, 스레드 풀은 스레드를 재사용하여 작업을 효율적으로 처리하는 기술
 

 
  • FileReader 클래스 : 파일을 읽어올 수 있음
 
Share article

codingb