본문 바로가기

부트캠프35

11.16 기술면접 준비 질문을 정하고 대답하는 모의면접시간을 가졌다. 내가 정했던 질문은 클래스와 객체에대한 설명, OOP에대한 설명, 자바의 메모리 구조에대한 설명이었다. 나름 머리속에선 자신 있었는데, 실제로 설명해보려니 버벅거렸고, 또박또박 말하기 조차 힘들었다. 설명할줄알아야 진짜 아는것이고 실제로 코드로 옮길줄 알아야 진짜 아는것이다. 복습하자. 2022. 11. 16.
11.15 Thread2 ㅇ Thread 동기화 멀티 스레드 프로세스의 경우 두 스레드가 동일한 데이터를 공유하게 되어 문제 발생가능함. 두 스레드간에 객체가 공유되기 때문에 발생하는 오류를 발생하지 않게 하는 것이 스레드 동기화. ㅇ 임계영역&락 임계영역은 오직 하나의 스레드만 코드를 실행할 수 있는 코드 영역을 의미함. 락은 임계영역을 포함하고 있는 객체에 접근할 수 있는 권한 스레드A가 임계영역내의 코드를 실행할땐 다른 스레드들은 락이 없기때문에 A가 모두 실행하면 다른스레드가 락을 획득하여 코드를 실행할 수 있다. ㅇ 동기화 하는 방법 1. 메서드 전체를 임계 영역으로 지정하기 메서드의 반환 타입 좌측에 synchronized 키워드를 작성해 지정가능. public synchronized boolean withdraw(i.. 2022. 11. 16.
11.15 스레드1, JVM ㅇ Thread 어떤 애플리케이션이 실행되면 운영체제가 해당애플리케이션에 메모리를 할당해주고 애플리케이션이 실행되는데, 실행중인 애플리케이션을 프로세스라고 함. 프로세스 내에서 실행되는 소스 코드의 실행 흐름을 스레드라고 함. ㅇ 프로세스와 스레드 프로세스 - 실행중인 애플리케이션 프로세스는 데이터, 컴퓨터 자원, 스레드로 구성됨. 스레드는 데이터와 애플리케이션이 확보한 자원을 활용하여 소스 코드를 실행함. 스레드 - 하나의 코드 실행 흐름 ㅇ 메인 스레드 자바에서 가장 먼저 실행되는 메서드는 main메서드이다. 메인 스레드가 main 메서드를 실행시킨다. 메인스레드만 가지는 싱글스레드 프로세스, 메인스레드에서 다른 스레드 생성해 실행하면 멀티 스레드 ㅇ 멀티 스레드 하나의 프로세스는 여러개의 스레드를 .. 2022. 11. 16.
11.14 Annotation, Lambda, Stream ㅇ Annotation 주석이라는 뜻. 하지만 우리가 썼던 // , /* */ 같은 comment는 사람에게 정보를 전달하는것이고, Annotation은 프로그램에게 정보를 전달한다. ㅇ 표준어노테이션 @Override - 오버라이딩하는데 실수하면 컴파일러가 알려준다. @Deprecated - 새로운것으로 대체될때 기존의 것을 사용하지 않을 것을 권장할때 사용한다. @SuppressWarnings - 컴파일 경고메시지 나타나지 않게 함. @FunctionalInterface - 함수형 인터페이스의 선언이 바르게 됐는지 확인한다. ㅇ 메타 어노테이션 @Target - 어노테이션을 적용할 대상들을 지정함. @Documented - 어노테이션에 대한 정보가 javadoc으로 작성한 문서에 포함되게함. @Inh.. 2022. 11. 14.