본문 바로가기
  • soobinhand의 기술 블로그
728x90

도서/자바 프로그래밍 언어 - James Gosling22

[자바 프로그래밍 언어] 14장 스레드 14.1 스레드 생성 컴퓨터에서 한 번에 하나씩 순서대로 실행되는 것을 스레드라고 한다. 단일 스레드 프로그래밍 모델은 대부분의 프로그래머들이 사용하는 방식이다. 은행 직원이라고 볼 수 있는 스레드는 다른 스레드와는 독립적으로 업무를 수행할 수 있다. 그리고 두 명의 은행 직원이 같은 서류 캐비닛을 사용할 수 있는 것처럼 스레드도 객체를 서로 공유할 수 있다. 이를 멀티 스레드라고 한다. 스레드를 생성하기 위해서는 가장 먼저 Thread 객체를 생성해야 한다. Thread worker = new Thread(); start 메소드는 Thread 객체의 데이터를 기반으로 새로운 스레드를 만든 후, 이를 반환한다. 그러면 가상 머신은 스레드의 run 메소드를 호출하여 스레드를 동작시킨다. start 메소드는.. 2022. 1. 3.
[자바 프로그래밍 언어] 13장 문자열과 정규 표현식 13.1 문자 시퀀스 String 객체는 불변성을 가지고 있기 때문에 문자열이 변경될 수 있다면 StringBuilder 클래스를 사용해야 한다. public char charAt(int index) 현재 시퀀스에서 지정된 index에 있는 char를 반환한다. public CharSequence subSequence(int start, int end) start부터 end까지로 구성된 시퀀스의 char값을 포함하는 CharSequence를 새로 생성해서 반환한다. 13.2 String 클래스 문자열은 불변성을 가진 문자 시퀀스이다. 그래서 문자열은 생성된 이후에는 절대 변경할 수 없다. indexOf 메소드의 오버로드 메소드들은 문자열의 앞에서부터 검색을 시도하고 lastIndexOf 메소드의 오버로드.. 2022. 1. 2.
[자바 프로그래밍 언어] 12장 예외와 검증 12.1 예외 타입 생성하기 예외는 코드를 어지럽게 하지 않으면서도 오류를 깔끔하게 검사하는 방법을 제공한다. 또한 자바의 예외는 간접적으로 오류 발생 여부를 알아내는 필드를 검사하는 방법이 아닌 직접적으로 오류 발생을 알아내는 방법을 제공하고 있다. 예외는 예상하지 못한 오류가 발생했을 때 던져진다. 그리고 이 예외는 오류를 발생시킨 메소드를 감싸고 있는 예외 처리 코드에 의해 잡힌다. 만약 예외가 잡히지 않았다면 프로그램은 종료된다. 예외는 객체이며 모든 예외 타입은 Throwable 클래스나 이 클래스의 서브 클래스를 확장해야 한다. 자바의 예외는 대부분이 검증된 예외이다. 새로 작성하는 예외들을 검증된 예외로 만들기 위해서는 Exception을 확장해야만 한다. 이렇게 생성된 검증된 예외는 라이브.. 2021. 12. 31.
[자바 프로그래밍 언어] 11장 제네릭 타입 11.1 제네릭 타입 선언 포괄적인 참조로 Object를 사용하는 것은 위험하다. 특정 타입의 요소를 저장할 수 있는 클래스를 각각 만드는 것은 비효율적이며 중복된 코드를 산출하게 만든다. 어떤 종류의 객체라도 저장할 수 있으며 저장되는 타입에 따라 메소드의 반환 타입과 매개변수 타입이 정해지는 클래스를 작성하는 것이 좋다. 이것이 제네릭 타입이 만들어진 이유다. Cell클래스를 Cell 클래스로 다시 작성하였으며 E의 Cell이라고 읽는다. E는 Cell 객체를 저장할 수 있는 요소 타입을 나타낸다. Cell의 제네릭 버전에서 E는 이전 Cell에서 Object를 사용했던 곳에는 어디든지 사용할 수 있다. E는 타입 변수라고 하며, 요소의 약자이다. 편의상, 타입 변수들은 단일 문자 이름을 가진다. 요.. 2021. 12. 31.
728x90