※자바 실행과정 3단계
1. 요청 ( Coding 코딩 )
2. 통역 ( Compiling 컴파일링 )
3. 결과실행 ( Interpreting 인터프리팅 )
- 소스코드를 입력하고 javac 컴파일러로 컴파일 한 다음, 컴파일된 바이트코드를
자바 가상머신에서 실행시킨다
* 자바 가상머신 : (=Java Virtual Machine) 바이트코드를 해당 플랫폼에서 이해할 수 있는 형태로 해석하여 프로그램을 실행시켜줌. 바이트코드를 실행시키는 도구
- 자바 가상머신의 메모리모델 : 자바 가상머신은 운영체제로부터 할당 받은 메모리 공간의 효율적인 사용을 위해 납장처럼 메모리 공간을 나눠서 데이터의 특성에 따라 분류해서 저장한다.
자바 가상머신은 메모리 공간을 크게 세 개의 영역으로 나누어 관리한다.
1 ) 메서드 영역 - 메서드 영역 - 메서드의 바이트 코드, static 변수를 저장한다.
2 ) 호출 스택 영역 - 지역변수, 매개변수를 저장한다.
메서드의 작업에 필요한 메모리 공간을 제공한다.
메서드가 호출되면, 호출스택에 호출된 메서드를 위한 메모리가 할당되며,
이 메모리는 메서드가 작업을 수행하는 동안 지역변수(매개변수 포함)들과
연산의 중간 결과 등을 저장하는 데 사용된다.
메서드가 작업을 마치면 할당되었던 메모리 공간은 반환되어 비워진다.
3 ) 힙 영역 - 인스턴스가 생성되는 공간이다
* 바이트코드 : 반기계어
플랫폼에 무관하게 사용할 수 있다
자바가상머신을 통해 실행할 수 있다
* JAVA 소스코드 :
public class Hello
{
public static void main(String[] args)
{
System.out.println("Hello JAVA!!!");
}
}
자바실행과정을 CMD 창으로 나타내었을때
왼 - 자바소스코드
오 - cmd 창
(cmd 창 첫째줄부터 해석)
1. cmd 창에서 src\day1 폴더로 이동해라
2. javac(ompile) 컴파일해라
3. 자바런처가 자바가상머신을 구동시키고, 그 위에 자바 프로그램을 실행해라
= 자바의 소스코드가 javac.exe (=자바컴파일러) 에 의해서 컴파일되고, 컴파일된 파일이
java.exe 에 의해서 가상머신을 기반으로 실행됨
- 소스코드 ----------> 바이트코드 -------------------------------------------> 실행
컴파일 java.exe 실행 -> JVM 구동
*자바런처 (java.exe) : 자바가상머신을 구동시시키고, 그 위에 자바프로그램이 실행되도록 돕는 프로그램
※ 자바코드의 구조
package : 비슷한 클래스들끼리 묶어서 관리
import : 지정한 패키지 내의 모든 클래스를 현재 파일에서 사용할 수 있도록 하겠다는 뜻
class : 여러개의 클래스를 하나의 파일에서 사용할 수 있다
- 최소 class 1개 , main메서드 1개 충족해야함
- 클래스명과 파일명은 동일해야 함
- public 이라는 예약어를 사용할 수 있는 클래스는 하나뿐이다
- public 이 붙은 클래스는 파일명과 동일해야 함
- main() 메서드는 파일명과 동일한 클래스 내에 있어야 함
import java.lang.*;
public class Hello2{
public static void main(String[] args){
System.out.println("Hello Java!!");
System.out.println("Hello Jsp!!");
}
}
class Test
{
public void write()
{
System.out.println("Test Class!!");
}
}
> 위의 경우 파일명은 Hello2.java 가 되어야 함
▶명칭의 규칙
클래스, 메서드, 필드 : 첫글자는 $, _, 영문자
공백문자는 포함할 수 없음
특수문자는 사용할 수 없음
숫자는 첫 글자가 아닐 경우 사용 가능
예약어는 사용할 수 없음 ( =for, if )
▷권장사항
클래스 : 첫글자는 $, _ , 대문자
메소드(함수) : 첫글자는 $, _ , 소문자
Field(변수) : 소문자
합성어의 첫글자는 대문자 (=HelloJava)
오늘배운1개의 자바함수
System.out.println(" ");
: 출력함수
- 출력 후 행을 바꿔줌
- System.out.println() 과 같이 컴퓨터에게 일을 시키는 문장을 '명령문' 이라 한다.
명령문의 끝에는 반드시 세미콜론(;)을 붙여서 명령문의 끝을 표시하자 ~~~ 나 자꾸 까먹는거 !!!!!!
'JAVA' 카테고리의 다른 글
[JAVA] for 무한루프 / scope / (0) | 2022.02.14 |
---|---|
[JAVA] 중첩if / switch 문 / 반복문_for (0) | 2022.02.14 |
[JAVA] 연산자 / 제어문 (0) | 2022.02.10 |
[JAVA] 형변환 (0) | 2022.02.09 |
[JAVA] 값 할당 / 변수자료형 / 자료형분류 / Escape Sequence (0) | 2022.02.08 |