분류 전체보기(754)
-
[Spring] Spring의 핵심 컨셉
Spring은 Java의 객체 지향 프로그래밍의 장점을 활용하도록 만들어져 좋은 객체 지향 프로그램을 만들 수 있도록 해준다.
2023.09.09 -
[Java] lambda 식에 대한 나름의 이해
메소드를 사용하고 싶으면 객체를 생성한 뒤에 넣어주어야 한다. 이를 간편하게 하기 위해서 객체가 무엇이 오는지 확실하다면 메소드만 만들어도 되게 만든 것이 lambda 식이다. 하는 방법은 객체를 넣지 않고 그걸 구현하는 메소드를 넣어주면 된다. 그러면 그 안에서 jvm이 알아서 같은 매게변수를 가지는 메소드를 보고 대체해준다. Reference https://school.programmers.co.kr/learn/courses/9/lessons/280 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr
2023.09.08 -
[Java] synchronized에 대해서 모르겠는 점
public class ThreadA { public static void main(String[] args) { ThreadB b = new ThreadB(); b.start(); synchronized (b) { try { System.out.println("B가 끝날 때까지 기다립시다."); b.wait(); } catch (InterruptedException e) { throw new RuntimeException(e); } System.out.println(b.total); } } } 왜 synchronized (b)를 넣어주는 것일까? Reference https://school.programmers.co.kr/learn/courses/9/lessons/278 프로그래머스 코드 중심의 개발자..
2023.09.08 -
[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] Thread에 관해 적을 만한 것
main thread가 끝나도 남아있는 thread가 있다면 끝나지 않는다.
2023.09.08