본문 바로가기

Computer Sience66

[JAVA] Annotation 목차 10분 테코톡 초롱의 애노테이션 남궁성 자바의 정석 애노테이션 10분 테코톡 초롱의 애노테이션 우리가 흔히 사용하는 @Override, @Test, @Controller 등등.. 도대체 어떻게 동작하는 걸까? @Controller @Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Componentpublic @interface Controller { /** * Alias for {@link Component#value}. */ @AliasFor(annotation = Component.class) String value() default "";} @Override@Target(ElementType.METHOD)@Ret.. 2024. 10. 7.
[JAVA8] CompletableFuture 목차자바 Concurrent 프로그래밍 ExecutorsCallable과 FutureCompletableFuture자바 Concurrent 프로그래밍 Concurent 소프트웨어?동시에 여러 작업을 할 수 있는 소프트웨어 예) 웹 브라우저로 유투브를 보면서 키보드로 문서에 타이핑을 할 수 있다. 동시성을 활용한 소프트웨어동시성(Concurrency): 여러 작업이 동시에 실행되는 것처럼 보이도록 프로그램을 작성하는 개념, 실제로는 단일 또는 다중 CPU에서 여러 작업이 교차적(컨텍스트 스위칭)으로 실행 자바에서 지원하는 Concurrent멀티프로세싱 (ProcessBuilder)멀티쓰레드 자바 멀티쓰레드 프로그래밍Thread / Runnable스레드 이름 출력  public static void main.. 2024. 10. 4.
[JAVA8] Date & Time 목차자바 8에 새로운 날짜와 시간 API가 생긴 이유 자바 8에서 제공하는 Date-Time API 특징 주요 APIAPI 연습 참고 자료  자바 8에 새로운 날짜와 시간 API가 생긴 이유 그전까지 사용하던 날짜 시간 클래스들은 문제점이 많다.  클래스 이름이 명확하지 않다. Date인데 시간까지 다룬다.public class Practice { public static void main(String[] args) throws InterruptedException{ Date date = new Date(); long time = date.getTime(); // Date(날짜)에서 시간을 가져온다고? GregorianCalendar myBirth.. 2024. 10. 3.
[JAVA8] Optional 목차Optional 등장 배경 Optional 주의 사항 Optional API 참고 자료Optional 등장 배경 자바 프로그래밍에서 NullPointerException을 종종 보게 되는 이유 public class Progress { private Duration studyDuration; private boolean finished; public Duration getStudyDuration() { return studyDuration; } public void setStudyDuration(Duration studyDuration) { this.studyDuration = studyDuration; }}public class OnlineC.. 2024. 10. 3.
[JAVA8] Stream 목차Stream 특징 Stream 파이프라인 중개 오퍼레이션 종료 오퍼레이션 참고 자료 Stream 특징  Stream은 데이터 저장소가 아니다Stream은 데이터의 저장소가 아니라 데이터를 처리하는 파이프라인 컬렉션(List, Set ...)은 데이터를 담고 있지만, Stream은 그 데이터를 연속된 요소(sequence of elements)로서 처리하는 작업을 지원 List numbers = Arrays.asList(1, 2, 3);Stream stream = numbers.stream(); // 데이터를 처리하는 스트림 생성 여기서 스트림은 데이터를 담고 있는 게 아니라, numbers 리스트에 있는 데이터를 연산할 때 사용하는 것  Functional in natureStream API는 함수형.. 2024. 10. 2.
[JAVA8] 자바 8 API의 기본 메소드와 스태틱 메소드 목차 Iterable 기본 메소드 Collection 기본 메소드 Comparator 기본 메소드 및 스태틱 메소드 참고 자료Iterable 기본 메소드 forEach()public interface Iterable { default void forEach(Consumer action) { Objects.requireNonNull(action); for (T t : this) { action.accept(t); } }} forEach() - 활용public class Test { public static void main(String[] args) { List name = new ArrayList(); na.. 2024. 10. 2.