[study] CPU 연산의 최소 단위는? [JVM이 32비트 연산을 기본으로 처리하는 이유]
·
◈ Study/기초튼튼 개발지식🥔
- CPU 연산의 최소 단위는? 현재 대부분의 일반적인 컴퓨터 아키텍처에서는 32비트 단위 이하의 연산은 지원하지 않는다. (일부 임베디드 시스템이나 구형 컴퓨터에서는 8비트, 16비트 아키텍처를 사용하는 경우도 있다.) 16비트 아키텍처는 1980년대 중반까지 사용되었으며, 이 시기에는 IBM PC 등의 개인용 컴퓨터에서 인텔의 8086과 80286 프로세서가 널리 사용되었다. 하지만 이러한 아키텍처에서는 32비트 이상의 데이터를 처리하려면 두 개의 16비트 데이터를 조합해야 하는데 이는 처리 속도가 느려지는 문제가 있었다. 현재에 이르러서는 대부분의 컴퓨터가 32비트를 넘어 64비트 아키텍처를 사용하고 있다. 64비트 아키텍처에서는 32비트 데이터 처리도 가능하다. 64비트 아키텍처에서는 64비트와 ..
[Spring] SOLID : 객체지향 설계의 5가지 원칙(1) [SRP(Single Responsibility Principle) : 단일 책임 원칙]
·
▣ Framework/Spring🍃
- SRP(Single Responsibility Principle) : 단일 책임 원칙 단일 책임 원칙은 모든 클래스는 하나의 책임만 가져야 한다는 원칙이다. 클래스가 하나의 책임만 가지게 되면, 코드의 유지보수가 용이해지고 재사용성이 높아지며, 버그 발생 가능성이 줄어들어 코드의 신뢰성이 높아진다. 아래는 단일 책임 원칙이 위배된 코드이다. public class Employee { private String name; private int id; private String address; private double salary; /* Constructor, getters, and setters */ public boolean saveEmployee() { // save employee data to..
[study] Java에서 상수(Constant) 선언 방법은? [final 키워드로 선언되는 변수]
·
◈ Study/기초튼튼 개발지식🥔
- Java에서 상수(Constant) 선언 방법은? 자바에서 상수는 final 키워드로 선언되며 값을 변경할 수 없는 변수이다. 일반적으로 자바에서는 상수를 모두 대문자로 작성하며, 단어와 단어 사이는 언더스코어(_)로 구분(=스네이크 표기법)한다. 이렇게 상수를 작성하는 것은 상수를 쉽게 구분할 수 있도록 하며, 가독성을 높이기 위한 관례이다. 아래는 자바에서 상수명을 작성하는 예시이다. public class Example { // 상수 선언 public static final int MAX_COUNT = 100; public static final String DEFAULT_NAME = "John Doe"; public static void main(String[] args) { // 상수 사용 ..
[JAVA] 변수의 메모리 할당 시점과 삭제 시점 [메모리 할당 시점, 삭제 시점, 블록 내에서의 메모리 재사용]
·
◎ Java/Java☕
- 변수의 메모리 할당 시점과 삭제 시점 1. 메모리 할당 시점 변수가 선언되면 해당 변수에 대한 메모리 공간이 할당되며, 이 때 변수의 타입에 따라 할당되는 메모리의 크기가 결정된다. 변수가 선언된 블록에서만 사용할 수 있으며 해당 블록이 실행될 때 메모리에 할당된다. 2. 삭제 시점 변수의 생명 주기는 해당 변수가 선언된 블록의 실행이 끝날 때까지이며, 블록이 실행되는 동안 변수는 유효하다. 블록이 실행을 마치면, 해당 블록에서 선언된 모든 변수들은 메모리에서 삭제된다. 객체가 변수일 경우, 해당 객체에 대한 참조 카운트가 0이 되면 가비지 컬렉터(Garbage Collector)가 메모리에서 삭제한다. 3. 블록 내에서의 메모리 재사용 Java는 스택(Stack)과 힙(Heap) 영역으로 메모리를 ..
[study] Java 메모리 영역 구조 [메서드 영역(Method Area), 힙 영역(Heap), 호출 스택 영역(Call Stack)]
·
◈ Study/기초튼튼 개발지식🥔
- Java 메모리 영역 구조 자바 가상 머신(JVM)은 자바 프로그램이 실행되는 동안 메모리 관리를 담당한다. JVM 메모리 관리 영역은 자바 프로그램 실행 시 필요한 메모리를 효율적으로 할당하고 관리하기 위한 구조로, 프로그램의 성능과 안정성에 큰 영향을 미친다. 개발자는 이를 잘 이해하고 JVM의 옵션을 적절히 설정하여 최적의 성능을 추구해야 한다. 1. 메서드 영역(Method Area 또는 Permanent Generation) 메서드 영역은 클래스에 대한 정보(클래스 이름, 메소드, 변수, 상수)를 저장하는 영역이다. 클래스가 처음 사용될 때 해당 클래스의 정보가 이곳에 로드된다. 메서드 영역은 JVM 시작 시에 할당되며, 모든 스레드가 공유한다. 메서드 영역은 Java 7 이전 버전에서는 P..