95일 차 - UNION, call by value/reference, Deadlock(23.05.17)

yvonne·2023년 5월 17일
0

📂Java

목록 보기
51/51
post-thumbnail

📝 UNION, UNION ALL 참고

https://gent.tistory.com/383



📝 call by value / call by reference

📍 call by value

  • call by value 는 가장 일반적인 함수 호출형태로 값을 복사하는 것
public class Test {

	public static void swap(int a, int b) {
		int temp;
		temp = a;
		a = b;
		b = temp;
	}

	public static void main(String[] args) {
		int a = 10;
		int b = 20;
		
		swap(a,b);

		System.out.println(a);
		System.out.println(b);
	}
}
  • 결과
  • 이유는 swap() 메서드 호출 시 사용한 인자 a, b와 swap() 메서드내의 매개변수 a, b는 서로 다르기 때문



📍 call by reference

  • Call by reference는 메서드 호출 시에 사용되는 인자가, 값이 아닌 주소(Address)를 넘겨줌으로써, 주소를 참조(Reference)하여 데이터를 변경할 수 있다



참고 https://velog.io/@lsj8367/CallByValue-CallByReference-%EB%B9%84%EA%B5%90




📝 플랫폼 / 프레임워크 / 라이브러리

  • Platform : 소프트웨어를을 실행시킬 때의 기반이 되는 환경과 설정 Computing Platform
  • Framework: 소프트웨어 개발을 위한 개발 환경 및 토대, 즉, 기반 시설을 제공
  • Library: 공통으로 사용될 수 있는 특정한 기능들을 모듈화한 것



참고
https://daheenallwhite.github.io/programming/2019/07/15/library-framework-api/



📝 Deadlock (데드락; 교착상태)

  • 교착상태(Dead Lock)은 상호 배제에 의해 나타나는 문제점으로, 둘 이상의 프로세스들이 자원을 점유한 상태에서 서로 다른 프로세스가 점유하고 있는 자원을 요구하며 무한정 기다리는 현상


📍 교착상태 발생의 필요 충분 조건

조건설명
상호배제
(Mutual Exclusion)
한번에 한개의 프로세스만이 공유 자원을 사용할 수 있어야 함
점유와 대기
(Hold and Wait)
최소한 하나의 자원을 점유하고 있으면서 다른 프로세스에 할당되어 사용되고 있는 자원을 추가로 점유하기 이해 대기하는 프로세스가 있어야 함
비선점
(Non-preemption)
다른 프로세스에 할당된 자원은 사용이 끝날 때까지 강제로 빼앗을 수 없어야함
환형 대기
(Circular Wait)
공유자원과 공유자원을 사용하기 위해 대기하는 프로세스들이 원형으로 구성되어 있어 자신에게 할당된 자원을 점유하면서 앞이나 뒤에 있는 프로세스의 자원을 요구해야 함
*참고 https://coding-factory.tistory.com/311
profile
개발 연습장

0개의 댓글