본문 바로가기

Java12

[Java] Garbage Collector에 대해 알아보자 1. GC란 무엇인가?GC는 더 이상 사용하지 않는 객체를 찾아서 메모리(Heap)에서 자동으로 지워주는 JVM의 청소부이다. [왜 GC가 필요한가?]원래 C/C++같은 언어는 개발자가 직접 "free()"를 사용하여 메모리를 직접 반납해야 했지다.하지만 Java는 반납하는 작업을 GC가 알아서 하도록 만들어 편의성을 높혔다. [GC가 메모리를 반납하는 기준은 무었인가?]그렇다면 GC가 자동으로 메모리를 반납하는 기준은 무엇인가?그것은 바로 "이 객체에 도달할 수(reachable) 있나?"이다도달할 수 있다는 의미는 이 객체가 참조되어 있는지를 확인하는 것을 의미한다GC는 아래 같은 GC roots에서 출발해 그래프를 탐색한다.- 실행 중인 스레드의 Stack에 잡힌 참조- static필드 참조- J.. 2026. 1. 4.
[Java] 단위 테스트와 통합 테스트의 차이점과 장단점 📌 왜 알아야할 까?- 버그를 언제 어디서 얼마나 잡을 수 있느냐의 차이- 단위테스트 -> 객체 혼자 잘 동작하는지- 통합테스트 -> 모두 같이 붙었을 때 문제없는지 [단위테스트란 무엇인가?]- 단위 테스트(Unit Test)는 아주 작은 단위를 테스트 하는것을 의미한다.- 보통 메서드 하나를 테스트하며 외부(DB, 네트워크, 카프카)등과 연결하지 않고 테스트를 실행한다.- 외부와 연결하지 않음으로 테스트 속도는 빠르다.- 또한 아주 작은 단위를 테스트함으로서 실패 원인을 바로 확인할 수 있다.- "하나의 부품이 정상적으로 동작하는가"를 확인하기 위함 - SpringBoot기준으로 Service로직이 "혼자서" 정상적으로 동작하는지 확인하기 위함 [통합테스트란 무엇인가?]- 여러 컴포넌트를 실제로 연결.. 2026. 1. 2.
[Java] AutoWired는 무엇이며 왜 사용하지 않는가 예전부터 이해가 잘되지 않았던 AutoWired는 무엇이며 왜 쓰고 지금은 왜 사용하지 않는지에 대해 알아보자.📌 @Autuwired 한 줄 요약➡️ @Autowired는 "Spring에게 대신 객체를 만들어서 넣어달라고 하는 표시"이다@Autuwired가 없을 경우OrderService orderService = new OrderService(); @Autowired가 있는 경우@AutowiredOrderService orderService;SpringBoot에서는 객체를 미리 만들어서 보관하는데 이것을 Bean이라고 한다.@Autowired가 붙어있으면 "여기에 Bean(객체)을 넣어줘야 하는구나"라고 SpringBoot가 이해한다.📝 예제@Servicepublic class OrderServic.. 2025. 12. 30.
[Java] StringBuffer StringBuffer 👏 도움 점프 투 자바: StringBuffer 03-05 StringBuffer [TOC] StringBuffer는 문자열을 추가하거나 변경 할 때 주로 사용하는 자료형이다. StringBuffer의 메서드들을 살펴보면서 StringBuffer의 사용법에… wikidocs.net 개념 StringBuffer는 문자열을 추가하거나 변경할 때 사용하는 자료형이다. 문자열을 작업중에 가공하기에 유용하다 ■ append append는 StringBuffer객체를 생성하며 문자열을 생성해준다. //StringBuffer 객체 생성 StringBuffer sb = new StringBuffer(); //sb에 문자열 추가 sb.append("Hello"); sb.append(" "); sb.. 2023. 3. 7.