High Level Programming Language(74)
-
Package
Package자바에서 package 키워드는 클래스를 패키지에 속하도록 정의하는 데 사용됩니다. 패키지는 클래스들을 논리적으로 그룹화하고, 클래스들 간의 이름 충돌을 방지하고, 코드의 구조화를 도와주는 역할을 합니다. 여러 가지 이유로 package 키워드를 사용하는 이유는 다음과 같습니다: 이름 충돌 방지: 패키지는 동일한 이름을 가진 클래스들을 구분할 수 있도록 해줍니다. 서로 다른 패키지에 속한 클래스들은 같은 이름을 가질 수 있습니다. 이를 통해 다른 패키지에서 동일한 이름의 클래스를 사용할 때 이름 충돌을 방지할 수 있습니다.코드 구조화: 패키지는 클래스들을 그룹화하여 코드를 구조화하는 데 도움을 줍니다. 관련된 클래스들을 하나의 패키지에 포함시킴으로써 코드의 가독성과 유지 보수성을 향상시킬 ..
2023.06.03 -
Concurrency 1
자바 공식 Concurrency 튜토리얼 Thread스레드(Thread)란 프로세스 내에서 실행되는 독립적인 실행 흐름을 말합니다. 프로세스는 운영체제로부터 자원을 할당받아 실행되는 프로그램의 인스턴스를 의미하며, 각각의 프로세스는 하나 이상의 스레드를 가질 수 있습니다. 스레드는 프로세스 내에서 코드 실행의 기본 단위로, 동시에 여러 작업을 수행할 수 있습니다. 프로세스는 자신만의 주소 공간, 파일 핸들, 자원 등을 가지고 있지만, 스레드는 프로세스의 자원을 공유하여 실행됩니다. 따라서 스레드는 프로세스 내에서 동시에 여러 작업을 처리하고 서로 협력하여 작업을 완료할 수 있습니다. 스레드는 동시성 (Concurrency)을 제공하여 작업의 처리 속도를 향상시키고, 병렬성 (Parallelism)을 통해..
2023.06.03 -
객체 지향 프로그래밍
보호되어 있는 글입니다.
2023.06.03 -
JVM 메모리 구조
자바 가상 머신(JVM)의 메모리 구조는 크게 다음과 같은 영역으로 나뉩니다:메서드 영역 (Method Area)힙 영역 (Heap)자바 스택 (Java Stacks)PC 레지스터 (PC Registers)네이티브 메서드 스택 (Native Method Stacks) 메서드 영역메서드 영역은 JVM의 메모리 구조 중 하나로, JVM이 시작될 때 생성됩니다. 메소드 영역은 클래스의 메타데이터 즉, 클래스 레벨의 정보들을 저장하는 공간입니다. 클래스 레벨의 정보는 다음과 같습니다.클래스 이름수퍼클래스 이름인터페이스 코드메소드의 바이트 코드런타임 상수 풀필드와 메서드 데이터생성자메소드 정보이러한 메타데이터 중에서 메소드 정보 부분은 해당 클래스에 정의된 모든 메소드에 대한 메타데이터를 포함하며, 이는 vta..
2023.06.03 -
Expression and Statement
자바에서 expression과 statement은 프로그램의 기본 구성 요소로, 서로 다른 역할과 특성을 가지고 있습니다. 1. Expression:expression은 하나의 값으로 평가되는 코드 단위입니다.expression은 변수, 연산자, 메소드 호출 등을 포함할 수 있으며, 이들을 조합해 단일 값을 생성합니다.예를 들어, 5, x, x + y, methodCall(), true 등이 expression입니다.expression은 다른 expression의 일부가 될 수 있으며, 복잡한 expression을 형성하기 위해 중첩될 수 있습니다.2. Statement :statement은 자바에서 실행 가능한 최소한의 독립적인 코드 단위입니다.statement은 프로그램의 실행 흐름을 제어하며, 종류..
2023.06.01 -
char, String, Unicode, UTF-X
다음과 같이 char 타입의 변수를 선언하고 's' 를 대입하였다면,char alpabet = 's';alpabet에는 실제 아스키코드 0x73(0b0111 0011) 값이 저장됩니다. 유니코드유니코드(Unicode)는 컴퓨터에서 문자를 표현하는 국제 표준입니다. 유니코드는 전 세계의 모든 문자를 정확하게 표현하고 조작할 수 있도록 설계되었습니다. 이는 각 문자마다 고유한 번호를 부여하는 방식으로 동작하며, 이를 '코드 포인트(세상의 모든 문자에 대한 유일한 식별자, ID)'라고 부릅니다. 유니코드는 다양한 문자 집합, 인코딩, 스크립트, 기호 등을 지원하며, 이는 각각의 글자를 숫자로 매핑함으로써 이루어집니다. 이로 인해 유니코드는 세계 각국의 언어, 수학적 기호, 이모지 등 다양한 형태의 문자를 포함..
2023.05.31