Java(49)
-
[Java] 쓰레드의 상태
Runnable, Running, Blocked 상태가 있다. Runnable도 start가 되어야 하는 상태이다. runnable과 running에서 blocked는 sleep과 wait으로 갈 수 있다. blocked에서 다시 돌아오기 위해서는 sleep은 스스로 돌아올 수 있고 wait은 notify로 깨워줘야만 가능하다. yield는 다른 쓰레드에게 자신의 권리를 넘겨주는 것이다. join은 해당 쓰레드가 종료될 때까지 기다린다. ex) thread.join();
2023.09.08 -
[Java] 쓰레드 공유 객체와 동기화
공유 객체는 쓰레들 간에 공유하는 변수이다. 동기화를 하게 되면(synchronized) 한 것끼리는 lock이 걸려 그 코드 범위(메소드가 될 수도 있고 한줄이 될 수도 있다)가 끝날 때까지는 동기화를 건 다른 쓰레드로 넘어가지 않는다. Reference https://school.programmers.co.kr/learn/courses/9/lessons/274
2023.09.08 -
[Java] Math 패키지
생성자가 private으로 되어 있어서 new로 객체를 생성할 수 없다. 그러나 필드와 메소드가 static으로 되어 있어서 class.으로 바로 사용할 수 있다.
2023.09.06 -
[Java] String의 문제점
반복문 안에서 str += "*"를 실행할 시 내부적으로 StringBuffer를 만들고 둘을 붙여주는 작업을 하기에 성능상 불리해진다. 따라서 StringBuffer 객체를 만들고 append하는 코드로 for문 안에 대체해주어야 한다.
2023.09.06 -
[Java] method chaining
method를 통해 자기 자신을 수정하고 이를 return하는 방법
2023.09.06 -
[Java] 오토 박싱과 오토 언박싱
오토 박싱: 기본형 타입을 참조형 타입으로 형변환 Integer i = 4; 오토 언박싱: 오토 박싱과 반대로 참조형 타입을 기본형 타입으로 형변환 int i = new Integer(4);
2023.09.05