본문 바로가기

BackEnd/JAVA17

서블릿 컨테이너의 ServletContext 동작 방식 / HttpSession 서블릿 관련된 포스팅이 있어서 공부 후 기록했다.ServletContext 의 생성 및 Session의 클라이언트와 서버간 동작 방식과 소멸 등에 대한 내용을 담고있다. ServletContext서블릿 컨테이너(아파치 톰캣과 같은)가 시작되면, 해당 서블릿 컨테이너는 모든 웹 어플리케이션들을 배포하고 로드(load)합니다.웹 어플이케이션이 로드되면 서블릿 컨테이너는 ServletContext를 한번 생성하여, 서버의 메모리에 보관합니다.(각 웹 애플리케이션에 대해 서블릿 컨테이너는 해당 애플리케이션의 설정 파일인 web.xml 또는 애너테이션 기반 설정을 읽고 초기화 작업을 수행.) 애플리케이션 시작 시 생성:웹 애플리케이션이 처음 로드되고 초기화될 때 서블릿 컨테이너가 ServletContext 객체를.. 2025. 1. 20.
[JAVA] Thread pool 을 위한 ExecutorService 의 생성과 submit, shutdown Thread poolThread pool은 작업 처리에 사용되는 스레드를 제한된 개수만큼 정해 놓고 작업 큐(Queue)에 들어오는 작업들을 하나씩 스레드가 맡아 처리하는 것을 말한다. => 자원 효율성, 작업 처리 속도 향상(대기 중인 쓰레드 활용), 작업 제어(:동시 처리 가능한 개수 미리 지정)Java에서는 Thread pool 을 구현하기 위해 Executor 및 ExecutorService 인터페이스를 사용한다.  ExecutorService ExecutorService는 비동기 모드에서 작업 실행을 간소화하는 JDK API입니다. 일반적으로 ExecutorService는 스레드 풀과 작업 (Runnable, Callable) 할당을 위한 API를 제공합니다. Runnable  : 결과를 반환.. 2024. 11. 13.
[JAVA] Calendar 클래스 / 오늘 날짜 구하기 / 이번 달의 첫번째 날 / 이번 달의 마지막 날 / 현재로부터 과거까지 역순 데이트 리스트 출력 https://docs.oracle.com/javase/8/docs/api/java/util/Calendar.html Calendar (Java Platform SE 8 ) Adds or subtracts (up/down) a single unit of time on the given time field without changing larger fields. For example, to roll the current date up by one day, you can achieve it by calling: roll(Calendar.DATE, true). When rolling on the year or Calendar.YE docs.oracle.com 공식문서를 보고 필요한 부분을 번역해서 정리 했습니.. 2023. 5. 10.
[JAVA] POJO (Plain Old Java Object) 이글의 목차 What Is a POJO? 이상적인 POJO POJO를 지향하게 되다. Feat. EJB(Enterprise JavaBeans) POJO 프레임워크 POJO 기반의 코드인지 아닌지 확인하는 두 가지 기준 진정한 POJO란 Baeldung의 What is a POJO Class? 를 번역해서 정리한 글입니다. (구글링한 내용을 추가로, 이해하기 쉬운 순서로 편집했습니다. 항상 단어가 어렵네요~) https://www.baeldung.com/java-pojo-class#what-is-a-pojo 1. What Is a POJO? "a *straightforward type / with no references to any particular frameworks. A POJO has no nam.. 2023. 3. 7.
[JAVA] 콤마로 구분되어 저장된 String 데이터 List화 하기 List skillList = new ArrayList(); // DB에서 콤마로 구분된 String 조회. // 예시 : computer, network, OS String skills = jobApplyMapper.findSkiils(userId); if (skills != null) { // String 배열에 split 해서 담기 String[] skillsDatas = skills.split(","); // 반복문으로 list에 추가 for (int i = 0; i < skillsDatas.length; i++) { System.out.println(i); Map paramMap = new HashMap(); paramMap.put("skill", skillsDatas[i]); skillList.. 2023. 2. 21.
[JAVA] 클래스(class)와 생성자 Java의 기본 개념과 문법을 한번 더 정리했다. 1. class란 객체를 생성하기 위한 필드와 메소드가 정의되어 있는 곳으로, 클래스로부터 만들어진 객체를 해당 클래스의 인스턴스(instance)라고 한다. 그리고 클래스로부터 객체를 만드는 과정을 인스턴스화 라고 한다. 2. class 선언 사용하고자 하는 객체를 구상했다면 그 객체의 대표 이름을 하나 결정하고 이것을 클래스 이름으로 한다. "클래스이름.java"로 소스 파일을 생성한다. Car.java public class Car { } 두 개 이상의 클래스가 선언된 소스 파일을 컴파일 하면 바이트 코드 파일은(.class) 클래스를 선언한 개수 만큼 각각 생성된다. 다만, 파일 이름과 동일한 이름의 클래스 선언에만 public 접근 제한자를 붙일.. 2023. 1. 14.