가비지 컬렉터(Garbage Collector)란? 가비지 컬렉터는 사용되지 않는 메모리를 대신 회수해주는 프로세스 입니다. 가비지 컬레션은 JVM 힙 공간에서 사용할 수 있는 모든 객체를 추적하고 사용하지 않는 객체들은 제거합니다. 가비지 컬렉터는 기본적으로 Mark and Sweep 두가지 단계로 동작합니다. Mark - 가비지 컬렉터에서 사용 중인 메모리와 사용하지 않는 메모리를 식별 Sweep - Mark에서 확인한 사용하지 않는 메모리를 제거 사용되지 않는 메모리 공간은 GC에서 자동으로 처리되므로 molloc/free의 별도 메모리 할당,해제 처리를 하지 않아도 됩니다. C언어 같은 경우에는 malloc, free를 통해 개발자가 직접 메모리 공간할당을 합니다. https://www.geeks..
[ 목차 ] 1. 개요 2. 냅색 알고리즘 개념 3. 냅색 알고리즘 원리 개요 특정 가중치와 할당된 값을 가진 항목 집합이 주어지면 가중치 제약 내에 머무르면서 배낭의 값을 최대화하는 것이 목표인 시나리오에서 유래된 알고리즘 입니다. 냅색 알고리즘은 optimization 카테고리에 속하는 DP(Dynamic Programming) 문제 입니다. *optimization DP(Dynamic Programming) 해법으로는 총 두가지가 있습니다. 1. Overlapping subproblem 2. Optimal substructure 여기서 냅색 알고리즘은 2번째 Optimal substructure은 작은 문제의 최적 해법으로 원래 문제의 최적 해법을 구하는 방식 입니다. 문제 예시를 들어보면, 마리는..
혼공학습단 9기 혼공자바를 6주 동안 완독 하였습니다 오랜만에 책을 읽었지만 완독까지 한 건 진짜 오랜만이네요... 회사 다니면서 스터디를 하는 것은 정말 힘든 일인 거 같아요... 스트레스도 많이 받았지만 혼공자바를 읽고 숙제해 나가면서 흥미롭고 새로운 사실도 많이 알 수 있는 계기가 많아서 여기까지 올 수 있었던 것 같습니다 👍 또한 저는 혼공학습단을 꼭 하고 싶었던 이유가 지난 8기 모집 때도 혼공학습단에 선정되어서 자바 스터디를 한 적이 있습니다. 그때도 3주 차까지 진행하던 중 점점 진도가 밀리게 되어 남은 기간 동안 완독을 못하게 되어서 아쉽게도 혼공학습단을 끝까지 못하게 된 게 아쉬움이 많이 남았습니다. 하지만 이런 저의 실패에도 스터디를 다시 참여할 수 있게 해 주셔서 여기까지 올 수 있게..
혼공자 6주차 미션 기본미션 : 입출력 스트림 요약 정리하여 포스팅하기 선택미션 : p. 632 문제 2번 풀고, 풀이 과정 설명하기 입출력 스트림 입출력 스트림의 종류 java.io 패키지에는 여러 가지 종류의 스트림클래스를 제공하고 있습니다. 이들 스트림 클래스는 다음과 같이 크게 두 종류로 구분됩니다. 바이트 기반 스트림 : 그림, 멀티미디어 등의 바이너리 데이터를 읽고 출력할 때 사용 문자 기반 스트림 : 문자 데이터를 읽고 출력할 때 사용 구분 바이트 기반 스트림 문자 기반 스트림 입력 스트림 출력 스트림 입력 스트림 출력 스트림 최상위 클래스 InputStream OutputStream Reader Writer 하위 클래스 XXXInputStream (FileInputStream) XXXOut..
벌써 혼공학습단 5주차라니...스터디도 얼마 안남았네요.. 유종의 미를 거둬보겠습니다. 🥹 오늘 공부할 단원은 13. 컬렉션 프레임워크 입니다. 딱 주제를 보자마자 요즘 코딩테스트 준비하는 저에게 꼭 공부해야되는 단원이라 생각이 들어서 개념을 열심히 다졌습니다. 📄 혼공자 5주차 미션 (Chapter 13. 컬렉션 프레임워크) - 기본미션 : 직접 정리한 키워드 공유하기 - 선택미션 : p. 573 [직접 해보는 손코딩] 코딩 과정 및 실행 결과 캡쳐하기 컬렉션 프레임워크 자바는 자료구조를 사용해서 객체들을 효율적으로 추가, 삭제, 검색할 수 있도록 인터페이스와 구현 클래스를 java.util 패키지에서 제공합니다. 이들을 총칭해서 컬렉션 프레임워크라고 부릅니다. List 컬렉션 List 컬렉션은 배열과..
안녕하세요 오늘은 springSecurity 적용하면서 deprecated 된 WebSecurityConfigurerAdapter를 어떻게 변경하면 되는지 정리해보는 시간을 갖도록 하겠습니다! 엔드포인트 권한 부여 설정 변경전 : WebSecurityConfigurerAdapter 확장해서 HttpSecurity를 파라미터로 갖는 configure() 메서드 재정의 @Configuration @RequiredArgsConstructor public class SecurityConfiguration extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http...