본문 바로가기

java45

[Java] 쓰레드_프로세스와 쓰레드 프로세스 : '실행 중인 프로그램' 프로세스는 프로그램을 수행하는 데 필요한 데이터와 메모리 등의 자원 그리고 쓰레드로 구성되어 있음 쓰레드 : 프로세스의 자원을 이용해서 실제로 작업을 수행하는 것 멀티쓰레드 프로세스 : 둘 이상의 쓰레드를 가진 프로세스 멀티태스킹과 멀티쓰레딩 멀티쓰레딩 : 하나의 프로세스 내에서 여러 쓰레드가 동시에 작업을 수행하는 것 CPU의 코어가 한 번에 단 하나의 작업만 수행할 수 있으므로, 실제로 동시에 처리되는 작업의 개수는 코어의 개수와 일치 멀티쓰레딩의 장단점 멀티 쓰레딩의 장점 - CPU의 사용률을 향상시킨다. - 자원을 보다 효율적으로 사용할 수 있다. - 사용자에 대한 응답성이 향상된다. - 작업이 분리되어 코드가 간결해진다. 메신저로 채팅하면서 파일을 다운로드 받.. 2022. 8. 2.
[Java] 애너테이션_애너테이션 타입 정의하기 @interface 애너테이션이름 { 타입 요소이름(); // 에너테이션의 요소를 선언한다. ... } @Override는 '애너테이션', Override는 '애너테이션의 타입' 애너테이션의 요소 : 애너테이션 내에 선언된 메서드를 '애너테이션의 요소'라고 한다. 아래 다섯 개의 요소를 갖는다. @inerface TestInfo { int count(); String testedBy(); String[] testTools(); TestType testType(); DateTime testDate(); } @interface DateTime { String yymmdd(); String hhmmss(); } - 애너테이션의 각 요소는 기본값을 가질 수 있으며, 기본값이 있는 요소는 애너테이션을 적용할 때 .. 2022. 8. 2.
[Java] 애너테이션_메타 애너테이션 메타 애너테이션 : 애너테이션을 위한 애너테이션 : 애너테이션의 적용대상이나 유지기간등을 지정하는데 사용 @Target : 애너테이션이 적용가능한 대상을 지정하는데 사용 @Target({TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE}) @Retention(RetentionPolicy.SOURCE) public @interface SuppressWarnings { String[] value(); } * 적용대상의 종류는 p.711 표 참고 @Retention : 애너테이션이 유지되는 기감을 지정하는데 사용 유지 정책 의미 SOURCE 소스 파일에만 존재. 클래스파일에는 존재하지 않음 CLASS 클래스 파일에 존재. 실행시에 사용불가. 기본값 RU.. 2022. 8. 2.
[Java] 애너테이션 1. 애너테이션이란? : 소스코드와 문서를 하나의 파일로 관리하기 위해 주석 '/**~*/' 로 표현 : 소스코드 중에서 특정 메서드만 테스트하기를 원한다면, '@Test'라는 애너테이션을 메서드 앞에 붙인다. : 프로그램 자체에는 아무런 영향 X 2. 표준 애너테이션 @override - 메서드 앞에만 붙일 수 있는 애너테이션으로, 조상의 메서드를 오버라이딩하는 것이라는 걸 컴파일러에게 알려주는 역할 @Deprecated - 이 애너테이션이 붙은 대상은 다른 것으로 대체되었으니 더 이상 사용하지 않을 것을 권한다는 의미 @Functionallnterface - 컴파일러가 '함수형 인터페이스'를 올바르게 선언했는지 확인하고, 잘못된 경우 에러를 발생시킨다. - 필수는 아니지만, 붙이면 실수를 방지 @Fu.. 2022. 8. 2.