분류 전체보기(348)
-
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 -
VA to PA
보호되어 있는 글입니다.
2023.06.02 -
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