운영체제의 메모리 영역에 접근하여 메모리를 관리하는 프로그램을 이야기하며, JVM의 역할을 제대로 이해하기 위해서는 프로세스와 컴파일 과정에 대해서부터 알아야합니다.
실행되고 있는 프로그램인 프로세스는 각 메모리 공간을 시스템으로부터 할당받습니다.여기서 메모리는 code(text), data, heap, stack 네개의 영역으로 구성되어 있습니다.데이터 영역이 영역들을 하나씩 자세히 알아보도록 하겠습니다.
자바의 자료형은 크게 기본형(primitive type)과 참조형(reference type)으로 나눌 수 있습니다.
상위 클래스의 특성을 하위 클래스에 물려주는 것을 이야기합니다.
컴퓨터 프로그래밍의 패러다임 중 하나로 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위를 이야기 합니다.
자바의 클래스는 다음과 같이 정의를 할 수가 있습니다.
디자인 패턴의 다양한 종류입니다. 싱글턴, 팩토리, 전략 패턴입니다.
자바의 다형성? 다형성은 사용방법은 동일하지만 다양한 객체를 이용해서 다양한 실행결과가 나오도록 하는 성질입니다. 이런 다형성을 구현하려면 메소드 재정의와 타입 변환이 필요합니다.
객체를 직접 생성할 수 있는 클랠스를 실체 클래스라고 한다면 이 클래스들의 공통적인 특성을 추출해서 선언한 클래스를 추상 클래스라고 합니다.
인터페이스는 개발 코드와 객체가 서로 통신하는 접점의 역할을 합니다. 개발 코드가 인터페이스의 메소드를 호출하면 인터페이스는 객체의 메소드를 호출시킵니다. 그렇기 때문에 개발 코드는 객체의 내부 구조를 알 필요가 없고 인터페이스의 메소드만 알고 있으면 됩니다.
사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 인해 발생하는 프로그램 오류를 말합니다. 예외가 발생하면 프로그램은 곧바로 종료가 됩니다. 하지만 예외 처리를 통해 프로그램을 종료하지 않고 정상 실행 상태가 유지되도록 할 수 있습니다.
자바의 메모리 관리는 가상 머신인 JVM에서 진행이 됩니다.
프로세스와 스레드란?
제네릭은(Generic)은 자료구조 같이 구조체를 직접 만들어 사용할 때 많이 쓰이기도 하고 매우 유용합니다.제네릭은 직역을 하면 일반적인이라는 뜻입니다.
시스템 안에서 각 프로세스와 스레드가 함께 접근할 수 있는 모니터, 프린터, 메모리, 파일, 데이터 등의 자원이나 변수를 의미합니다.
디자인 패턴의 다양한 종류입니다. 옵저버, 프록시, 이터레이터 패턴입니다.
JavaServer Pages의 약자로 HTML 코드에 JAVA코드를 넣어 동적 웹페이지를 생성하는 웹애플리케이션 도구를 이야기합니다.
싱글턴 패턴과 정적클래스