본문 바로가기


[Java] 멤버변수:클래스 변수, 인스턴스 변수 오늘은 자바의 멤버변수인 클래스 변수와 인스턴스 변수의 차이에 대해 포스팅하겠습니다. 1. 클래스 변수 클래스 변수란 클래스 내에서 static을 붙여서 선언하는 변수를 말합니다. 클래스 변수는 한번 선언되면 해당 클래스의 모든 인스턴스가 같은 저장공간을 가리킵니다. 전역변수라고 부르기도 합니다. 같은 저장공간을 가리킨다는 것이 무슨 의미인지는 다음 예제를 보면 이해하기 쉬울 것입니다. public class Webtest { static int sval = 123; public static void main(String[] args) { Webtest ex1 = new Webtest(); Webtest ex2 = new Webtest(); System.out.println(ex1.sval); ex2.s..
[Java] JVM과 GC(Garbage Collection) : 자바가상머신과 쓰레기수집 JVM(Java Virtual Machine) : 자바 가상 머신 자바로 작성한 코드가 실행 되는 과정은 다음 과 같다. 자바코드 -> JDK컴파일 -> JVM -> 프로그램 실행 JVM은 OS버전 마다 다르게 OS위에 설치 된다. 따라서 JAVA라는 언어는 OS에 가기전에 JVM을 거치게 되기 때문에 어떤 OS에서도 제대로 작동한다.이를 운영체제에 독립적 이라고 한다. 반대되는 말은 운영체제에 의존적이라고 한다. 정리하자면JAVA는 운영체제에 독립적인 언어이다. 이를 가능하게 하는 것이 JVM이다. JVM 이란?물리적인 기계와 소통할 수 있도록 자바 프로세스를 실행시키는 가상머신 JVM의 기능JAVA와 OS사이의 중계자 역할메모리 관리 기능(GC) GC(Garbage Collection) : 쓰레기 수..
[Java] Java 와 JVM 1.JAVA 활용 : 웹, 모바일 애플리케이션 개발, 로봇, 게임 등 특징 1. 플랫폼 독립적 (*플랫폼 : 소프트웨어 응용 프로그램들을 돌리는데 쓰는 하드웨어와 소프트웨어의 결합, 소프트웨어를 실행할 수 있는 기반 => 독립적이라는 말은 플랫폼에 비의존적 이라는 말로서 어느 플랫폼이든 다 동작할 수 있다.) 자바컴파일러는 바이트 코드라는 특수한 바이너리 형태로 변환 이때 이 바이트코드를 실행하기 위해 필요한 것이 JVM(Java Virtual Machine : 자바 가상 머신) 2. 객체 지향 언어 3. 대체로 쉽다 4. 유형정의가 시스템에 무관하기 때문에 이식성이 좋음. 2.JVM(자바 가상 머신) 자바 바이트코드를 실행하는 주체 독립 적인 Java언어를 다른 플랫폼(다른 CPU혹은 OS)에서도 실행..