반응형

2024/12/16 15

[Java] JVM의 피연산자 스택의 피연산자 저장 단위

출처 - 자바의 정성 (남궁 성 지음)​JVM의 피연산자 스택(operand stack)이 피연산자를 4 byte 단위로 저장하기 때문에​크기가 4 byte보다 작은 자료형(byte, short)의 값을 계산할 때는 4 byte로 변환하여 연산이 수행된다.​그래서 오히려 int를 사용하는 것이 더 효율적이다.​​​이 말인즉슨 short를 사용하여 2 byte 짜리 변수를 선언한다 하더라도 이 변수가 계산에 씌이는 피연산자가 될 경우​JVM은 short변수를 피연산자 스택에 저장하면서 4 byte 로 저장하기 때문에 메모리 절약을 위해서 short 변수를 선언한거라면 메모리 절약에 전혀 도움이 되지 않는다.​게다가 형변환까지 해야 되므로 오히려 손해이다.​C언어도 이렇게 된다고... 어디서 본 것 같은데...

JAVA/Study 2024.12.16

[Java] JVM의 메모리구조

출처 - 자바의 정석 (남궁 성 지음)​1. 메서드 영역(method area)프로그램 실행 중 어떤 클래스가 사용되면, JVM은 해당 클래스의 클래스파일(*.class)을 읽어서 분석하여 클래스에 대한 정보(클래스 데이터)를 이곳에 저장한다. 이 때, 그 클래스의 클래스 변수(class variable)도 이 영역에 함께 생성된다.​2. 힙(heap)인스턴스가 생성되는 공간. 프로그램 실행 중 생성되는 인스턴스는 모두 이곳에 생성된다. 즉, 인스턴스 변수(instance variable)들이 생성되는 공간이다.​3. 호출스택(call stack 또는 execution stack)호출스택은 메서드의 작업에 필요한 메모리 공간을 제공한다. 메서드가 호출되면, 호출스택에 호출된 메서드를 위한 메모리가 할당되..

JAVA/Study 2024.12.16

[Java] this 참조변수

출처 - 자바의 정석 (남궁 성 지음) class Car{private String color;private String gearType;private int door; Car(String color, String gearType, int door) { this.color = color; this.gearType = gearType; this.door = door; }} 위의 코드에서처럼 생성자의 매개변수(지역변수)의 변수명과 인스턴스 변수명이 동일하면​this.으로 인스턴스 변수와 매개변수를 구분지어 준다.​this.color = color; 대신 color = color;으로 하면 둘 다 매개변수(지역변수)로 간주된다.​​​this는 참조변수로 인스턴스 자신을 가리킨다. 따라서, this를 사..

JAVA/Study 2024.12.16

[C] scanf() 함수의 입력 형식 기호

https://docs.microsoft.com/ko-kr/cpp/c-runtime-library/format-specification-fields-scanf-and-wscanf-functions?view=msvc-160  형식 사양 필드: scanf 및 wscanf 함수자세한 정보: 사양 필드 서식 지정: scanf 및 wscanf 함수learn.microsoft.com https://docs.microsoft.com/ko-kr/cpp/c-runtime-library/scanf-type-field-characters?view=msvc-160 scanf 형식 필드 문자자세한 정보: scanf 형식 필드 문자learn.microsoft.com

C/Study 2024.12.16

[C] 변수의 이름을 짓는 규칙 (변수명 규칙)

출처 - 한눈에 보이는 C 프로그래밍 (무작정 따라하기)​1. 영문자, 숫자, 밑줄(_)을 사용할 수 있다.​2. 변수 이름의 첫 글자는 밑줄(_)이나 영문자이어야 한다.​3. 밑줄(_)을 제외한 특수문자는 사용할 수 없다.​4. 미리 정의되어 있는 키워드(혹은 예약어)는 사용할 수 없다.​5. 되도록 헝가리언 표기법으로 이해하기 쉽게 표현한다.(헝가리언 표기법을 지양하고 다른 표기법을 따르는 경우도 많다.나 같은 경우는 "Google C++ Style Guide"의 표기법을 따른다.회사 또는 프로젝트에서 지정한 표기법이 있다면 해당 표기법을 따른다.표기법이라는 것은 같이 개발하는 사람들끼리 코드 가독성을 위해 사전에 약속하여 사용하는 것으로 어느것이 맞고 틀리고의 개념이 아니다.)

C++/Study 2024.12.16
반응형