![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWfr3O%2FbtrWRX1jkIE%2FXFuUGL4BkTplgqXcGWXdc1%2Fimg.png)
[Java] Java 실행원리 Deep Dive
2023. 1. 23. 21:01
Java/Deep Java
HTML 삽입 미리보기할 수 없는 소스 Java Java는 다양한 운영체제에서 동일한 소스코드를 실행할 수 있는 "write once, run anywhere"의 철학을 지닌 프로그래밍 언어입니다. 국내에서 가장 활발히 사용되는 언어이며 제가 현업에서도 주로 사용하는 언어입니다. 이번 포스팅을 통해서 자바가 실행되는 원리에 대해 살펴보겠습니다. 프로그래밍 언어가 특정 운영체제 위에서 실행되기 위해서는 해당 운영체제가 이해할 수 있도록 코드가 작성돼야 합니다. 하지만 자바 개발을 하신 분들은 동일한. java 파일을 맥 OS, 윈도우 또는 Linux에서 실행한 경험이 있으실 겁니다. 정확히는 javac(자바 컴파일러)에 의해 컴파일된 .class 코드가 동일하더라도 해당 코드는 서로 다른 운영체제 위에서 ..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcDIazV%2FbtrTRBzne2T%2FXwt9hPQYExNqCRz95mfRk1%2Fimg.png)
[Java] Java Thread Deep Dive
2022. 12. 17. 17:35
Java/Deep Java
Java thread는 OS thread에 1:1로 매핑된다는 특성 덕에 다른 언어에서 사용하는 thread에 비해 무겁다는 명성을 가지고 있습니다. OS thread의 크기는 기본적으로 MB 단위이므로 대규모로 thread를 생성해서 사용 시 메모리에 큰 부하를 줄 수 있습니다. 단, 곧 등장할 java의 virtual thread는 OS thread와 N:1 구조로 매핑되는 user level thread이므로 기존의 java thread와 비교하면 훨씬 가볍습니다. 하지만 아직 virtual thread가 프로덕션에서 활용된 사례가 많지 않기 때문에 당분간은 여전히 java thread를 자주 사용할 것이고, 그렇기 때문에 java thread와 OS thread의 관계에 대해 잘 이해해야 합니다...