728x90
개요
사실 학부 때는 C++과 파이썬만 배우고 사용하였다. 졸업 후 SSAFY를 하면서 자바라는 언어를 처음 접했고, 대강 배워 프로젝트를 진행하였다.
C++ 짬밥이 있기 때문에 사용하는데 어렵지는 않았지만 C++과는 다른 점이 많았기에 회사에서 개발을 하면서 스스로 부족한 점을 느꼈다
마침 사내 교육사이트가 개편되어 다양한 플랫폼에서 강의를 들을 수 있게 되었고, 그 중 러닝스푼즈의 20년차 개발자의 실무 개발 노하우를 담은 JAVA 기초 라는 말에 끌려 바로 신청하게 되었다.
총 18강 열심히 달려볼 예정이고, 중요하다고 생각되는 내용을 블로그에 정리할 예정!
JAVA 언어의 특징
JAVA 설명은 생략한다...
JAVA 개발 도구
- JDK(Java Development Kit) : 자바 개발 도구로 JVM, API, Compiler 등이 포함됨
- JRE(Java Runtime Envvironment) : 자바 실행 환경으로 자바 애플리케이션 실행되기 위한 최소 환경 (.class파일이 동작할 수 있는 환경)
- JVM(Java Virtual Machine) : 자바 애플리케이션을 해석하고, 로드하여 실행하는 가상머신
JAVA 특징
- 플랫폼 독립적 : OS마다 별도의 실행환경을 제공함
- 기존 언어는 OS에 맞게 컴파일 된 프로그램이 다른 O/S로 변경되면 기존 컴파일 된 것을 재사용 할 수 없음
- JAVA는 애플리케이션이 JVM을 통해서만 통신을 하며 JVM이 OS와 통신하는 구조이고, OS 별로 JVM이 존재하여 설치되기 때문에 한번 개발된 JAVA 애플리케이션은 OS와 관계 없이 실행 가능함
- 객체지향 언어 (OPP, 상속, 다형성, 캡슐화 등등)
- 멀티쓰레드를 지원
- 타 언어에서 OS마다 구현방법 상이
- JAVA는 OS와 관계없이 구현 가능하도록 API를 제공
- 네트워크 분산처리 지원
- 풍부하고 다양한 API 지원
- 네트워크를 통해 객체 전송
- 동적 클래스 로딩(Dynamic Class Loading) 지원
- Runtime에 모든 프로그램(클래스) 로딩되지 않고, 필요한 시점에 로드하여 사용할 수 있음
- 일부 프로그램이 변경되어도 전체 프로그램을 컴파일 하지 않아도 됨
- 자동 메모리 관리(GC - Garbage Collection)
- 시스템 레벨에서 Garbage Collector Thread가 자동적으로 더 이상 사용하지 않는 데이터를 메모리로 반환 하는 메모리 관리를 해주기 때문에 별도의 코드 필요 X
- 자동으로 메모리 관리를 해주기 때문에 개발자는 비즈니스 코드에 집중할 수 있다.
- GC지원으로 메모리로 인한 System이 crash 되는 일이 많이 줄었다.
참조
'아무거나 개발공부 > JAVA 기초다지기' 카테고리의 다른 글
20년차 개발자의 실무 개발 노하우를 담은 JAVA 기초 - 내 기준 정리 (0) | 2022.11.29 |
---|---|
java에서 모니터 사용하기 - synchronized (0) | 2022.11.07 |
JAVA 기초다지기 (3) - Class , Object, Instance 완벽 이해 (0) | 2022.07.28 |
JAVA 기초다지기 (2) - JAVA 프로그램 (0) | 2022.07.16 |
JAVA 기초다지기 (2) - JVM (0) | 2022.07.15 |