분류 전체보기(58)
-
garbage collector(GC)
garbage란 정리되지 않은 메모리, 유효하지 않은 메모리 주소를 말한다. -프로그래밍 언어로는 "Dangling Object" 이라고 한다. c/c++언어와 달리 자바는 개발자가 명시적으로 객체를 해제할 필요가 없다. 사용하지 않는 객체는 메모리에서 삭제(해제) 하는 작업을 garbage collector(GC)라 부르며, JVM에서 GC를 수행한다. 기본적으로 JVM의 메모리는 총 5가지 영역(클래스, 스택, 힙, 네이티브 메서드, pc레지스처)으로 나뉘는데 GC는 heap 영역만 다룬다. garbage collector 가 실행되는 때 : JVM이 프로그램을 실행하다가 메모리가 부족해지면 OS추가로 메모리를 더 요청하게 된다. 바로 이때 실행 된다. 가비지의 대상이 되는 경우 : 프로그램이 실행되..
2020.03.10 -
정적 변수(static variables)
static 변수는 메모리에 고정적으로 할당 되어, 프로그램이 종료될 때 해제 되는 변수이다 . class 는 컴파일 시 static 영역에 생성되고, new 연산자를 통해 생성한 객체는 heap영역에 생성된다. 즉, static 변수와 static 메소드는 static 메로리 영역에 존재 하기 때문에 객체가 생성되기 이전 컴파일 시 이미 할당 되어있다. static 변수의 특징 1) 메모리에 한번 할당 되므로 여러 객체가 해당 메모리를 공유하게 된다 -하나의 클래스에 하나만 존재하는 것이고 그 클래스의 모든 객체들에 의하여 공유된다. -보통 변수의 static 키워드는 프로그래밍시 메모리의 효율 보다는 공유하기 위한 용도로 사용하는 것이다. 2) 멤버 변수와 다르게 객체의 생성 여부와 상관 없이 딱 하..
2020.03.10 -
<알기쉬운 알고리즘> Chapter1 - 알고리즘의 첫걸음
1.1 최대 숫자 찾기 카드 10장이 바닥에 펼쳐져 있을 때, 가장 큰 숫자가 적힌 카드를 찾는 한가지 방법은 카드의 숫자를 하나씩 비교하면서 본 숫자들 중에서 가장 큿 숫자를 기억해가며 진행하는 방법일 것이다. -> 이렇게 찾는 방법을 순차탐색 (Sequential Search)라고 한다. 즉, 카드를 한장씩 차례대로 (주어진 순서대로) 읽어가며 찾는 것이다. 1.2 임의의 숫자 찾기 만약 카드가 15,20,25,35,45,55,60,75,85,90 일때 85를 순차탐색으로 찾을 경우 앞쪽에 있는 8장의 카드를 읽은 후에나 85를 찾는다 -> 오름차순으로 정렬된 데이터를 반으로 나누고, 나누어진 반을 다시 반으로 나누고, 이과정을 반복하여 원하는 데이터를 찾는 탐색 알고리즘을 이진탐색(Binary Se..
2020.03.07 -
알고리즘 공부를 시작하게된 계기와 목표
알고리즘 공부를 시작하게 된것은 내가 컴퓨터 프로그래밍을 공부하게 된 지 4개월 쯤 됬을 때이다. 비전공자이자 한번도 컴퓨터 프로그래밍을 접해본적이 없는 나에게 생소했던 용어들이 조금은 익숙해진 무렵 자바를 공부하면서 코드를 짤때 나에게 알고리즘을 생각하는 것이 어렵다는 것을 깨달았다 왜 이런 기능을 만드는데 이렇게 되는 거지? 라는 적인 의문이 들기 시작했을 때, 나는 알고리즘을 공부할 시기라고 생각이 들었다 그래서 오래된 알고리즘 책을 하나 빌려 읽기 시작한다. 오늘은 알고리즘 공부를 시작하는 날이다. 2020.03.07. 비록 오전과 오후에 학원으로 가득찬 나의 일정 때문에 주중에 알고리즘 공부가 거의 불가능 하기 때문에 주로 주말에 해야할 것 같지만 꾸준히 해볼 수 있도록 한다. 시작일 : 202..
2020.03.07