본문 바로가기

TIL56

내일배움캠프 3주차 쓰레드 이어서 오늘의 키워드join( ), yield( ), synchronized( )wait( ), notify( )Lock, Condition오늘의 내용join( )정해진 시간 동안 지정한 쓰레드가 작업하는 것을 기다린다ms(밀리초) 단위로 설정된다예외처리를 꼭 해줘야 된다interrupt를 만나면 기다리는 것을 멈추기 때문에 InterruptedException이 발생한다yield( ) : 남은 시간을 다음 쓰레드에게 양보하고 자신은 실행대기 상태가 된다synchronized( )(동기화)여러 쓰레드가 한 프로세스의 자원을 공유해서 작업해 서로 영향을 줘 장애나 버그발생을 방지한 쓰레드가 진행 중인 작업을 다른 쓰레드가 침범하지 못하게 막는다동기화를 하려면 다른 쓰레드의 침범을 막아야 하는 코드를 임계영역으로 .. 2024. 5. 2.
내일배움캠프 3주차 프로세스와 쓰레드 오늘의 키워드프로세스쓰레드오늘의 내용프로세스운영체제로부터 자원을 할당받는 작업의 단위Code, Data, Memory로 구조를 이룬다쓰레드프로세스가 할당받은 자원을 이용해 실행하는 단위작업 중인 프로그램에서 요청이 들어와 쓰레드를 생성해 요청을 처리한다프로세스 내에 주소공간, 메모리공간(Heap)을 공유받는다자신만의 메모리공간(Stack)을 할당받는다싱글 쓰레드와 멀티 쓰레드싱글 쓰레드 : 프로세스 안에서 하나의 쓰레드만 실행된다멀티 쓰레드 : 프로세스 안에서 여러 개의 쓰레드가 실행되는 것멀티 쓰레드는 각각의 쓰레드들이 자원을 공유하고 여러 작업을 동시에 해서 성능이 좋아진다스택을 제외한 모든 영역에서 메모리를 공유해서 자원을 효율적으로 사용한다응답 쓰레드와 작업 쓰레드를 분리해 응답이 빠르다서로 자원.. 2024. 5. 1.
내일배움캠프 3주차 개인프로젝트 오늘의 키워드복습오늘의 내용개인 프로젝트로 계산기를 만드는 중인데 사용해보지 못한 기능들을 공부했다remove() : 메서드는 리스트나 컬렉션에서 요소를 제거하는 데 사용한다반복문에선 if문을 주로 사용했는데 처음으로 switch문을 사용해봤다char op = input.charAt(0); int result; switch (op) { case '+': result = num1 + num2; break; case '-': result = num1 - num2; break; .. 2024. 5. 1.
내일배움캠프 3주차 TIL + 오류와 예외처리 오늘의 키워드오류와 예외try, catch, finally문Generic오늘의 내용오류와 예외오류 : 일반적으로 회복이 불가능한 문제, 주로 환경적인 원인으로 발생, 발생원인 확인 후 대응한다예외 : 회복이 가능한 문제로 코드레벨에서 할 수 있는 대응은 '예외처리'에 속한다컴파일 에러 : 자바 프로그래밍의 규칙을 지키지 않으면 발생하고 문법을 맞게 작성하면 해결된다. 특정한 문제는 인지만 하고 예외처리를 하지 않으면 발생런타임 에러 : 컴파일은 잘되었지만 프로그램 실행도중 발생하는 예외이다확인된 예외 : 컴파일 시점에 확인하는 예외, 반드시 예외처리를 해줘야 하는 예외, 컴파일 에러와 다르다미확인된 예외 : 런타임 시점에 확인되는 예외, 예외처리가 반드시 필요하지 않은 예외try, catch, final.. 2024. 4. 29.
내일배움캠프 2주차 TIL + 상속, 추상클래, 인터페이스 등 오늘의 키워드상속추상클래스인터페이스오늘의 내용상속부모 클래스의 필드와 메서드를 자식 클래스에 물려주는것상속을 사용해 적은 양의 코드로 새로운 클래스를 작성 공통적인 코드 관리로 코드추가와 변경이 쉬워짐부모 클래스에 새로운 필드와 메서드가 추가되면 자식 클래스도 사용가능자식 클래스는 부모 클래스에 영향을 주지 않는다extends를 사용 : public class 자식클래스 extends 부모클래스 { } 다중 상속을 허용하지 않고 final을 사용하면 상속과 오버라이딩이 불가하다Object 클래스의 메서드모든 최상위 부모 클래스는 Object를 사용할 수 있고 부모가 없으면 자동으로 Object를 상속받음Object clone() : 해당 객체의 복제본을 생성하여 반환함boolean equals(Objec.. 2024. 4. 26.
내일배움캠프 2주차 TIL + 오버로딩, 인스턴스 멤버, 클래스 멤버 등 오늘의 키워드메서드 오버로딩기본형과 참조형 매개변수인스턴스 멤버와 클래스 멤버this생성자제어자import와 package오늘의 내용메서드 오버로딩 함수가 하나의 기능이 아닌 하나의 메서드 이름으로 여러 기능을 구현하는 것같은 이름을 가진 메서드라도 타입, 순서가 다르면 동일한 이름 사용 가능응답 값만 다르거나 접근제어자만 다른건 사용불가능하다메서드의 이름은 하나만 사용해서 메서드 이름 절약이 가능하다기본형&참조형 매개변수기본형 매개변수 메서드를 호출할 때 전달한 매개값으로 지정한 값을 매개변수에 복사해서 전달기본형일때는 값자체를 복사해서 원본값이 변경되지 않음참조형 매개변수메서드를 호출할 때 전달할 매개값으로 지정한 값의 주소를 매개변수에 복사해서 전달저장된 곳의 원본주소를 알고있어 값을 읽거나 변경 .. 2024. 4. 25.
내일배움캠프 2주차 TIL + 연산자, 조건문, 반복, 배열, 컬렉션..... 오늘의 학습 키워드 연산자, 조건문, 반복, 배열, 컬렉션연산자 - 변수, 상수들을 계산하기 위해 사용 - 산술연산자 : +, -, *, /, %(나머지), > - 비교연산자 : >, =, - 논리연산자 : &&, ㅣㅣ, ! - 대입연산자 : =, ++, -- - 기타연산자 : (type), ? : , instance ofㅇ 문맥 만들기(조건문, 반복문) - 조건문 (if문, swich문) - if : 특정 조건에 따라 다른 연산을 수행하고 싶을 때 - if(조건)~else : if의 조건이 거짓일 경우 else{연산} 형태로 사용 - 중첩 if : 중첩해서 if문을 사용 - switch(피연산자) / case(조건) : switch문은 case문과 함께 사용하며 if문보다 가독성이 좋은.. 2024. 4. 24.
내일배움캠프 2주차 TIL + 변수 오늘의 학습 키워드변수 변수 : 뜻 자체는 데이터를 저장할 수 있는 메모리 공간을 말하는데 하나의 변수에는 하나의 데이터값만 저장가능하다.위 스샷은 오늘 강의 숙제를 하며 작성한 코드인데 int scoreNumber 부분을 보게 되면 int는 저장공간의 타입을 나타내고scoreNumber는 저장공간의 이름을 나타낸다. 변수의 종류논리형 변수 : boolean - True/False 값만 가질 수 있다문자형 변수 : char - 문자 하나만 저장 가능정수형 변수 : byte, short, int, long - 정수형 숫자만 저장 가능실수형 변수 : float, double - 소숫점 실수 저장 가능문자열 변수 : String - 문장 저장 가능그 외 : Object, A.. 2024. 4. 22.