일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- testdrivendevelopment
- Java 22
- 자식객체
- 완벽이해
- java
- Be
- TDD
- M:N
- 마이크로서비스디자인패턴
- pair programming
- Runtime Area
- GC
- KPT
- 스프링으로하는마이크로서비스구축
- Solid
- docker
- 도커
- ComponentScan
- 부모객체
- Execution Engine
- 클린코드
- 트랜잭션 격리 수준
- Self Descript Message
- DB
- Spring/JAVA 서적
- 미니미프로젝트
- RESAPI
- G1GC
- ATDD
- hateoas
- Today
- Total
목록GC (2)
Programming Summary
1) GC란 무엇일까?GC의 정의자바의 언어적인 특성은 어떤게 있을까? 객체 지향, JVM, 그리고 GC가 보통 많이 언급된다. GC(Garbage Collector)는 메모리 관리 기법 중의 하나로, 프로그램이 동적으로 할당했던 메모리의 힙 영역 중에서 필요없게 된 영역을 해제하는 기능이다. GC를 통해 통해 프로그래머는 동적으로 할당한 메모리 영역 전체를 완벽하게 관리하지 않아도 되며, 메모리 누수나 유효하지 않은 포인터 접근에 대한 문제점을 막을 수 있다. 이러한 GC를 사용하는 언어로 자바, Python, Perl 등을 예시로 들 수 있다.힙 영역의 구성위 그림은 JDK 1.8이후 힙 메모리 구조이다. 크게 Young Generation과 Old Generation, 그리고 Meta Space로 ..
1) JVM의 정의 자바는 썬 마이크로시스템즈 사의 제임스 고슬링에 의해 개발되었으며, Write Once Run AnyWhere라는 표어를 기반으로 제작되었다. JVM이란 Java Virtual Machine의 줄임말로, 이러한 자바 바이트코드를 실행할 수 있는 주체이다. 표어와 같이 JVM이 있다면 어떤 컴퓨터든 자바 코드를 실행 시킬 수 있다. 또한 자바 바이트 코드로 작성된 다른 언어도 JVM 위에서 실행이 가능하다.(대표적으로 코틀린이 있다) 간단하게 자바 초기 버전에 대해 살펴보면 JDK 1.0은 소형 가전 제품위에서 동작하도록 만든 코드였다.(심지어 카드에서도 돌아갔다) 근데 JVM의 특성상 무거울 수 밖에 없어 망했다. 그러다 웹에서 자바 코드를 돌릴 수 있게 되면서 다시 살아나게 되었다...