Java[자바]

컴파일 언어, 인터프리터 언어 자바의 컴파일 언어와 인터프리터 언어의 특징을 모두 갖는 이유는 자바가 플랫폼 독립적인 언어이기 때문입니다. 자바 컴파일러는 소스 코드를 바이트 코드로 변환하므로, 한 번 작성한 코드를 다양한 운영체제에서 실행할 수 있습니다. 또한, 인터프리터 언어의 장점으로는 소스 코드를 작성한 후 즉시 실행할 수 있으므로 개발자가 빠르게 결과를 확인할 수 있습니다. 자바는 컴파일 언어와 인터프리터 언어의 특징을 모두 가지고 있는 하이브리드 언어입니다. 자바는 컴파일 언어와 인터프리터 언어의 장단점을 모두 가지고 있기 때문에, 개발자가 프로젝트의 요구사항에 맞게 선택할 수 있습니다. 컴파일 언어 컴파일러는 고급 언어로 작성된 소스 코드를 저급 언어로 번역하는 프로그램을 가리킨다. 컴파일 ..
보통의 개발자들은 HotSpot JVM을 주로 사용합니다. Java 언어와 함께 개발 및 배포되며, Java SE 개발 키트를 다운로드하면 HotSpot JVM이 자동으로 설치됩니다. HotSpot JVM의 주요 특징 HotSpot JVM은 말 그대로 Hot한 Spot을 찾아서 해당 부분에서는 JIT 컴파일러를 사용하는 방법이다. JIT 컴파일러 Hotspot JVM은 JIT(Just-In-Time) 컴파일러를 사용하여 바이트 코드를 런타임에 네이티브 코드로 변환합니다. 실행 시점에 코드를 컴파일하여 빠르게 실행할 수 있도록 최적화하는 기능을 제공합니다. 내부적으로 프로파일링을 통해 핫스팟을 찾아내고, 해당 부분에 대한 네이티브 코드를 생성한다. 네이티브 코드를 생성하는 방법에서 Client와 Serve..
JRE, JDK, JVM 소개 JRE JRE는 Java Runtime Environment의 약자로 자바 런타임 환경이라는 뜻입니다. JRE는 Java 프로그램을 실행하기 위해 필요한 환경을 제공하며, 이는 JVM과 Java 클래스 라이브러리를 포함하고 있습니다. JRE만 설치되어 있다면 Java 프로그램을 실행할 수 있지만, 개발은 할 수 없습니다. JDK JDK는 Java Development Kit의 약자로 자바 개발 키트라는 뜻입니다. JDK는 개발자가 Java 프로그램을 개발하기 위해 필요한 도구 모음입니다. 이는 JRE, Javac(자바 컴파일러), jar(라이브러리), jdb(디버깅), apt(애노테이션) 등 자바로 개발할 수 있도록 여러 기능들을 제공하는 역할을 합니다. JVM JVM은 J..
자바 코드를 작성할 때는 다음과 같은 주의할 점들이 있습니다. 1. NullPointerException NPE는 개발 시 발생할 수 있는 예외 상황 중 하나이며, 발생 가능성을 고려하지 않고 null 체크를 하지 않은 경우 발생할 수 있습니다. Java 8 이후에는 Optional 클래스를 사용하여 이러한 상황을 방지할 수 있습니다. 예를 들어, String의 equals() 메서드에서도 null 체크를 하지 않으면 NPE가 발생할 수 있으므로 항상 null 체크를 해주는 것이 좋습니다. // Bad Case : name으로 null값이 넘어오면 NPE 발생 public boolean isKim(String name) { return name.equals("Kim"); } // Good Case : n..
자바 코드를 작성할 때는 다음과 같은 주의할 점들이 있습니다. 1. 예외 처리 자바에서는 예외 처리가 강제되기 때문에, try-catch 블록을 적절하게 사용해야 합니다. 예외 처리를 제대로 하지 않으면 프로그램이 비정상적으로 종료될 수 있습니다. 2. 메모리 누수 자바는 가비지 컬렉션을 사용하여 메모리 관리를 자동으로 처리합니다. 하지만, 객체 참조를 명시적으로 null로 초기화하지 않으면, 메모리 누수가 발생할 수 있습니다. 자바 8 이후로, 스트림 API, Optional 등의 특성들로 인해 코드에서 명시적으로 객체를 null로 설정하는 경우가 줄어들었습니다. 3. 스레드 관리 자바에서는 멀티스레드 프로그래밍이 가능합니다. 하지만, 스레드 동기화에 주의하지 않으면, 경합 조건(Race Conditi..
자바(Java)는 객체 지향적이며, 이식성이 뛰어나고, 안정성과 보안성이 높은 프로그래밍 언어입니다. 자바의 역사 자바의 역사는 1991년에 썬 엔지니어들에 의해 고안된 오크(Oak)라는 언어에서 시작되었습니다. 자바의 원래 목표는 가전제품에 탑재될 소프트웨어를 만드는 것이었습니다. 자바란 자바는 객체 지향 프로그래밍 언어로 대규모 소프트웨어 개발을 하고 있습니다. 자바는 주로 서버 프로그래밍, 안드로이드 앱 개발, 웹 프로그래밍, 게임 개발, 빅데이터 등 다양한 분야에서 사용됩니다. 자바로 소프트웨어를 개발할 때의 가장 이점 중 하나는 이식성입니다. 자바는 다양한 운영체제와 하드웨어에서 동작하며, 가상 머신(Virtual Machine)을 사용하여 이식성이 높은 언어입니다. 자바의 주요 목표는 "한 번..
규니95
'Java[자바]' 카테고리의 글 목록