# 메모리
[JAVA]생성자,this,인스턴스와 객체,메서드,스태틱,메모리
생성자는 클래스를 만들면 자동으로 생기는 것으로 클래스명과 동일하고 클래스를 만들 때 멤버변수나 상수를 초기화한다. 일반적으로는 'class명 () {}'다음과 같은 형식으로 생성되고 따로 멤버변수에 대한 디폴트값을 초기화하고 싶으면 'class명 () { 디폴트값설정
[개발자되기: 컴퓨터 공학 기초] Day-53
컴퓨터가 처리할 수 있는 형태로 데이터와 명령을 받아들이는 물리적인 장치ex) 키보드, 마우스, 스캐너, 태블릿 등 처리된 데이터를 사람이 이해할 수 있는 형태로 출력하는 물리적인 장치 ex) 모니터, 프린터산술/논리 연산 장치: 덧셈 수행제어장치: 프로그램에 따라 명

CS 캐시메모리
캐싱(Caching)은 컴퓨터의 처리 성능을 높이기 위한 방법!CPU는 데이터를 처리하기 위해 메모리와 끊임없이 데이터를 주고 받는데 이 때 CPU에 비해 메모리는 속도가 느리기 때문에 메모리에 접근할 때 CPU는 효율적으로 사용되지 못한다.캐시 메모리(cache me

환상(장)의 (ElastiCache + Spring Session + Spring Security) Memory Leak
안녕하세요! Betalabs의 백엔드 개발팀의 Soora 입니다. 서비스를 정상적으로 오픈 후 어느 날 갑자기 전혀 예상치 못한 ElastiCache의 Redis에서 Memory Leak이 발생했습니다.
c++ allocator
allocator 클래스는 주로 표준 라이브러리의 컨테이너를 구현할 때 많이 사용된다.메모리 관리를 좀 더 세밀하게 컨트롤, 유연하고 효율적으로 사용해아 할 경우에 유저가 원하는 메모리 할당 방식으로 구현할 수 있다.컨테이너는 메모리를 최대한 효율적으로 관리할 수 있어

Buffer VS Cache
Swap 메모리를 알아보기 위해 메모리를 확인하는 과정을 진행 중, buff/cache를 자세히 정리해야겠다고 생각함위 이미지에서,used 는 사용중인 메모리의 크기를 말하는데 (전체메모리-free/buff/cache메모리)available 은 사용가능한 메모리의 크기
메모리 - 파일 읽기
이전 게시글에서 파일에 쓰는 프로그램을 작성 했다면, 이번에는 파일의 내용을 읽어서 파일의 형식이 JPEG 이미지인지를 검사하는 프로그램을 작성해보자. 위 코드에서 main 함수를 보면 사용자로부터 입력을 받는 것을 알 수 있다.여기서는 파일의 이름을 입력으로 받을 예
메모리 - 파일 쓰기
지난 게시글에서 아래 그림과 같은 메모리 구조를 간략하게 배웠었다.다시 복습하면, 머신 코드 영역에는 우리 프로그램이 실행될 때 그 프로그램이 컴파일된 바이너리가 저장된다.글로벌 영역에는 프로그램 안에서 저장된 전역 변수가 저장된다.힙 영역에는 malloc으로 할당된

[JS] V8 엔진의 메모리 모델
V8 엔진의 메모리에서 실행되고 있는 프로그램을 Resident Set이라고 하며 크게 Heap memory와 Stack으로 나누어집니다.참조형 데이터의 실체와 동적 데이터가 저장되는 장소입니다.New space (Young generation)최근에 만들어진 데이터가
메모리 - 메모리 교환, 스택, 힙
아래와 같은 코드가 있다. 함수 swap은 정수 a와 b를 입력받아 그 값을 바꾸는 일을 수행한다.main 함수에서는 x에 1, y에 2를 입력하고 swap 함수를 통해 그 두 값을 바꾸려고 하고 있다.과연 의도대로 잘 바뀌어서 출력이 될까?위 코드를 컴파일하고 출력해

heap out of memory 에러 해결과 메모리 누수 검사
작성자: 추서연 작성자의 한마디: "가장 좋은 방법은 누수 없는 코드 짜기,,"
메모리 - 문자열 비교
위 코드를 실행하면, s라는 포인터의 값, 즉 “EMMA”라는 문자열의 가장 첫 값인 “E”에 해당하는 메모리 주소를 출력하게 될 것이다. 그렇다면 아래 코드들은 무엇을 출력할까?s가 가리키는 곳을 시작으로 “EMMA”라는 문자열로 이루어진 문자들의 배열이 있으니, 각
메모리 - 문자열
우리는 이전 게시물들에서 여태껏 문자열을 저장하기 위해 CS50 라이브러리에 포함된 string 자료형을 사용하였다.아래와 같이 s에 “EMMA”라는 값을 저장한다고 생각해보자.문자열은 결국 문자의 배열이고, s0, s1, s2, … 와 같이 하나의 문자가 배열의 한
메모리 - 포인터
지난 게시글에서 배웠던 ‘\*’ 연산자는 어떤 메모리 주소에 있는 값을 받아오게 해주었다.이 연산자를 이용해서 포인터 역할을 하는 변수를 선언할 수도 있다.위 코드를 보면 정수형 변수 n에는 50이라는 값이 저장되어 있다.그리고 \*p라는 포인터 변수에 &n 이라는 값
메모리 - 메모리 주소
컴퓨터과학에서는 숫자를 10진수나 2진수 대신 16진수(Hexadecimal)로 표현하는 경우가 많다. 컴퓨터에서 데이터를 처리하기 위해 16진수를 사용할 때 장점이 있기 때문이다. 16진수와 일상생활에서 우리가 사용하는 10진수와 비교하면 그 차이를 알 수 있다. 1
[6] 물리적 메모리의 할당과 페이징
물리적 메모리는 <span style='background-color:사용자 프로세스 영역은 사용자 프로세스가 적재되어 실행된다.이 곳에 적재되는 방식(프로세스가 메모리에 적재되는 방식)에 따라 1) 연속할당2) 불연속할당 으로 나뉜다.프로세스를 메모리에 올릴 때
[5] 주소 바인딩과 메모리
1. 주소 바인딩 >논리적 주소를 물리적 메모리 주소로 연결시켜 주는 작업 앞서 프로그램이 메모리에 적재되면 해당 프로세스의 독자적인 주소공간이 생긴다. 그 주소공간을 논리적 주소(logical address) 라고 한다. (혹은 가장 주소) 1-1. 논리적 주소와

메모리 관리 (Memory Management)
메모리 관리가 필요한 이유는? 각각의 프로세스는 독립된 메모리 공간을 갖고, 운영체제 혹은 다른 프로세스의 메모리 공간에 접근할 수 없는 제한이 걸려있다. 단지, 운영체제 만이 운영체제 메모리 영역과 사용자 메모리 영역의 접근에 제약을 받지 않기 때문에 운영체제에서 메