본문 바로가기
IT/TIL

2022년 12월 15일 TIL

by 공부하는개미 2022. 12. 15.

한 것

공부 및 독서

[✅] TIL 작성

[A][✅] 도서관 가기 => 눈이 너무 와서 카페로 변경

[A][] 백준 문제 1개(1966번) 풀고 블로그에 정리 => 링크

[A][] Dispatcher Sevlet 직접 구현해보기(진행 중) => 링크

=> [] 블로그 글 내용 보완하기

=> [] Tomcat과 Spring MVC 동작 과정 관련 블로그글 작성 => 링크

[A][] 자바의신 공부 및 내용 정리(638p ~ 660p)

[A][] 성공과 실패를 결정하는 1%의 네트워크 챕터 독서 및 내용 정리(315p ~ 326p)

[A][] Spring Security JWT 관련 내용 블로그에 정리(매일매일 꾸준히 작성 중) => 링크

[B][] 타이탄의 도구들 책 2시간 독서

[B][] 타이탄의 도구들 책 읽고 글 작성

[B][] 자바 constant pool과 string pool에 대해 찾고 블로그 글 작성

[C][] 1일 1커밋 & 푸쉬

 

 

 

운동

[A][✅] 헬스장 가기

[A][✅] 헬스장에 가서 가슴운동

[A][✅] 헬스장에서 천 고개 계단 500m

[C][] 만보 걷기

 

 

기타

[A][✅] 아침 긍정 확언

[A][] 아침 5분 일기 작성

[A][] 저녁 5분 일기 작성

[B][✅] 명상 10분

[B][] 발성연습

 

 

 

❓ 오늘의 질문, 배운 것

[자바] Hashtable 클래스가 쓰레드에 안전하게 개발되었다는 말이 무슨 의미인지

  • Hashtable의 모든 Data 변경 메소드는 Syncronized로 선언되어있습니다.
    즉 메소드 호출 전 쓰레드간 동기화 락을 통해 멀티 쓰레드 환경에서 Data의 무결성을 보장해줍니다.
  • 반대로 HashMap은 그런 선언이 없기 때문에 멀티 쓰레드에서 여러 쓰레드가 동시에 객체의 Data를 조작하는 경우
    Data가 깨져버리고 심각한 오류가 발생할 수 있습니다.
  • 다만 이 동기화 락이 매우 느린 동작이기 때문에 Hashtable 보다 HashMap이 훨씬 빠릅니다.
    Map 객체가 단일 쓰레드에서만 쓰일때는 HashMap을 사용해야 합니다.
  • 프로그래밍상의 편의성 때문에 멀티쓰레드 환경에서도 Hashtable을 쓰기 보다는 HashMap을 다시 감싸서
    Map m = Collections.synchronizedMap(new HashMap(...));
    과 같은 형태가 최근에는 더 선호된다고 합니다.

 

 

 

📣 피드백

  • 오전에는 낭비한 시간이 꽤 되었지만 오후에는 카페에가서 시간을 효율적으로 사용했다.
  • 알바 시간 외에 시간을 더 효율적으로 사용하자.
    => 05:00 일어나서 헬스장 출석 후 운동
    => 알바 시간 외에는 최대한 밖에서 집중도있게 공부

 

 

오늘 공부 시간 인증

  • 타이머 앱을 사용해서 시간을 측정해서 해당부분 캡처 인증
반응형