본문 바로가기

프로그래밍 언어/Java7

JVM의 GC 안녕하세요! 조엘입니다! 🎉 오늘은 JVM의 GC에 대해 알아보는 시간을 가져볼게요! 💪💪 피드백 환영입니다! 댓글 달아주세요 :) *** GC가 동작하는 법 *** 기본적인 GC의 동작은 해당 포스팅에서 다루었어요! 해당 포스팅의 내용에 의존하고 있으니 이를 먼저 읽어보시는 것을 추천합니다 :) https://papimon.tistory.com/93 저는 GC가 처음이라니까요? 안녕하세요! 조엘입니다! "처음이라니까요" 시리즈 열한 번째 토픽은 GC입니다. 🙌🙌 C나 C++을 다룰 때는 메모리 관리를 직접 명시적으로 해줬어요. 하지만 JAVA, JavaScript, Python 등을 쓰면서부터 joel-dev.site Java에서의 GC, 즉 JVM의 GC는 기본적으로 Mark And Sweep 방식으.. 2021. 10. 3.
저는 GC가 처음이라니까요? 안녕하세요! 조엘입니다! "처음이라니까요" 시리즈 열한 번째 토픽은 GC입니다. 🙌🙌 C나 C++을 다룰 때는 메모리 관리를 직접 명시적으로 해줬어요. 하지만 JAVA, JavaScript, Python 등을 쓰면서부터는 메모리 관리에 크게 신경을 안 써줬는데요. 알아서 동적 메모리 영역이 관리되는 방법! 한 번 같이 알아봅시다. 🎯🎯 *** GC란? *** GC는 메모리 관리 기법 중 하나로, 동적으로 할당했던 메모리 영역 중 필요 없게 된 영역을 해제하는 기능이에요. 여기서 동적으로 할당했던 메모리 영역은 프로그램 런타임에 사용되는 Heap 영역 메모리를 뜻하고, 여기서 필요 없게 된 영역은 어떤 변수도 가리키지 않게 된 영역을 의미합니다. C와 C++에서 Heap 영역의 메모리를 사용하기 위해서는,.. 2021. 10. 2.
저는 어노테이션이 처음이라니까요? 안녕하세요! 조엘입니다! "처음이라니까요" 시리즈 일곱 번째 토픽은 어노테이션입니다. 📜📜 스프링 프레임워크로 웹 개발을 하면서 참 많은 어노테이션을 쓰게 되는데요. 하지만 막상 누가 어노테이션이 뭐냐고, 왜 쓰냐고 물어보면 대답을 못할 것 같더라고요? 🤔🤔 이번 기회에 "어노테이션은 이래서 쓰는 거야" 확실히 말할 수 있게 정리해봅시다! 👏👏 참고로 리플렉션에 대한 이해가 있으면 포스팅 읽기가 더 수월해요 :) Reflection API: https://papimon.tistory.com/82 *** 어노테이션이란? *** 어노테이션이 뭔지 정의부터 알아봐야겠죠? Oracle의 Java Tutorial에서는 어노테이션을 다음과 같이 설명하는데요. Annotations, a form of metadata.. 2021. 6. 11.
Reflection API 안녕하세요! 조엘입니다! 🎉 오늘은 자바의 Reflection API에 대해 알아보는 시간을 가져볼게요! 💪💪 피드백 환영입니다! 댓글 달아주세요 :) *** Reflection API란? *** Reflection API의 정의를 먼저 알아보도록 해요. 공식문서에서는 다음과 같이 Java Reflection API를 설명하는데요. Reflection enables Java code to discover information about the fields, methods and constructors of loaded classes, and to use reflected fields, methods, and constructors to operate on their underlying counterpar.. 2021. 6. 9.
저는 JVM이 처음이라니까요? 안녕하세요! 조엘입니다! "처음이라니까요" 시리즈 여섯 번째 주자 바로 JVM입니다. ✨✨ IDE에서 열심히 작성한 코드를 기도 메타와 함께 play 버튼만 누를 줄 알던 과거를 이제 뒤로하고! 이번 기회를 통해 작성한 자바 코드가 실제 하드웨어까지 어떻게 전달되는지 알아보도록 해요. 😁 *** Java 프로그램 실행 flow *** IDE의 플레이 버튼을 누르면 사실 다음과 같은 과정이 일어나게 되어요. 1. 개발자들은 IDE를 키고 열심히 자바 문법에 맞춰 소스코드(.java) 를 작성합니다. 2. javac 컴파일러를 통해 바이트코드(.class) 를 생성합니다. 3. 해당 바이트코드를 실행할 수 있는 런처를 실행합니다. 4. 런처는 내부적으로 JVM에서 바이트코드를 동작시킵니다. 5. JVM에서는.. 2021. 5. 28.
HashMap/HashSet의 원리 안녕하세요! 조엘입니다! 오늘은 HashMap과 HashSet이 어떻게 데이터를 저장하는지에 대해 한번 알아보아요! 💪 피드백 환영입니다! 댓글 달아주세요 :) *** HashMap *** HashMap은 Map 인터페이스를 구현한 컬렉션이에요. Map 인터페이스는 Key Object와 Value Object를 같이 저장하는 데이터 구조예요. Key Object를 기반으로 데이터를 저장하고, 접근하기 때문에 Key Object는 고유해야 해요. 따라서 Key Object는 중복해서 저장할 수 없어요. 또한 저장 순서와 출력 순서를 보장하지 않는 데이터 구조라고 알려져 있어요. *** HashSet *** HashSet은 Set 인터페이스를 구현한 컬렉션이에요. HashSet은 내부적으로 HashMap으로.. 2021. 3. 13.
Java Code Conventions 우아한테크코스 1차에 합격했다! 이제 3주 동안의 프리코스를 거칠 텐데, 그전에 자바 코드 컨벤션을 공부해보도록 한다. 몸이 너무 안 좋아서 글을 읽는 게 도저히 안 되더라ㅜㅜㅜ 이미 잘 정리해주신 선배님들의 글을 참조하면서, 블로그에 포스팅하며 공부하기로 해본다. 미리 얘기하지만, 거의 베끼다시피 한 포스팅이다. 개인 공부를 위해 남긴다! 참조한 포스팅 : myeonguni.tistory.com/1596 [코딩규칙] 자바 코딩 규칙(Java Code Conventions) [코딩 규칙] 자바코딩 규칙(Java Code Conventions) 자바 프로그래밍 언어 코딩 규칙 원문 : Oracle / Code Conventions for JavaTM Programming Language / 1999-4-2.. 2020. 11. 24.
반응형