스트림이란? 스트림은 Collection 계열을 다루는 방식을 표준화하는데 많은 도움이 된다. 예를 들어 List를 정렬하기 위해서는 Collection.sort()를 사양했다. 배열을 정렬할 때는 Arrays.sort()를 사용했다. 그런데 스트림을 사용하면 sotr()로만 이런 Collectino 무리들을 손쉽게 정렬할 수 있다. 쉽게 말하면 스트림은 데이터 소스를 추상화하고, 데이터를 다루는데 자주 사용되는 메서드를 정의해둔 것이다. 추상화 되었다는 말은 공통된 방법으로 다룰 수 있게 되었다는 것이다. 이렇게 되면 코드 재사용성이 증가한다. 스트림의 특징 스트림은 데이터 소스를 변경하지 않는다. 스트림은 데이터 소스를 읽기만 한다. 실제 데이터 소스를 스트림은 변경하지 않는다. 스트림은 일회용이다...
이 글은 자바의 정석, 다른 블로거님의 글을 참고해 작성한 글입니다. 1. 프로세스와 쓰레드 프로세스는 실행 중인 프로그램을 의미한다. 쉽게 말하면 ctrl + alt + del의 프로세스 탭에 올라와있는 것 하나를 하나의 프로세스라고 부른다. 프로세스는 프로그램을 수행하는데 필요한 데이터, 메모리, 쓰레드로 구성되어있다. 쓰레드는 프로그램이 돌아가게 하는 일꾼이다. 쓰레드는 작업을 처리하기 위해 개별적인 메모리 공간을 요구한다. 프로세스에게 할당된 메모리 공간을 한정적이다. 따라서 한 프로세스에서 생성될 수 있는 쓰레드의 갯수는 한정적이다. 멀티태스킹과 멀티쓰레드 MS-DOS에서는 한번에 하나의 프로세스만 할 수 있었다. 게임을 실행하면 게임만 해야한다. 그렇지만 윈도우에서는 게임을 하면서 음악을 들을..
어노테이션 만들기 @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) public @interface Retry { int maxRetryCount() default 3; int maxAbc() default 10; } @interface로 어노테이션 클래스를 선언한다 @Retention을 통해 어느 시점에 적용할지를 설정한다. @Target을 통해 어떤 곳에 적용할지를 설정한다. (클래스, 메서드, 변수 등등) 어노테이션은 내부적으로 값을 가질 수 있고, 여기에 값을 주면 옵션으로 값을 설정할 수 있다. 타입 + 이름 + () + default형태로 선언한다 어노테이션 사용하기 @Retry(maxRetryCount = 10, maxAbc =..
보호되어 있는 글입니다.
문자열 Concat 시간복잡도 확인하기 String += String vs .join
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.