본문 바로가기

Language/Java2

[Java] 유데미(Udemy) Java 멀티스레딩, 병행성 및 성능 최적화(feat. 유데미 X 글또) 강의 링크: https://www.udemy.com/course/java-multi-threading/?couponCode=GENAISALE24 0. 서론 애플리케이션 서비스에서 멀티스레드를 사용하곤 하는데, 멀티스레드를 이용하면서 사용방법은 익혔지만, 좀 더 세밀하게 분석해봐야겠다 생각하였고 이를 위해 글또를 통해 유데미 강의를 신청하였습니다. 1. 강의 내용 정리 컨텍스트 스위치 하나의 스레드 실행을 멈추고 다른 스레드를 스케줄링한 다음 다시 실행하는 것이 컨텍스트 스위치입니다. 스레드 스케줄링 정적 우선순위 + 보너스 정적 우선순위는 개발자가 미리 설정 보너스는 운영 체제가 각각의 에포크마다 조절 멀티 스레드 하나의 프로세스가 여러 개의 스레드를 사용하도록 프로그램을 작성하는 방법 스레드 스레드 그.. 2024. 3. 27.
[Java] BigDecimal 사용하기 0. 서론 회사에서 결제와 관련된 도메인을 맡아서 작업하고 있습니다. 특히나 해외 결제에는 환율 적용, 화폐 단위(달러, 엔화 등)으로 인해 많은 소수점 처리를 하게 되는 것 같습니다. 본 포스팅을 통해 BigDecimal을 사용하는 이유와 개념, 사용법, 사용하다 겪은 주의사항을 간단하게 소개하고자 합니다. 1. double의 문제점 환율을 적용해서 가격을 계산하다보면 소수점이 굉장히 긴 연산을 하는 케이스가 많다. 아래 테스트 케이스처럼 굉장히 긴 소수점을 계산하는 케이스가 있는 경우도 생길 수 있다. 아래 테스트 코드는 통과를 할까? @Test @DisplayName("Double 계산") void double_test(){ double a = 100.0000000003; double b = 90... 2023. 12. 21.