
기본 타입과 박싱된 기본 타입 중 하나를 선택해야 한다면 가능하면 기본 타입을 사용하라. 🔎 기본타입과 박싱된 기본 타입 자바의 데이터 타입은 크게 기본 타입과 박싱된 기본 타입으로 나눌 수 있다. 각각의 기본 타입에는 대응하는 참조 타입이 하나씩 있으며, 이를 박싱된 기본 타입이라고 한다. 예를 들어, 기본 타입의 int, double, boolean이 있으면 이에 대응하는 박싱된 기본 타입은 Integer, Double, Boolean이다. int - Integer double - Double boolean - Boolean long - Long ... 🔥 차이점 기본 타입과 박싱된 기본 타입은 오토박싱과 오토언박싱 덕분에 두 타입을 크게 구분하지 않고 사용할 수는 있다. 그럼에도 불구하고 크게 3가..

float과 double을 BigDecimal, int, long으로 대체해라 ❓ float와 double의 문제 float과 double 타입은 과학과 공학 계산용으로 설계되었다. 이진 부동소수점 연산에 쓰이며, 넓은 범위의 수를 빠르게 정밀한 '근사치'로 계산하도록 설계되었다. 따라서 금융 관련 계산처럼 정확한 결과가 필요할 때 사용하면 안 된다. 금융 계산에 부동소수 타입을 사용해보자. public static void main(String[] args){ double funds = 1.00; int itemsBought = 0; for (double price = 0.10; funds >= price; price += 0.10){ funds -= price; itemsBought++; } Syst..

코드 품질에도 규모의 경제가 적용된다. 코드를 직접 작성하면서 프로그램이 실패하거나, 문제를 해결하고 싶어도 현상을 재현하기 쉽지 않은 경험이 있을 것이다. 예를 들면 무작위 정수 하나를 생성하고 싶다. 나는 이 책을 읽기 전까지 다음과 같은 코드로 작성했다. static Random rnd = new Random(); static int random(int n){ return Math.abs(rnd.nextInt()) % n; } 하지만 이 코드에는 결함이 3가지 있다. 첫 번째, n이 그리 크지 않은 2의 제곱수라면 얼마 지나지 않아 같은 수열이 반복된다. 두 번째, n이 2의 제곱수가 아니라면 몇몇 숫자가 평균적으로 더 자주 반환된다. (n값이 크면 이 현상은 더 두드러진다) 세 번째, random..
전 포스팅에서 Deadlock. 즉, 교착상태에 알아보았으니 이번 포스팅에선 뮤텍스와 세마포어의 차이에 대해 알아보겠습니다. 혹시, 데드락에 대해 잘 모르는 상태라면 전 포스팅 또는 하단의 Youtube 강의를 보고 보시면 더 도움이 됩니다! 2022.07.19 - [운영체제] - [운영체제] Deadlock (데드락, 또는 교착상태) [운영체제] Deadlock (데드락, 또는 교착상태) 운영체제 기술면접에 대해 공부하다 보면 세마포어와 뮤텍스의 차이를 물어보는 질문이 자주 나옵니다. 이 차이를 알기 전!!!!!!! 세마포어와 뮤텍스를 알기 위해서는 먼저 Deadlock 즉, 교착상태에 odingcoding.tistory.com https://www.youtube.com/watch?v=Ry_gB34cv..
운영체제 기술면접에 대해 공부하다 보면 세마포어와 뮤텍스의 차이를 물어보는 질문이 자주 나옵니다. 이 차이를 알기 전!!!!!!! 세마포어와 뮤텍스를 알기 위해서는 먼저 Deadlock 즉, 교착상태에 대해 먼저 알아야 합니다. ❓ Deadlock(교착상태)란? 운영체제에서 데드락(교착상태)란, 시스템 자원에 대한 요구가 뒤엉킨 상태입니다. 즉, 둘 이상의 프로세스가 다른 프로세스가 점유하고 있는 자원을 서로 기다릴 때 무한 대기에 빠지는 상황을 일컫습니다. 🔎 Deadlock의 발생조건 Deadlock에 걸리는 요건으로는 4가지가 있습니다. 첫 번째, 상호 배제 조건 (Mutual exclusion condition) 프로세스는 한 번에 하나의 자원만 사용할 수 있습니다. 사용 중인 자원을 다른 프로세..
- Total
- Today
- Yesterday
- 토큰기반인증
- subset
- BOJ
- 이펙티브자바
- 아이템59
- 백준
- EffectiveJava
- DevOps
- cicd
- 아이템61
- 조합
- 그래프탐색
- docker
- BFS
- Container
- OS
- docker-compose
- dfs
- 순열
- 운영체제
- Retrofit2
- Java
- 완탐
- dp
- 완전탐색
- 알고리즘
- 아이템60
- bruteforce
- springboot
- IMAGE
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |