자바 프로그램 개발 순서

1. .java 소스 파일 작성

2. 컴파일러(javac.exe)로 바이트 코드 파일 (.class) 생성

3. JVM 구동 명령어 (javac.exe) 실행

 

1. 메모장을 열어서 원하는 디렉토리에 "Hello.java"로 저장 (디렉토리 주소 기억해둘것)

 

2. 자바 소스파일 작성 후 저장

public class Hello{
	public static void main(String[] args){
    	System.out.println("Hello World");
    }
}

 

3. 명령 프롬프트 실행

Ctrl + R 

cmd 입력

 

4. 해당 디렉토리로 이동

cd 디렉토리주소

5. Hello.java 소스 파일 생성

javac Hello.java 

2. 바이트 코드 파일은 완전한 기계어가 아니므로 단독 실행 불가 -> JVM 실행( java.exe)

java.exe로 바이트 코드파일 실행 시 .class 확장명을 제외한 이름 입력해야함

java Hello

java.exe 명령어가 실행 되면 JVM은 바이트코드파일(Hello.class)을 메모리로 로드, 최적의 기계어로 번역

main()메소드 실행

'Programming Language > Java' 카테고리의 다른 글

[JAVA] 연산자- 단항연산자  (0) 2020.05.26
[JAVA] 타입변환  (0) 2020.05.25
[JAVA] 데이터 타입  (0) 2020.05.21
[JAVA] 변수  (0) 2020.05.21
[JAVA] 자바란  (0) 2020.05.20

자바란? 

 

1. 이식성이 높은 언어

- 이식성(서로 다른 실행 환경을 가진 시스템 간에 프로그램을 옮겨 실행할 수 있는 것)

 

2. 객체지향 언어

- OOP(Object Oriented Programming) 객체지향 프로그래밍 : 프로그램을 개발하는 기법. 객체들을 먼저 만들고 객체들을 하나씩 연결해서 전체 프로그래밍을 완성하는 기법

- 자바 : 객체 생성 = 클래스(설계도) 작성

- 캡슐화, 상속, 다형성 기능 완벽 지원 

 

3. 함수적 스타일 코딩 지원

- 대용량 데이터의 병렬 처리에 적합

- 람다식(Lambda Expressons) 지원 

- 람다식 사용 : 컬렉션 요소를 필터링, 매핑, 집계 처리하는데 쉬워지고 코드 간결해짐

 

4. 메모리를 자동 관리

- C++ : 메모리에 생성된 객체를 제거하기 위해 개발자가 직접 코드작성(미작성시 프로그램 불완전, 다운되는현상 발생)

- 자바: 직접 메모리관리 - 사용하지 않는 객체 제거

 

5. 다양한 애플리케이션 개발 가능

- 윈도우, 리눅스, 유닉스, 맥, 등 다양한 운영체제(OS: Operating System)에서 실행되는 프로그램 개발가능

- 에디션(Edition) : 개발도구 + API

 

6. 멀티 스레드(Multi-Thread)를 쉽게 구현 가능

- 서브작업으로 분리해서 병렬 처리 -> 멀티스레드 프로그래밍

 

7. 동적로딩(Dynamic Loading)

- 유지보수(수정)가 쉽고 빠르게 진행

- 객체가 필요한 시점에 클래스를 동적로딩해서 객체 생성 ->  유지보수 발생시 해당 클래스만 수정

 

8. 막강한 오픈소스 라이브러리가 풍부함

- 고급기능을 구현하는 코드를 직접 짜지 않아도 됨

 

자바 가상 기계 (JVM: Java Virtual Machine)

- 실 운영체제를 대신해서 자바 프로그램을 실행하는 가상의 운영체제 역할

- 운영체제와 자바프로그램을 중계 -> 자바 프로그램이 여러 운영체제에서 동일한 실행결과가 나옴

- JVM 운영체제에 종속적 

- .java인 소스파일 작성 -> javac.exe(컴파일러)로 컴파일 -> 확장자가 .class인 바이트코드파일  생성

   -> java.exe(JVM 구동 명령어)에 의해 JVM에서 해석, 해당운영체제에 맞게 기계어로 번역

 

API 도큐먼트 

- JDK에서 제공하는 표준 클래스 라이브러리

https://docs.oracle.com/javase/8/docs/api/

 

Java Platform SE 8

 

docs.oracle.com

 

'Programming Language > Java' 카테고리의 다른 글

[JAVA] 연산자- 단항연산자  (0) 2020.05.26
[JAVA] 타입변환  (0) 2020.05.25
[JAVA] 데이터 타입  (0) 2020.05.21
[JAVA] 변수  (0) 2020.05.21
[JAVA] 명령프롬프트에서 java 실행  (0) 2020.05.21

+ Recent posts