JVM

    [Web] 웹(Java, JVM, JDK, IDE, Servlet Container)

    자바의 대표적인 특징 간결하면서도 강력한 객체지향 프로그래밍 언어다. 플랫폼에 독립적이어서 여러 운영체제나 하드웨어에서도 동일하게 실행할 수 있다. 많은 오픈소스 라이브러리를 통해 생산성이 향상되고 유지보수 비용이 절감된다. GUI 기반의 응용 프로그램 개발에는 적합하지 않다. 하드웨어를 정밀하게 제어해야 하는 프로그램 개발에는 비교적 적합하지 않다. 최신 모던 프로그래밍 언어에 비해 간결함이 떨어지고 코드가 복잡하며 불필요한 코드가 많다. Java 8~11의 버전 변화를 거치며 많이 보안되었다. 자바의 버전 매년 버전업되어 최신 버전이 나오지만 개발의 안정성과 호환을 위해 LTS(Long Term Support) 버전을 사용하는 것이 좋다. 11은 최대 2026년까지 기술 및 보안 업데이트 등이 보장되..

    [Java] JVM, JRE, JDK의 차이

    JVM JVM은 자바 가상머신(Java Virtual Machine)의 약자이다. JVM은 자바 소스코드로부터 만들어지는 자바 바이너리 파일(.class)을 실행할 수 있다. 또한 JVM은 플랫폼에 의존적이다. 즉 리눅스의 JVM과 윈도우즈의 JVM은 다르다. 단, 컴파일된 바이너리 코드는 어떤 JVM에서도 동작시킬 수 있다. 자바 바이트 코드(.class 파일)를 OS에 특화된 코드로 변환해 주는 자바 가상 머신 특정 플랫폼에 종속적이다. JVM 밴더 : Oracle, Amazon, Azul 등 JVM은 다음과 같은 역할을 한다. 바이너리 코드를 읽는다. 바이너리 코드를 검증한다. 바이너리 코드를 실행한다. 실행환경(Runtime Environment)의 규격을 제공한다. (필요한 라이브러리 및 기타파..