Skip to content

Java 프로그래밍의 주요 주제를 다루며 동시성 문제 해결과 병렬성을 얻기 위한 방법을 공부합니다.

Notifications You must be signed in to change notification settings

mjj111/MasteringJava

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 

Repository files navigation

Mastering Java

Java 프로그래밍의 주요 주제를 다루며 동시성 문제 해결과 병렬성을 얻기 위한 방법을 공부합니다. 아래는 학습 주제와 해당 패키지 구조를 정리한 내용입니다.


학습 주제

  1. 문자열과 수, 수학

    • 패키지: string_and_math
    • 문자열 처리 및 수학 관련 기능 구현 및 활용.
  2. 객체와 불변성

    • 패키지: object_and_immutability
    • 객체 지향 프로그래밍과 불변 객체 설계.
  3. 배열, 컬렉션, 데이터 구조

    • 패키지: collections_and_arrays
    • 배열과 컬렉션 프레임워크, 다양한 데이터 구조 학습.
  4. 자바 리플렉션

    • 패키지: reflection
    • 클래스, 인터페이스, 생성자, 메서드, 필드의 동적 분석과 활용.
  5. 함수형 프로그래밍

    • 패키지: functional_programming
    • 람다, 스트림 API, 함수형 인터페이스.
  6. 동시성

    • 패키지: concurrency
    • 멀티스레딩, 동시성 문제 해결, 동기화 기법.
  7. 옵셔널

    • 패키지: optional
    • Optional 클래스를 활용한 NullPointerException 방지.
  8. HTTP

    • 패키지: http
    • HTTP 요청과 응답 처리, 웹 통신.

테스트 코드 작성 방식

모든 테스트 코드는 직접 만든, AutoTester를 활용하여 작성되었습니다.
AutoTester는 특정 클래스의 모든 메서드를 Reflection을 통해 탐색하고, 각 메서드의 실행 결과를 자동으로 확인하는 구조로 설계되었습니다.

  • AutoTester는 테스트 대상 클래스의 메서드를 동적으로 호출하며, 예상 값과 실제 값을 비교해 결과를 출력합니다.
  • 테스트 실행 시 코드의 정확성은 물론 실행 시간도 자동으로 기록됩니다.

About

Java 프로그래밍의 주요 주제를 다루며 동시성 문제 해결과 병렬성을 얻기 위한 방법을 공부합니다.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages