Java : What's the JAVA?

m_ngyeong·2023년 12월 11일
0

Java

목록 보기
1/6
post-thumbnail

☕️ Java

What's a Java?

Java는 높은 수준의 클래스 기반 객체 지향 프로그래밍 언어이다.
Sun Microsystems(현재 Oracle Corporation의 일부)의 James Gosling이 이를 설계했으며 1995년에 출시되었다. 이 언어는 "WORA(Write Once, Run Anywhere)" 철학을 바탕으로 개발되었다. 이 원칙은 Java의 핵심 기능인 플랫폼 독립성을 강조하여 동일한 Java 프로그램을 수정 없이 여러 플랫폼에서 실행할 수 있도록 한다.

Java = JRE(Java Runtime Environment, 실행환경) + JDK(Java Development Kit, 개발도구) + API(라이브러리)

  • Java IDE : Eclipse, IntelliJ ...
  • Framework : Spring ...
  • Android, Hadoop(Big-Data), Minecraft(Game) ...

Java Features

  • 독립적인 플랫폼
    변경 없이 동일한 Java 프로그램을 여러 플랫폼에서 실행할 수 있음
  • 객체지향 언어
  • 자동 메모리 관리 : Garbage Collectio
    런타임 중에 사용도지 않는 개체의 메모리를 자동으로 정리함
  • Multi Thread
    하나의 프로세스 내에서 둘 이상의 스레드가 동시에 작업을 수행하는 것을 의미
  • 다양한 프로그램밍 패러다임을 지원
    일반 프로그래밍, 동시 프로그래밍, 함수형 프로그래밍 등이 있음

JVM(Java Virtual Machine)

Java Version

  • SE : Standard Edition
  • ME : Micro Edition
    제한된 자원을 가진 모바일, 소형 기기 등을 지원하기 위해 만들어진 버전이며, 임베디드 시스템에서 자바로 프로그램을 개발할 때 이용함
  • EE : Enterprise Edition
    Enterprise 환경을 위한 도구로 EJB, JSP, Servlet, JNDI 등을 지원하며 대기업에서 사용하기 위한 버전임

Install Java (MacOS)

SDKMAN을 이용해서 openJDK설치
*SDKMAN : Java 버전 관리, SDK(Software Development Kits)

 $ curl -s "https://get.sdkman.io" | bash
 $ source "$HOME/.sdkman/bin/sdkman-init.sh"
 
 # Check version
 $ sdk version
  • Install JAVA
 $ sdk list java # 설치 가능 & 설치된 JDK목록
 $ sdk install java 8.0.292-zulu # 원하는 종류와 버전의 JDK설치
 $ sdk use java 8.0.292-zulu # 현재 쉘에 사용할 java버전 적용(사용할 java버전 변경)
 $ sdk current java # 현재 사용중인 java버전 출력  
 $ echo $JAVA_HOME # JAVA_HOME으로 지정된 경로 출력
  1. JAVA_HOME으로 지정된 경로 복사
  2. Eclipse App → 패키지 내용 보기
  3. 'eclipse.ini' file → 아래 텍스트 추가
...
--launcher.appendVmargs
-vm
/././.sdkman/candidates/java/8.0.292-zulu/bin
-vmargs
...

Java API

Download Java API Documentation

.txt로 Java Program 만들기

  • javac.exe: Java Compiler, 사람이 작성한 문장을 기계어로 번역
  • java.exe: Java Interpreter, 자바 프로그램(class file) 실행
  • class: Java program 단위
class 클래스 이름 {
	/* 모든 문장은 class의 {}안에 있어야 함 */
}
  • main(): Java program의 시작점
public static void main(String[] args) {
	/* 실행할 코드 작성(첫 줄부터 순서대로 실행 됨.)*/
}

Eclipse

주로 Java 개발을 위해 설계되어 널리 사용되는 통합 개발 환경(IDE)이다.

  • Source file을 저장할 때 compiler가 진행 됨
  • Build: Source file(.java)로부터 프로그램을 만들어 내는 모든 과정
    • Build All : workspace의 모든 프로젝트 빌드
    • Build Project : 변경된 소스 파일만 compiling
    • Build Automatically : 소스 파일 변경 후, 저장할 때 마다 자동 compiling
    • Clean : 이전 빌드의 모든 정보를 삭제, 모든 소스 파일 compiling

Shortcut Key

  • command + shift + L : 모든 단축키 목록 열기
  • command + ➕ / ➖ : 화면 확대/축소
  • command + D : 한 줄 삭제
  • command + option + ⬇️ : row 단위 복사
  • option + shift + A : 여러 column 편집
  • option + ⬇️ / ⬆️ : row 단위 이동
  • command + i : 들여쓰기 자동 수정
  • command + / : 주석
  • alt + space : 자동 완성 ('Content Assist'의 [Binding] 변경)

중복되는 단축키 : [Eclipse] → [Preferences] → [General] → [Keys] → 목록에서 해당 항목의 [Binding] 변경



참고문헌,
https://hyperskill.org/learn/step/38627,
https://github.com/castello/javajungsuk_basic,

profile
사용자 경험 향상과 지속적인 성장을 추구하는 프론트엔드 개발자 ʚȉɞ

0개의 댓글