일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 동시성 문제
- jpa
- Di
- CAS
- Atomic Type
- java
- iterable
- 가비지 컬렉터
- foreach
- Varchar
- 백엔드
- 스프링
- text
- reflection
- MVCC
- iterator
- gc
- 가비지 컬렉션
- Lock
- MySQL
- db
- Locking Read
- 자바
- 데이터 타입
- Synchronized
- 동시성
- Today
- Total
목록java (3)
과정을 즐기자
자바의 for 문에는 일반 for 문과 foreach (향상된 for 문)이 있습니다. 일반 for 문 for (int i = 0; i < 10; i++) { System.out.println(members[i]); } foreach 문 for (Member member : members) { System.out.println(member); } 지금까지 foreach 문이 간결하고 가독성도 좋기 때문에 자주 사용했습니다. 하지만 foreach 문은 언제 사용할 수 있고 내부 동작 방식에 대해서 의문점이 생겼습니다. 이번 글에서는 foreach 문은 어떤 내부 동작 방식으로 인해 어떠한 조건일 때 사용할 수 있는 지에 대해 알아보겠습니다. 먼저 Iterator, Iterable 인터페이스에 대해 알아보겠..

스프링 프레임워크를 이용해서 개발을 하다보면 DI라는 말을 자주 듣게 됩니다. 제어의 역전인 IoC는 제어의 권한을 제 3자에게 넘겼다는 말입니다.DI는 IoC의 일종으로 의존관계 주입을 개발자가 직접하는 것이 아니라 프레임워크에게 넘겼다는 말입니다.이러한 사실을 알고 사용하고 있었지만 스프링이 어떻게 의존 관계 주입을 해주는지 그 내부 동작 방식을 알아보고 싶었습니다. 또한 JPA를 사용하다보면 기본 생성자를 필수로 생성해야 한다는 것도 알고 있었지만 어떤 원리로 동작하는지는 정확히 알지 못했습니다. 이 2가지의 공통점이 있는데 바로 Java Reflection을 사용한다는 사실입니다.이번 글에서는 Java Reflection에 대해 알아보고 지금까지 궁금증을 가지고 있었던 내부 동작 방식에 대해 알아..

프로그래밍 언어는 메모리 관리 주체에 따라 크게 2가지로 나눌 수 있습니다. 언어 자체적으로 메모리를 관리해주는 Managed 언어 (Java, C#)와 개발자가 직접 메모리를 관리하는 Unmanaged 언어 (C, C++)입니다. Managed 언어는 메모리에 할당된 객체를 개발자가 관리를 하지 않아도 되고 Garbage Collector가 대신해줍니다. 이번 글에서는 Garbage Collection에 대해 알아보겠습니다. JVM 메모리 구조 Garbage Collector가 메모리의 어떤 부분을 관리해주는 지 알아보기 위해 먼저 JVM의 메모리 구조에 대해 알아보겠습니다. JVM 메모리는 크게 5가지 영역으로 나뉩니다. 1. Method Area Method Area에는 자바 컴파일러에 의해 변환된..