컴파일 오류
프로그램 코드 작성 중 발생하는 문법적 오류
실행 오류
실행 중인 프로그램이 의도하지 않은 동작을 하거나(버그) 프로그램이 중지되는 오류
-> 예외 처리를 통해 프로그램의 비정상적 종료를 막고 로그를 남길 수 있다
오류와 예외 클래스
- 시스템 오류(Error) : 가상 머신에서 발생하며 프로그래머가 처리할 수 없음, 동적 메모리가 없는 경우엔 스택 오버 플로우 등이 해당
- 예외(Exception) : 프로그램에서 제어 가능, 읽어 들이는 파일이 존재하지 않는 경우, 네트워크 연결이 끊어진 경우 등
try-with-resources
- 자바 9부터 외부 선언 변수를 대입해주는 기능 추가!
자바 I/O
- 한글은 InputStreamReader로 입력하기
- Socekt.getInputStream : Socket에서 데이터 읽어오기, 바이트 스트림으로 한글 읽기 불가
직렬화
직렬화하고 싶지 않은 값은 transient로 변수 제외 가능
Externalizable : 읽고 쓰는 방식의 직접 구현 가능
Thread
- Runnable : thread가 cpu를 점령할 수 있는 상태
- 스케줄링 : cpu에 스레드를 배분하는 것
join()을 건 스레드는 not runnable 상태에 빠졌다가 다른 스레드 종료시 runnable로 복귀해 작동 시작
wait() 어떤 스레드가 필요한 자원을 배분받지 못할 때
동기화