728x90
Java의 변수에 대해서 복습하면서 Kotlin 문법도 함께 학습하면서 정리한 내용입니다.🐻 변수어떤 프로그래밍 언어를 사용해도 내용을 담을 수 있는 변수를 사용합니다. 이 변수에는 4가지의 종류가 존재합니다.지역 변수매개 변수인스턴스 변수클래스 변수위 4가지에 대해서 살펴보고, 코틀린에서 변수를 어떻게 사용하는지 살펴보겠습니다. 🐻 개념 정리자바 변수의 종류와 생명주기 완벽 이해하기프로그래밍을 하다 보면 다양한 종류의 변수들을 만나게 됩니다. 이 변수들은 각각 저장되는 위치와 생명주기가 다른데요, 이번 글에서는 지역 변수(Local Variable), 매개변수(parameter), 인스턴스 변수(Instance Variable), 클래스 변수(Class Variable)의 개념과 특징을 알아보겠습니..
이전글 : 생산자-소비자 문제 이번 포스트에서는 스레드를 직접 생성하지 않고 관리하는 스레드 풀과 작업 큐와 스레드 풀을 고수준으로 사용할 수 있도록 해주는 Executor 프레임워크에 대해서 알아보는 것이 목표입니다. 🐻 스레드 풀 (Thread Pool)스레드 풀은 컴퓨터 프로그램에서 실행의 동시성을 달성하기 위한 소프트웨어 설계 패턴의 구성요소입니다.스레드 풀은 이전에 생성된 스레드를 재사용하여 작업을 실행하며, 스레드 사이클 오버헤드와 리소스 스레싱 문제를 해결합니다.비동기는 작업을 동시에 처리할 수 있도록 스레드를 생성하여 실행합니다. 이때 생성되는 스레드는 시스템 콜을 통해 생성되며, 각 스레드는 자신만의 호출 스택(call stack)을 할당받습니다. 또한 운영체제가 관리하는 스케줄링 알..
이전글 JAVA : JVM 이란Java의 JVM에 대해서 학습한 내용을 정리한 포스트입니다. 🐻 JVMJVM은 Java Virtual Machin의 약자입니다.자바 관련 서적을 보게 되면 가장 먼저 자바의 실행 과정을 설명해 줍니다. Windows, Mac, Linux 등 OSdoitwojae.tistory.com 이번 포스트는 JVM의 메모리 모델과 GC에 대해서 살펴보겠습니다.🐻 JVM 이전 포스트에서 JVM에 대해서 살펴보았습니다. JVM의 전체적인 아키텍처 중 Runtime Data Area에 존재하는 Heap Area에 대해서 살펴보며 메모리를 관리해 주는 GC에 대해서 알아보겠습니다.🐻 Runtime Data AreaJava는 JVM을 이용해 권한을 할당받아 프로그램을 호출합니다. Run..
이전글 스레드란 무엇인가: 생산자 소비자 문제-2 (8)이전글 스레드란 무엇인가: 생산자 소비자 문제 (7)이전글 스레드란 무엇인가: Spring Boot 모니터링을 하다 생긴 궁금증(6)단2025.05.18 - [Developer/JAVA] - 스레드란 무엇인가: Spring Boot 모니터링을 하다doitwojae.tistory.com 공유 자원에 스레드가 동시 접근하여 값을 변경 시도하는 것을 막기 위한 동기화 외에 CAS라는 방식에 대해서 알아보겠습니다. 🐻 CAS - 원자적 연산CAS는 Compare and Swap의 줄임말입니다.이는 데이터 원자성을 보장하기 위한 하드웨어적 지원 메커니즘입니다. 하드웨어적 지원 메커니즘이란 CPU가 하나의 작업을 수행할 때, 원자적 연산을 보장한다는 뜻입..
Java의 JVM에 대해서 학습한 내용을 정리한 포스트입니다. 🐻 JVMJVM은 Java Virtual Machin의 약자입니다.자바 관련 서적을 보게 되면 가장 먼저 자바의 실행 과정을 설명해 줍니다. Windows, Mac, Linux 등 OS에 종속적이지 않고 Java는 어느 환경에서도 실행할 수 있습니다. 이는 Java가 WORA (Write Once, Run Anywhere) 정신을 가지고 만들어졌기 때문입니다. 🐻 1. JVM 기본 배경어떻게 Java가 어느 OS 환경에서든지 실행될 수 있는지 알아보겠습니다. 먼저 우리가 작성한 소스코드가 어떤 과정을 거치게 되는지 살펴보겠습니다.출처 : JVM이란?우리가 작성한 자바 코드는 컴파일러에 의해서 바이트 코드로 컴파일됩니다. 컴파일된 결과물..
자바에는 Call by reference 가 없습니다. 이에 대해서 이유를 살펴보겠습니다. 🐻 Call by value, Call by reference프로그래밍을 하다 보면 꼭 알고 넘어가야 하는 개념이 있습니다. 바로 Call by Value, Reference입니다. 어떤 언어를 공부하든 나오는 개념이기도 합니다.함수의 매개변수에서 값을 복사하느냐 주소값을 참조하느냐에 따라 반환 결과가 달라집니다. 🐻 Call by valueCall by value란, 값을 호출하는 것을 의미합니다. 또는 값에 의한 호출, 값만 전달하는 방식이라고 합니다.전달받은 전달받은 값을 복사하여 처리합니다. 전달받은 값을 변경해도 원본에 영향이 가지 않습니다. 두 변수의 값을 변경하는 예제를 통해서 살펴보겠습니다.pub..