| 자바 프로그래밍 | 웹 프로그래밍 | 프레임워크 |
|---|---|---|
| Java | HTML, CSS, JavaScript | Spirng |
| Database | Servlet, JSP | |
| MyBatis | ||
| 1차 프로젝트 | 2차 프로젝트 | 3차 프로젝트 |

바이트 코드(bytecode)는 자바에서 매우 중요한 개념이다. 자바의 바이트 코드는 자바 컴파일러에 의해 생성되는 중간 형태의 코드로, 자바 소스 코드(.java 파일)를 컴파일하여 생성되는 파일(.class 파일)에 저장된다. 이 바이트 코드는 자바 가상 머신(Java Virtual Machine, JVM)에 의해 실행되는 특수한 형태의 코드이다. 바이트 코드의 역할과 특징은 다음과 같다.
결론적으로, 자바의 바이트 코드는 자바 프로그램의 플랫폼 독립성, 보안, 최적화, 효율성 및 이식성을 보장하는 핵심 요소이다. 이는 자바를 다양한 환경에서 널리 사용되는 강력한 언어로 만드는 중요한 부분이다.
자바의 소스코드가 컴파일되어 바이트코드로 변환된다는 것은 내가 쓴 소스코드가 더 낮은 레벨의 언어로 변환되어 컴퓨터가 어떤 운영체제이던간에 읽을 수 있다는 것이다.
자바 소스 코드가 컴파일되어 바이트 코드로 변환되는 과정은 다음과 같은 의미를 가진다.
따라서, 자바 소스 코드가 바이트 코드로 변환되는 과정은 자바 프로그램의 이식성과 플랫폼 독립성을 보장하는 핵심적인 부분이다. 이는 자바가 다양한 환경에서 널리 사용되는 이유 중 하나이다.
이클립스2020-12버전-웹,자바 통합 엔터프라이즈 버전
이클립스 환경설정 변경점: UTF-8

class Hello {
public static void main(String[] args) {
System.out.println("Hello");
}
}
public static void main(String[] args)는 자바 프로그램의 시작점을 나타내는 '메인 메서드'이다.public은 이 메서드가 다른 모든 클래스에서 접근 가능함을 의미한다.static은 이 메서드가 인스턴스화 없이 클래스에 속하며 클래스 이름으로 직접 호출할 수 있음을 의미한다.void는 이 메서드가 값을 반환하지 않음을 나타낸다.String[] args는 메인 메서드가 받는 매개변수로, 문자열 배열이다. 이는 프로그램 실행 시 커맨드 라인 인자를 받는 데 사용된다.System.out.println("Hello");는 콘솔에 "Hello"라는 문자열을 출력한다.System은 자바에서 기본적으로 제공하는 클래스이다.out은 표준 출력 스트림을 나타낸다.println은 전달된 문자열을 출력하고 새 줄로 넘어가는 메서드이다.간단히 말해, 이 프로그램을 실행하면 콘솔에 "Hello"라는 단어가 출력됩니다. 이 코드는 자바 프로그래밍의 기본 구조를 이해하는 데 도움이 되는 간단한 예제이다.
저버 소스코드에서, 자바 컴파일러를 사용하여 바이트코드를 만든 후에 자바 가성 머신(JVM)에서 실행한다.
소스 코드 작성: 먼저, 자바 소스 코드를 작성합니다. 이 경우에는 Hello라는 클래스를 정의하고 main 메소드를 포함하고 있다.컴파일러 사용: 소스 파일(Hello.java)을 자바 컴파일러(javac)를 사용하여 컴파일한다. 이 과정에서 컴파일러는 소스 코드를 바이트코드(Hello.class)로 변환한다. 바이트코드는 자바 가상 머신(JVM)에서 실행할 수 있는 중간 형태의 코드이다.바이트코드 생성: 컴파일이 성공적으로 완료되면, 동일한 디렉토리에 Hello.class라는 바이트코드 파일이 생성된다.자바 가상 머신(JVM): 컴파일된 바이트코드를 실행하기 위해 자바 가상 머신을 사용한다. JVM은 자바 바이트코드를 특정 플랫폼에 맞는 기계어로 변환하여 실행한다.프로그램 실행: java Hello 명령어를 통해 Hello 클래스를 실행한다. 이때 JVM은 Hello.class 파일을 로드하고, main 메소드를 찾아서 실행한다.결과 출력: main 메소드에 정의된 대로 화면에 "Hello"라는 메시지가 출력된다.이렇게 컴파일과 실행 과정을 통해 자바 프로그램은 작성된 코드에서 실행 가능한 형태로 변환되고, 최종적으로 원하는 작업을 수행하게 된다. 자바의 이러한 특성은 다양한 플랫폼에서 일관된 방식으로 프로그램을 실행할 수 있게 해준다
public class Ex05 {
public static void main(String[] args) {
// 십진수, 2진수, 8진수, 16진수
int decimal= 10; // 변수타입, 변수명
System.out.println("decimal : " + decimal);
decimal = 20;
System.out.println("decimal : " + decimal);
int binary = 0B1010; // 0b, 0B 접두어 사용 - 자바 2진수값 표현
System.out.println("binary : " + binary);
int octal = 012; // 숫자0 접두어 사용(8진수)
System.out.println("octal : " + octal);
int hexaDecimal = 0Xa;
System.out.println("hexaDecimal : " + hexaDecimal);
}
}