Java 4

JVM에 대해 알아보자!

지난 포스팅 중에 자바 컴파일 과정에 대해 알아보았습니다. 자바 컴파일러에 의해 변환된 .class파일 (바이트 코드)이 클래스 로더에 의해 JVM 내에 들어와 메모리 공간을 만들어주고 컴퓨터가 이해할 수 있는 기계어로 만들어준다고 했습니다. 결국엔, JVM 안에서 메모리도 만들고, 기계어로 변환도 해주고 여러 역할을 수행하게 됩니다. 그래서 JVM이 무엇이냐? Java Virtual Machine의 약자로서, 자바 바이트코드를 실행할 수 있는 주체입니다. 일반적으로 인터프리터나 JIT 컴파일 방식으로 다른 컴퓨터 위에서 바이트코드를 실행할 수 있도록 구현됩니다. 출처 : 위키백과 쉽게 말해서, JVM은 우리들이 작성한 자바 프로그램이 수행되는 프로세스를 의미합니다. 다시 말해서, java라는 명령어를 ..

Java 2021.08.11

자바의 컴파일 과정을 이해해보자

자바의 호환성 자바의 컴파일 과정을 알기 전에, 우선 자바의 장점 한가지를 다루고 시작하겠습니다. 자바는 C언어와 다르게 각 OS별 컴파일러 없이 하나의 컴파일러로 모든 OS를 지원하는 특징을 가지고 있습니다. 예를 들어, C언어로 소스를 짜고 맥OS에 실행시키려면 맥용 C컴파일러가 필요하고 윈도우OS에 실행시키려면 윈도우용 C컴파일러가 필요한거죠. 물론, 이전 기종 마다 소스 파일을 짜야했던 어셈블리어와 기계어에 비하면 C언어는 소스 파일 하나만 짜면 되는 편리함을 가지고 있습니다. C언어는 One Source Multi Object Use Anywhere의 모토를 가지고 있죠. 하나의 소스로 각 기기에 맞는 목적 파일을 만들어 어디든 사용 가능하다. 하지만, 자바는 Write Once Use Anyw..

Java 2021.07.30

[JAVA] 9. 특별한 java.lang 패키지

java.lang 패키지는 아주 특별하다. 자바의 패키지 중에서 유일하게 import를 안해도 사용할 수 있기 때문. 그만큼 자바에서 꼭 필요한 여러 기능들을 제공함. 여기서는 자바 개발자가 꼭 알고 있어야 할 항목들만 소개한다. 문자열 관련 - CharSequence 인터페이스 - String, StringBuffer, StringBuilder 클래스 기본 자료형 및 숫자 관련 - Boolean, Byte, Character, Double, Float, Integer, Long, Math, Number, Short 클래스 쓰레드 관련 - Runnable 인터페이스 - Thread, ThreadGroup, ThreaLocal 클래스 예외 관련 - Throwable 클래스 - Exception 예외 및 에..

Java 2021.04.30

[JAVA] 2. 자바의 변수 종류는 총 4가지

개념 지역 변수 (local variables) - 중괄호 내에서 선언된 변수 - 메소드 안이든 밖이든 중괄호만 있으면 됨.. 매개 변수 (parameters) - 메소드에 넘겨주는 변수 인스턴스 변수 (instance variables) - 메소드 밖에, 클래스 안에 선언된 변수. - 앞에 static이라는 예약어가 없어야 함. 클래스 변수 (class variables) - 메소드 밖에, 클래스 안에 선언된 변수 중에서 static 예약어가 있는 변수 생명 주기 1. 지역 변수는 선언된 중괄호 내에서만 유효함. 2. 매개 변수는 메소드 호출 시 시작되고 끝나면 소멸됨. 3. 인스턴스 변수는 객체가 생성될 때 생명이 시작되고, 그 객체를 참조하고 있는 다른 객체가 없으면 소멸됨. 4. 클래스 변수는 클..

Java 2021.04.29