21.05.07 기록

최대 1 분 소요

  • 스프링 입문을 위한 자바 객체 지향의 원리와 이해
    • 멀티 스레드(Multi Thread)와 멀티 프로세스(Multi Process)의 T 메모리 구조와 메모리 사용
    • Servlet은 요청당 프로세스일까? 요청당 스레드일까?
    • 멀티 스레드 환경에서 전역 변수를 사용했을 경우의 문제점과 보완
    • Thread 클래스의 run(), start(), join()


  • 백준 알고리즘 11022, 10871 풀이 완료

    • 10871 BufferedReader, StringBuilder, StringTokenizer 사용하여 푼 풀이
    import java.io.*;
    import java.util.StringTokenizer;
    
    public class B10871 {
    
        public static void main(String[] args) {
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            StringBuilder sb = new StringBuilder();
            StringTokenizer st;
    
            try {
                st = new StringTokenizer(br.readLine(), " ");
                int N = Integer.parseInt(st.nextToken());
                int X = Integer.parseInt(st.nextToken());
    
                st = new StringTokenizer(br.readLine(), " ");
                for(int i = 0; i < N; i++) {
                    int j = Integer.parseInt(st.nextToken());
                    if(j < X) {
                        sb.append(j).append(" ");
                    }
                }
    
                System.out.println(sb);
                br.close();
    
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    


  • 스프링 입문을 위한 자바 객체 지향의 원리와 이해 check!
    • 멀티 스레드(Multi Thread)와 멀티 프로세스(Multi Process)의 T 메모리 구조
      • 멀티 스레드(Multi Thread)
        스레드 개수만큼 스택 영역을 분할하여 사용한다.
        하나의 T 메모리 안에서 스택 영역만 분할 사용하기 때문에 멀티 프로세스 대비 메모리를 적게 사용할 수 있다.
      • 멀티 프로세스(Multi Process)
        다수의 T 메모리 구조를 갖는다.
        다수의 T 메모리 영역을 서로 침범할 수 없는 만큼 메모리 사용량이 크다.
    • 서블릿은 요청당 스레드이다. (스레드 효율 > 프로세스 효율)

    • 멀티 스레드 환경에서 전역 변수를 사용했을 경우 문제점과 보안
      문제점 - 쓰기 가능한 전역 변수일 경우 스레드 안정성이 깨진다.
      보완 - lock을 건다. ※’lock을 거는 순간 멀티 스레드의 장점은 버린 것과 같다.’ 라는데 왜???
    • Thread 클래스: Thread