1. Application 개발 방식
- Application 개발 방식은 Compile 과 Interpreter 방식이있다.
- Compile : C,C++처럼 소스를 컴파일을 하여 기계어로 변경하는 방식이다.
- Interpreter : Python, JavaScript처럼 소스를 한줄씩 기계어로 변경하는 방식이다.
1.1 컴파일 방식
- 컴파일 방식은 소스를 오브젝트파일로 컴파일 한다.
- 생성된 오브젝트파일을 링크를 통해 실행파일로 만든다.
- 오류 발생시 컴파일이 중단되어 실행 파일이 생기지 않는다.
1.2 인터프리터 방식
- 인터프리터 방식은 소스를 한줄씩 기계어로 변환 하여 실행한다.
- 오류가 발생하기 전까지 실행 되어 오류를 사전에 알수 없다.
1.3 Hybrid 방식
- 컴파일의 단점 : OS별로 컴파일을 해야한다.
- 인터프리터의 단점 : 실행할때마다 소스가 필요하기 때문에 소스를 공개 해야하고, 문법검사를 해야하여 실행속도가 느리다.
- Hybrid 방식 : 가상 인터프리터를 사용하여 한번의 컴파일만으로 여러 OS에 구동가능하며, 기계어와 흡사하여 실행 속도가 빠르다.
1.4 Java를 사용하는 이유
- Hybrid 방식을 채택하여 컴파일러를 통해 Bytecode를 생성하여 소스를 보호
- Bytecode를 JVM(Java Virtual Machine)을 통해 OS상에 실행하여 실행속도가 빠름
2. Java 설치 하기
2.1 Oracle 홈페이지 및 JDK 21 다운로드
- 오라클 홈페이지에 접속하여 맥용 JDK21 버젼을 설치한다.
- 설치 링크 : https://www.oracle.com/kr/java/technologies/downloads/#java21
- 계속을 눌러서 설치진행
2.2 시스템변수 설정
- JDK 버전확인
- 터미널 실행 후 cd /Library/Java/JavaVirtualMachines 입력
- ls(list)를 입력하여 자바버전 확인 (나는 22버전, 21버전이 있어 21버전을 기본값으로 세팅하였다.)
- 경로확인
- 터미널에 /usr/libexec/java_home -v 21 경로 확인
- nano편집기를 통해 경로 설정
- 터미널에 nano 편집기로 zshrc 실행(명령어 : nano ~/.zshrc)
- 맨 밑에 path 입력 후 경로 설정
- JAVA_HOME = $(/usr/libexec/java_home -v 21)
-> /usr/libexec/java_home -v 21의 리턴값 : /Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home
-> $: 여기에 리턴값을 놓는다
-> JAVA_HOME이란 변수에 /Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home 값을 대입
- PATH = $JAVA_HOME/bin:$PATH
-> JAVA_HOME의 경로에 bin 폴더에 기존의 PATH를 새로운 PATH로 설정한다.
-> JDK가 실행될때 시스템 변수로 새로운 PATH의 경로를 사용한다.
- [^o]로 저장을 하고 [^c]로 나온다음 [^x]로 빠져나온다.
- Java버전 확인
- 자바 버전 : 터미널에 java -version 확인
- 컴파일러 버전 : 터미널에 javac -version 확인
2.3 Java로 프로그램 만들기
- Hello World 출력 프로그램 작성
public class Hello {
public static void main(String[] args) {
System.out.println("Hello world!!");
int a = 100;
if (a < 100){
System.out.println("hahhahaha");
}
}
}
- Hello World 출력 프로그램 실행
3. Java 기초개념
3.1 Java 컴파일 과 실행
- "Write once, Run anywhere" : 어떤 OS용 컴파일을 사용하던지 생성된 Bytecode는 같다.
- 생성된 Bytecode로 OS별 JVM에서 구동하므로 실행 결과도 같다.
3.2 JDK의 구성
- JRE(Java Runtime Environment) : JVM + 실행 할 때 사용되는 도구
- JDK(Java Development Kit) : JRE + 개발도구(컴파일러, 디버거, 프로파일러, 문서생성기 .....)
3.3 Java의 제품군
- Java SE(Standard Edition) : JRE, Server JRE, JDF
- Java EE(Enterprise Edition) : Web APP PK, 분산관리도구, 자원관리도구, 웹서버 개발도구 ......
- Java ME(Micro Edition) : Embeded App(망함)
'개발자 꿈나무의 하루 > 01_Boot Camp' 카테고리의 다른 글
(네이버클라우드 부트캠프) 6일차 - Java프로그래밍 기초(패키지, 자료형) (0) | 2024.05.31 |
---|---|
(네이버클라우드 부트캠프) 5일차 - Bytecode작성 및 Java실습(class,main()) (0) | 2024.05.30 |
(네이버클라우드 부트캠프) 4일차 - Java 기본설정 및 Gradle 설치 (0) | 2024.05.29 |
(네이버클라우드 부트캠프) 2일차 - git 개념 및 Application 개념 (0) | 2024.05.27 |
(네이버클라우드 부트캠프) 1일차 - OT, Web Application이란?, Git설치 하기 (0) | 2024.05.24 |