Study/Java

· Study/Java
앞서 작성한 JDK에 관한 글 마지막에 언급했던 것처럼 JDK를 다운로드하고 명령어 창에서 실행해보며, 이클립스에는 어떤 식으로 적용하면 될지 간략하게 적어본다. JDK 시작하기 자바 개발을 위해 JDK를 다운로드 했다면, 그것을 클래스경로(classpath)에 추가만 하면 된다. 사용할 자바 버전에 맞추어서 JDK를 다운로드 하면 되는데, 자바는 하위 호환성(Backward Compatibility)를 유지하므로 최신 버전 릴리즈를 다운로드해도 이전 버전의 환경에서도 사용 가능하다. 그래도 되도록이면 사용할 자바 개발 환경에 맞추어 다운로드하자. JDK 패키지 자바 버전을 선택했다면, 자바 패키지도 선택해야 한다. 패키지(Package)란 서로 다른 유형의 개발을 목적으로 하는 자바 개발 키트(JDK)..
· Study/Java
드디어 JVM, JRE 글에 이어 마지막인 JDK에 대한 글을 작성한다. Eclipse를 설정하면서 생겼던 'JRE와 JDK가 대체 뭐지'에 대한 궁금증부터 시작하여 여기까지 오게 되었다. 복습 및 예습 - JVM은 자바 프로그램을 실행하는 Java Platform 구성요소이다 (관련 글 1, 2, 3). - JRE는 JVM을 생성하는 디스크 상의 한 부분이다 (관련 글). - JDK는 개발자들이 JVM과 JRE에 의해 실행되고 구동될 수 있는 Java 프로그램을 생성할 수 있게 해준다. JDK란? Java Development Kit의 줄임말로, 말 그대로 자바 개발 키트. 즉, 자바로 애플리케이션을 만들 때 필요한 플랫폼 구성 요소들을 갖고 있는 키트이다. JRE은 물론, 컴파일러, 디버거 등의 개발..
· Study/Java
자바 공부를 하다가 for-each문을 사용하는 여러 방법과 for문과의 속도 차이 등에 대해 찾다가, 좋은 사이트를 찾아서 저장하려고 남겨둔다. stackoverflow.com/questions/85190/how-does-the-java-for-each-loop-work How does the Java 'for each' loop work? Consider: List someList = new ArrayList(); // add "monkey", "donkey", "skeleton key" to someList for (String item : someList) { System.out.println(item); } What w... stackoverflow.com
· Study/Java
JRE에 대해 본격적으로 이야기하기 전에, 이전에 작성한 JVM에 대한 글을 먼저 보고 오는 것을 추천한다. JRE란? JRE란 Java Runtime Environment, 즉, 자바 런타임 환경이라는 뜻을 갖고 있다. 여기서 '런타임 환경'이란, 어떠한 소프트웨어를 실행하기 위한 또다른 소프트웨어다. 어떠한 소프트웨어, 그러니까 프로그램을 실행하기 위해 해당 프로그램을 구성하고 있는 클래스 파일을 로드하고, 메모리나 시스템 리소스 등에 대한 액세스를 확보한다. Java를 실행하기 위한 자바 런타임 환경(JRE)은 크게 아래 세 가지로 구성되어 있다. 자바 클래스 라이브러리(Java class libraries), 자바 클래스 로더(Java class loader), 자바 가상 머신(Java Virtu..
· Study/Java
지난 1편, 2편에 이어 마지막 3편이다. JVM이 어떻게 구성되어 있는지에 대해 알아본다. 이번 글도 역시 여기와 여기를 참고하며 작성하였다. JVM의 구성요소 자바 애플리케이션을 실행하기 위해 JVM은 자바 클래스 로더(Class Loader)와 자바 실행 엔진(Execution Engine)에 의존한다. 자세히 알아보기 전에 이전 글에서 보았던 그림을 다시 가져와 보자. JVM 자바 클래스 로더 (Class Loader) 자바에서는 모든 것이 클래스이며, 모든 자바 애플리케이션은 그러한 클래스로부터 만들어진다. 즉, 하나의 애플리케이션이 하나 또는 수천 개의 클래스로 구성될 수 있다는 말이다. 그러한 자바 애플리케이션을 실행하기 위해서는 컴파일된 .class 파일을 JVM 내로 로드(Load)하고 ..
· Study/Java
JVM에 대해 1편에 이어서 2편을 작성해본다. 1편에서는 JVM의 개념이나 정의, 용도 등을 알아보았다면, 이번 2편에서는 JVM의 세 가지 측면에 대해 알아본다. 이번 글도 여기와 여기를 참고하며 작성하였다. JVM의 3가지 측면 JVM에는 표준(Specification), 구현(Implementation), 인스턴스(Instance)의 3가지 측면이 있다고 할 수 있다. 표준(Specification) 표준, 즉, 다른 말로는 소프트웨어 사양이다. 여기서 "소프트웨어 사양(스펙)"이란, 어떤 소프트웨어 시스템이 어떻게 동작해야 하는 지를 정의한 인간이 읽을 수 있는 설계 문서이다. 이러한 문서의 목적은 엔지니어들이 이 문서를 보고 코딩할 수 있도록 하는 것이기 때문에 정확한 정의와 요구 사항 등을 ..
· Study/Java
JDK, JRE를 공부하다가 JVM이라는 용어가 많이 나와 공부한 결과를 글로 남긴다. 여기와 여기의 글이 많은 도움이 됐다. 글이 길어져 2, 3편으로 나누었다. JVM이란? Java Virtual Machine의 약자로 말 그대로 "자바 가상 머신"이며, 다른 프로그램을 실행시키는 것이 목적인 프로그램이다. (가상 머신이란 어떠한 프로그램을 실행하기 위한 물리적인 환경, 즉, 하드웨어를 소프트웨어로 구현한 것이다) JVM의 주요 기능은 시스템 메모리를 관리하면서 자바 기반의 애플리케이션을 위해 이식 가능한 실행 환경을 제공한다. 간단히 말하면 어떠한 환경에서든 Java 코드의 변경 없이 실행되게 해준다. 중요하게 볼 부분은 "메모리를 관리(Garbage Collection, GC)"한다는 것과 "이식..
대흉근
'Study/Java' 카테고리의 글 목록 (2 Page)