본문 바로가기

반응형

JVM

(3)
[Spring] 자바 웹 애플리케이션 & WAS 동작 원리 파이썬 웹 애플리케이션을 실행하기 위한 Gateway Interface 서버인 WSGI, ASGI 등에 대해 정리한 적이 있다. 이러한 Gateway Interface 서버는 파이썬으로 구현되어 있어서, Django와 같은 파이썬 웹 프레임워크로 개발된 애플리케이션을 파이썬 모듈로 import 하여 사용할 수 있다. 이는 인터페이스 서버가 동작하는 프로세스 안에서 해당 애플리케이션 코드를 직접 import하여 Python object 또는 callable 형태로 사용한다는 의미이다. 그렇다면 자바에서는 어떨까? 파이썬의 Gateway Interface 서버와 유사하게, 자바에도 Tomcat,  Jetty 등의 웹 애플리케이션 서버 (WAS) 가 존재한다. 이들 서버 역시 요청을 받아 자바 애플리케이션을 ..
[JAVA] 자바 (Java Programming Language) 1. 자바란? 자바는 썬 마이크로시스템즈에서 개발하여 1996년 1월에 공식적으로 발표한 객체지향 프로그래밍 언어이다. 자바의 가장 중요한 특징은 OS에 독립적이라는 것이다. 자바로 작성된 프로그램은 운영체제의 종류에 관게없이 실행이 가능하기 때문에 운영체제의 종류와 버전에 상관없이 실행이 가능하다. 이러한 장점으로 인해 자바는 다양한 기종의 컴퓨터와 운영체제가 공존하는 인터넷 환경에 적합한 언어로 인터넷의 발전과 함께 많은 사용자를 확보하게 되었다. 또한 객체지향개념과 C++의 장점들을 채택하는 반면 잘 사용하지 않는 부분을 제외시켜 간결하고 쉬운 표현이 가능하도록 했다. 2. 자바의 역사 자바는 1991년 썬의 엔지니어들에 의해 고안된 Oak라는 언어에서 시작되었다. 처음에는 가전제품에 탑재될 소프트..
[JAVA] JVM (Java Virtual Machine) 1. JVM 이란? 자바 가상 머신 (Java Virtual Machine, JVM)은 시스템 메모리를 관리하면서 자바 기반 애플리케이션을 위해 이식 가능한 실행 환경을 제공한다. 한마디로 JVM은 자바 애플리케이션을 실행하는 프로그램이다. 이를 통해 자바는 OS 에 종속되지 않고, JVM이 존재한다면 실행 가능하다. Stack 기반의 가상 머신이다. 2. JVM의 용도와 정의 JVM에는 2가지 기본 기능이 있다. - 자바 프로그램을 어떤 환경 (기기, 운영체제 등등)에서도 실행될 수 있도록 하는것 - 프로그램 메모리를 관리하고 최적화 하는 것 (메모리 관리, Garbage collection) JVM은 기술적인 정의와 소프트웨어 개발자들의 일반적인 정의를 통해 두가지 정의를 나눌 수 있다. - 기술적 ..

반응형