Skip to content

조희승 3주차 학습일지

huiseung edited this page Jul 27, 2024 · 2 revisions

JVM

  • java, javac, javap

  • java.lang 패키지안 클래스는 자동 import

    • .class 파일을 lib/rt.jar 로 패키징되어 jre 설치시 받을 수 있다
  • static

    • class loader가
  • 표준 출력 파일 디스크립터 0, 표준 입력 파일 디스크립터 1, 표준 에러 파일 디스크립터 2

  • thread.start 시점

    • pissred system call 호출, 새 스레드 생성 후 실행
  • thread.run

    • 메인 스레드 에서 실행
  • 동적으로 필요할 때 마다 로딩

  • java9

    • module
      • javax 를 안 쓰게 됨ㄴ

Class Loader

  • Loading 클래스 사용 시점에 로딩(동적 로딩) Bootstrap ClassLoader Extension CalssLoader Application Class Loader 클래스패스에서 클래스들을 찾아 Class 객체를 만들어 메모리에 로딩
  • Linking
    • verify 클래스 파일의 이상 판단
    • prepare field 자료형에 기본값 메모리에 적재
    • resolve field 에 초기화한 값 할당
  • Initialization
    • static 블록 호출

jit 단점

  • 컴파일된 코드 보관용 메모리

GC

  • G1-GC
  • G2-GC
  • Serialize

Tomcat 이 http 요청을 받아 spring 에게 넘기기 까지

  • Tomcat main

    • Catalina start
    • StandardServer startInternal
    • StandardService startInternal
    • StandardEngine startInternal
    • Connector start
    • AbstractProtocol start
    • AbstractEndpoint start
    • NioEndpoint startInternal
  • NioEndpoint startInternal

    • NioEndpoint.Poller run
    • AbstractEndpoint startAcceptorThread
      • Acceptor run
  • NioEndpoint.Poller run

    • NioEndpoint.Poller events
    • NioEndpoint.Poller processKey
  • NioEndpoint.Poller events

    • SynchronizedQueue poll
    • PollerEvent getSocketWrapper
    • SocketChannel register
  • NioEndpoint.Poller processKey

    • AbstractEndpoint processSocket
      • Executor execute
        • NioEndpoint.SocketProcessor doRun
  • Acceptor run

    • AbstractEndpoint countUpOrAwaitConnection
    • AbstractEndpoint serverSocketAccept
    • NioEndpoint setSocketOption
      • Poller register
  • NioEndpoint.SocketProcessor doRun

    • AbstractProtocor.ConnectionHandler process
    • AbstractProcessorLight process
    • Http11Processor service
    • CoyoteAdapter service
    • StandardEngineValue invoke
    • StandardHostValue invoke
    • StandardWrapperValue invoke
      • ApplicationFilterChain doFilter
      • DispathcerServlet service
  • Http11Processor service

    • Http11InputBuffer parseRequestLine
      • Http11InputBuffer fill
        • SocketWrapperBase read
          • NioEndpoint.NioSocketWrapper read
            • SocketChannel read
    • Http11InputBuffer parseHeaders

    • Http11Processor endrequest

👼 개인 활동을 기록합시다.

개인 활동 페이지

🧑‍🧑‍🧒‍🧒 그룹 활동을 기록합시다.

그룹 활동 페이지

🎤 미니 세미나

미니 세미나

🤔 기술 블로그 활동

기술 블로그 활동

📚 도서를 추천해주세요

추천 도서 목록

🎸 기타

기타 유용한 학습 링크

Clone this wiki locally