Backend/JAVA2 멘토시리즈

JAVA Eclipse 01 프로그램, 프로그래밍, 기계어, JAVA

쏠솔랄라 2023. 3. 9. 17:24

 

 

프로그램 & 프로그래밍

 

 

프로그램이란?

: 나열된 명령들의 집합

해야 할 일들을 실행하는 순서에 따라 나열한 것

 

프로그래밍이란?

명령들을 나열하고 나열된 명령들을 실행하는 과정

 

 

프로그래밍 언어

 

 

프로그래밍 언어란?

사람이 컴퓨터에게 명령을 내릴 때 사용하는 언어

ex. C언어, C++, Python, Java, …

 

일반 프로그램 실행 과정

프로그래밍 언어는 사람친화적 언어로

컴퓨터가 프로그래밍 언어를 바로 이해할 수 없다

 

컴퓨터는 사람이 아닌 기계이기 때문에

컴퓨터가 이해할 수 있는 언어인 기계어를 사용해야 한다

* 기계어 : 01의 이진수로 이루어진 언어

           전류가 통한다 : 1

전류가 통하지 않는다 : 0

 

 

코드 작성 : 자바소스 작성

컴파일 : 프로그래밍 언어를 기계어로 번역하는 과정

링크 : 라이브러리 공간에서 작성해 놓은 코드를 불러오는 것

* 라이브러리 : 기능들을 미리 만들어 놓은 것

디버깅 (debug-ing : 벌레를 꺼내다) : 프로그램의 오류를 잡다

실행 : .exe 프로그램을 실행한다

 

다섯가지 과정을 통해 .exe 파일을 생성하고 실행한다

 

 

JVM

: JAVA의 중간 코드를 실행할 수 있는 주체로, JAVA 프로그램과 OS 사이의 중개자 역할

JVM을 통해 OS에 종속되지 않고 사용하게 도와줌

 

JVM의 구성

- ClassLoader: 모든 클래스(코드)는 참조 순간에 동적으로 JVM에 연결되며 메모리에 로딩

- Execution Engine : JVMMethod AreaByte CodeExecution Engine에 제공하여 Class에 정의된 내용대로 실행

- Runtime Data Areas : 프로그램을 수행하기 위한 OS에서 할당받은 메모리 공간

Class 영역 : JVM이 종료될 때까지 유지

Stack 영역 : 지역변수, 매개변수 등 함수의 호출부터 종료까지 유지

Heap 영역 : 참조형 변수(주소저장)들이 저장되는 영역(new)

 

 

JAVA의 정의와 특징

 

 

JAVA?

: 미국 Sun Microsystems사에서 개발한 객체지향 프로그래밍 언어

 

 

JAVA의 특징

객체지향 언어이다

배우기 쉽다

어느 운영체제(OS)에 상관없이 실행된다

메모리 관리를 개발자가 하지 않는다

동적이며 스레드를 지원한다 ; 멀티태스킹이 가능하다

네트워크 프로그래밍과 분산처리를 지원한다 ; 다중 작업 처리

 

 

개발환경 준비

 

 

설치해야 할 항목

- JDK(JRE, JVM 포함)

- 이클립스

 

* JDK ; JAVA Development Kit

JAVA실행 시 필요한 라이브러리 파일 존재 (필요한 도구들)

 

* JRE : Java Runtime Environment

JVM을 생성하는 부분

 

* JVM : JAVA Virtual Machine

JAVA 프로그램을 실행시켜 주기 위한 목적

 

 

프로그램 설치 (JDK + Eclipse)

https://developernew.tistory.com/6

 

자바+이클립스 JAVA 11 + Eclipse 다운로드 설치 & 초보자용 프로그램 세팅

자바오라클 + 이클립스 다운로드 및 설치 자바 오라클 다운로드 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ Oracle | Cloud Applications and Cloud Platform Mark your calendar to attend Oracle’s global conference for cloud infr

developernew.tistory.com