자바(Java) 강의
-
3. 자바 조건문 (2) switch-case자바(Java) 강의 2020. 3. 16. 14:03
Switch case는 조건에 따라 코드를 실행한다는 점에 있어서 if-else와 매우 유사하다. 만약 if-else를 모른다면 if-else를 먼저 학습한 후 switch-case를 공부하는 것을 추천한다.예상 독자자바를 배우고 싶은 누구나JDK와 IDE를 설치한 자바 학습자. ( 1. 자바 설치 및 개발환경 설정 )char를 공부한 자바 학습자. ( 2. 자바 변수와 자료형 (1) char )boolean을 공부한 자바 학습자. ( 2. 자바 변수와 자료형 (2) boolean )byte, short, int, long을 공부한 자바 학습자. ( 2. 자바 변수와 자료형 (3) byte, short, int, long )float과 double을 공부한 자바 학습자. ( 2. 자바 변수와 자료형 (4..
-
가비지 컬렉터(Garbage Collector)와 Mark & Sweep자바(Java) 강의 2019. 11. 26. 15:58
이번 포스트에서는 JVM(Java Virtual Machine)의 메모리 관리방법에 대해서 약간 설명하도록 한다. JVM의 메모리 관리방법을 알기 위해서는 JVM이 무엇인지에 대해 먼저 알아야한다. 따라서 JVM에 대해 간단히 설명하고, JVM이 메모리를 관리하는 방법인 Garbage Collector와 Mark & Sweep 알고리즘에 대해 설명하도록 한다. 초심자를 위한 글이기 때문에 가비지컬렉터의 기본 원리만 설명하고 자바 메모리 모델에 대해서는 다른 포스트에서 다루도록 하겠다.JVM(Java Virtual Machine)이란?JVM은 프로그램이다. 이 프로그램에 자바 언어를 컴파일한 *.class파일을 인풋으로 줘 실행하면 JVM 프로그램이 실행하면서 입력받은 .class파일을 실행한다. $ ja..
-
JavaBean이란?자바(Java) 강의 2019. 9. 2. 06:07
JavaBean이라는 말을 많이 들어 보았을 것이다. 예를들어 스프링을 사용하는 경우 @Bean이라는 어노테이션을 사용해 봤다던가, XML에 아래와 같은 선언을 해본적이 있을 것이다. 그렇다면 JavaBean이란 정확히 무엇인가? JavaBean JavaBean은 JavaBean API Specification에 따른 Standard이다. 여러분은 클래스이름은 CapitalCase로, 필드나 메서드 이름은 camelCase로 쓰라는 말을 많이 들어 봤을 것이다. 사실 클래스 이름을 Capital Case가 아닌 다른 형식을 사용한다고 누가 잡아가는것은 아니다. 하지만 개발자들 사이에서는 보통 이런 규칙을 지킨다. 이를 Standard라고 한다. JavaBean이란, 3가지 규칙을 지키는 클래스이다.모든 ..
-
병행성(Concurrency)을 위한 CountDownLatch자바(Java) 강의 2019. 8. 22. 13:39
CountDownLatch우리가 사용하는 고급 언어는 대부분 Concurrency(병행성)에 관련된 API를 제공한다. 자바도 마찬가지로 atomic, volitile, semaphore등 기본적인 병행성 관련 메커니즘에서 CyclicBarrier, CountDownLatch등의 고급기능까지 제공한다. 그 중 이 포스트에서는 CountDownLatch에 대해 알아보도록 한다. CountDownLatch는 언제 쓸까? 쓰레드를 N개 실행했을 때, 일정 개수의 쓰레드가 모두 끝날 때 까지 기다려야지만 다음으로 진행할 수 있거나 다른 쓰레드를 실행시킬 수 있는 경우 사용한다. 예를들어서 리스트에 어떤 자료구조가 있고, 각 자료구조를 병렬로 처리한 후 배치(batch)로 데이터베이스를 업데이트 한다거나 다른 시..
-
자바 Lambda (람다)자바(Java) 강의/자바 8 2019. 8. 20. 13:16
이번 포스트에서는 자바 8부터 제공하는 Lambda 의 사용법에 대해 알아보도록 한다. 이 포스트는 독자들이 자바의 클래스, 인터페이스, 메서드등 기본을 이미 알고있다고 가정한다.Lambda (람다) Lambda(람다)란? 소프트웨어 세계에서 람다란 함수이다. 자바에서는 메서드이다. 그렇다면 모든 함수나 메서드가 람다인가? 아니다. 매개변수로 전해질 수 있는 함수/메서드만을 람다라고 한다. 매개변수로 전해진다는게 무슨뜻일까. 설명을 보며 생각해보아라. 전통적인 자바 프로그램을 떠올려 보자. 메서드를 만들려면 뭐부터 만들어야 할까? 클래스부터 만들어야한다. 실제 산업에서는 인터페이스-인터페이스 구현클래스로 나누어 많이 개발한다. 예를들어서 x + y를 계산하는 Operation 인터페이스가 있다고 하자.p..
-
19. 자바 Generics (2)자바(Java) 강의 2019. 6. 24. 14:14
지난 포스트에서는 자바의 컬렉션 프레임워크가 구현한 지네릭 자료구조를 사용하는 방법에 대해 알아보았다. 이번 포스트에서는 Generics 클래스를 만드는 법에 대해서 알아보도록 하겠다.이전 포스트1. 자바 설치 및 개발환경 설정2. 자바 변수와 자료형 (1) char2. 자바 변수와 자료형 (2) boolean2. 자바 변수와 자료형 (3) byte, short, int, long2. 자바 변수와 자료형 (4) float, double3. 자바 조건문 (1) if-else4. 자바 배열과 반복문 (1) 배열, 4. 자바 배열과 반복문 (3) 중첩 배열4. 자바 배열과 반복문 (2) 반복문, 4. 자바 배열과 반복문 (4) 중첩 반복문4. 자바 배열과 반복문 (4) 연습 - 배열의 최댓값 구하기4. 자바 ..
-
19. 자바 Generics (1)자바(Java) 강의 2019. 6. 19. 00:42
이번 포스트에서는 자바에서 제공하는 자료형(Type) 추상화 기법인 Generic에 대해 알아보도록 한다.이전 포스트1. 자바 설치 및 개발환경 설정2. 자바 변수와 자료형 (1) char2. 자바 변수와 자료형 (2) boolean2. 자바 변수와 자료형 (3) byte, short, int, long2. 자바 변수와 자료형 (4) float, double3. 자바 조건문 (1) if-else4. 자바 배열과 반복문 (1) 배열, 4. 자바 배열과 반복문 (3) 중첩 배열4. 자바 배열과 반복문 (2) 반복문, 4. 자바 배열과 반복문 (4) 중첩 반복문4. 자바 배열과 반복문 (4) 연습 - 배열의 최댓값 구하기4. 자바 배열과 반복문 (5) while5. 자바 메서드6. 자바 오브젝트와 클래스 (1..
-
18. 파일 입출력 (3) - 파일 읽기자바(Java) 강의 2019. 6. 9. 09:46
이 포스트에서는 자바의 파일 관련 유틸리티 클래스를 이용해 파일 읽기를 하는 방법에 대해 설명한다. 이전 포스트1. 자바 설치 및 개발환경 설정2. 자바 변수와 자료형 (1) char2. 자바 변수와 자료형 (2) boolean2. 자바 변수와 자료형 (3) byte, short, int, long2. 자바 변수와 자료형 (4) float, double3. 자바 조건문 (1) if-else4. 자바 배열과 반복문 (1) 배열, 4. 자바 배열과 반복문 (3) 중첩 배열4. 자바 배열과 반복문 (2) 반복문, 4. 자바 배열과 반복문 (4) 중첩 반복문4. 자바 배열과 반복문 (4) 연습 - 배열의 최댓값 구하기4. 자바 배열과 반복문 (5) while5. 자바 메서드6. 자바 오브젝트와 클래스 (1) b..