Computer Science/Programming Language (3) 썸네일형 리스트형 Java 가비지 컬렉션 자바 가비지 컬렉션의 동작 알고리즘자바의 가비지 컬렉션은 더 이상 사용되지 않는 객체들을 자동으로 메모리에서 제거하는 JVM의 핵심 기능이다. 가비지 컬렉션은 개발자가 수동으로 메모리 관리를 하지 않아도 되도록 하여 메모리 누수를 방지하고 개발 생산성을 향상시킨다. 약한 세대 가설 (Weak Generational Hypothesis)자바의 가비지 컬렉션은 약한 세대 가설이라는 전제를 기반으로 설계되었다. 이 가설은 다음 두 가지 관찰에 기반한다.대부분의 객체는 금방 접근 불가능한 상태(Unreachable)가 된다.오래된 객체에서 새로운 객체로의 참조는 매우 적게 존재한다.이러한 가설에 따라 JVM은 힙 메모리를 Young Generation과 Old Generation으로 분할하여 효율적인 메모리 .. 얉은 복사 VS 깊은 복사 (Python, Java) 얕은 복사와 깊은 복사얕은 복사(Shallow Copy)는 객체의 참조값(주소값)만을 복사하는 방식이고, 깊은 복사(Deep Copy)는 객체의 실제 값을 새로운 메모리 공간에 복사하는 방식이다.얕은 복사 (Shallow Copy)얕은 복사는 객체의 최상위 속성만 복사하고, 중첩된 객체나 배열은 원본과 같은 참조를 공유한다. 이는 메모리를 절약하고 빠른 복사가 가능하지만, 중첩된 객체를 수정하면 원본에도 영향을 미치는 특징이 있다.얕은 복사의 특징메모리 효율성: 주소값만 복사하므로 메모리 사용량이 적다.빠른 속도: 참조만 복사하므로 복사 과정이 빠르다.참조 공유: 중첩된 객체를 원본과 복사본이 공유한다.깊은 복사 (Deep Copy)깊은 복사는 객체의 모든 레벨의 중첩된 속성까지 완전히 새로운 메모리 공.. AST & JavaScript 컴파일러 동작 방식 AST란?추상 구문 트리(abstract syntax tree, AST) 또는 간단히 구문 트리(syntax tree)는 프로그래밍 언어로 작성된 소스 코드의 추상 구문 구조의 트리이다.이 트리의 각 노드는 소스 코드에서 발생되는 구조를 나타낸다.구문이 추상적이라는 의미는 실제 구문에서 나타나는 모든 세세한 정보를 나타내지는 않는다는 것을 의미한다.예를 들어, 그룹핑을 위한 괄호는 암시적으로 트리 구조를 가지며, 분리된 노드로 표현되지는 않는다.마찬가지로, if-condition-then 표현식과 같은 구문 구조는 3개의 가지에 1개의 노드가 달린 구조로 표기된다.출처: 위키백과 AST를 한국어로 한다면 추상 구문 트리이다.본인은 어려운 용어를 이해할 때 그 말을 끊어서 뜻을 이해하는데 AST도 그렇게 .. 이전 1 다음