728x90
[기본 개념] 1 | (1.1) 텍스트, 목록1> 텍스트 입력하기2> 목록 만들기3 표 만들기4 이미지 삽입하기5 오디오와 비디오 삽입하기6 하이퍼링크 삽입하기1. 텍스트 입력하기제목을 나타내는 n> 태그 기본형n>제목n> 다른 텍스트보다 크고 진하게 표시한다. n 의 자리에는 1 ~ 6의 숫자가 들어가며 이 가장 큰 제목이고 , , . . . , 의 순서로 크기가 작아지며 닫는 태그인 n> 을 사용해야 한다. 텍스트 단락을 만드는 태그, 줄을 바꾸는 태그 기본형내용 와 태그 사이에 텍스트를 입력하면 앞뒤로 빈 줄이 생기면서 텍스트 단락이 만들어진다. 이때, 편집기에서 줄을 바꿔도 웹 브라우저에서는 한 줄로 표시되며 텍스트 단락의 내용이 길어서 웹 브라우저에 한 줄로 표시되지 못할 경우 줄..
[기본 개념] 9 | (2.2) 스트림 중간 연산1 스트림이란?2 스트림 만들기3> 스트림의 중간연산4> Optional와 OptionalInt5 스트림의 최종연산6 collect( )7 Collector 구현하기8 스트림의 변환3. 스트림의 중간연산스트림 자르기 - skip( ), limit( )skip( )은 요소를 건너뛰고, limit( )는 요소의 개수를 제한한다. IntStream intStream = IntStream.rangeClosed(1, 10) ; // 1 ~ 10의 요소를 가진 스트림intStream.skip(3).limit(5).forEach(System.out :: println) ; // 45678 스트림의 요소 걸러내기 - filter( ), distinct( ..
[기본 개념] 9 | (2.1) 스트림1> 스트림이란?2> 스트림 만들기3 스트림의 중간연산4 Optional와 OptionalInt5 스트림의 최종연산6 collect( )7 Collector 구현하기8 스트림의 변환1. 스트림이란? 스트림은 데이터 소스를 같은 방식으로 다룰 수 있게 하고, 자주 사용되는 메서드를 정의해 놓았다. 스트림은 데이터 소스를 변경하지 않는다. 스트림은 데이터를 읽기만 할 뿐 변경하지 않는다. 스트림은 일회용이다. 스트림도 Iterator처럼 한번 사용하면 닫혀서 다시 사용할 수 없다. 필요하다면 다시 생성해야 한다. strStream1.sorted( ).forEach(System.out :: println) ;int numOfStr = strStream1.count( ) ;..
[기본 개념] 9 | (1.2) Java.util.funcion 패키지, Function 합성, Predicate 결합, 메서드 참조1 람다식이란?2 람다식 작성하기3 함수형 인터페이스(Functional Interface)4> java.util.function패키지5> Function의 합성과 Predicate의 결합6> 메서드 참조4. java.util.function패키지 java.util.function패키지에 일반적으로 자주 쓰이는 형식의 메서드를 함수형 인터페이스로 정의해 놓았다. 가능하면 이 패키지의 인터페이스를 사용하는 것이 메서드 이름도 통일되고, 재사용성이나 유지보수 측면에서 좋다. 함수형 인터페이스메서드설명java.lang.Runnablevoid run( )매개변수도 없고, 반환값도 ..
[기본 개념] 9 | (1.1) 람다식, 람다식 인터페이스1> 람다식이란?2> 람다식 작성하기3> 함수형 인터페이스(Functional Interface)4 java.util.function패키지5 Function의 합성과 Predicate의 결합6 메서드 참조1. 람다식이란? 람다식은 메서드를 하나의 식으로 표현한 것이다. 메서드를 람다식으로 표현하면 메서드의 이름과 반환값이 없어지므로, '익명 함수'라고도 한다. int method( ) { return (int) (Math.random( ) * 5) + 1) ;} 위 식을 람다식으로 하면 '( ) -> (int) (Math.random( ) * 5) + 1'로 표현된다. 이처럼 람다식으로 인해 메서드를 변수처럼 다룰 수 있게 되었다. 2. 람..
[기본 개념] 8 | (1.6) 스레드 동기화(Lock, Condition, Volatile, Fork&Join 프레임웍1 프로세스와 쓰레드2 쓰레드의 구현과 실행3 start( )와 run( )4 싱글쓰레드와 멀티쓰레드5 쓰레드의 우선순위6 쓰레드 그룹(thread group)7 데몬 쓰레드(daemon thread)8 쓰레드의 실행제어9 쓰레드의 동기화 9.1 synchronized를 이용한 동기화 9.2 wait( )와 notify( ) 9.3> Lock과 Condition을 이용한 동기화 9.4> volatile 9.5> fork & join 프레임웍9.3. Lock과 Condition을 이용한 동기화 synchronized블럭으로 동기화를 하면 같은 메서드 내에서만 l..
[기본 개념] 8 | (1.5) 스레드 동기화(Synchronized, wait( ), notify( ))1 프로세스와 쓰레드2 쓰레드의 구현과 실행3 start( )와 run( )4 싱글쓰레드와 멀티쓰레드5 쓰레드의 우선순위6 쓰레드 그룹(thread group)7 데몬 쓰레드(daemon thread)8 쓰레드의 실행제어9> 쓰레드의 동기화 9.1> synchronized를 이용한 동기화 9.2> wait( )와 notify( ) 9.3 Lock과 Condition을 이용한 동기화 9.4 volatile 9.5 fork & join 프레임웍9. 쓰레드의 동기화 싱글쓰레드 프로세스의 경우 별 문제가 없지만, 멀티쓰레드 프로세스의 경우 자원을 공유해서 작업하기 때문에 한 쓰레드..
[기본 개념] 8 | (1.4) 스레드 실행제어1 프로세스와 쓰레드2 쓰레드의 구현과 실행3 start( )와 run( )4 싱글쓰레드와 멀티쓰레드5 쓰레드의 우선순위6 쓰레드 그룹(thread group)7 데몬 쓰레드(daemon thread)8> 쓰레드의 실행제어9 쓰레드의 동기화 9.1 synchronized를 이용한 동기화 9.2 wait( )와 notify( ) 9.3 Lock과 Condition을 이용한 동기화 9.4 volatile 9.5 fork & join 프레임웍8. 쓰레드의 실행제어 (2)suspend( ), resume( ), stop( ) suspend( )는 sleep( )처럼 쓰레드를 멈추게 한다. resume( )을 호출해야 다시 실행 대기상태가 ..