ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Java] Java ?
    프로그래밍 언어/Java 2024. 7. 22. 21:06

     

    Java란

    Java는 널리 사용되는 객체지향 프로그래밍 언어로 C++의 장점을 도입하고, 단점을 보완한 언어다.

     

    Java의 특징 & 장점

    1. 이식성

    'Write once, run anywhere'

     

    Java의 제일 큰 특징은 운영체제에 독립적이단 것이다. 

    기존에는 특정 운영체제에 맞게 개발된 프로그램을 다른 운영체제에서 사용하기 위해선 많은 노력이 필요했다.

     

    하지만, Java는 JVM이라는 운영체제 위에서 동작하는 에뮬레이터를 통해,
    운영체제나 하드웨어에 관계 없이 실행이 가능하다.

     

    [ Java 애플리케이션과 일반 애플리케이션 비교 ]

     

    2. 자동 메모리 관리

    Garbage Collection

     

    자바로 작성된 프로그램이 실행되면, GarbageCollector가 주기적으로 메모리 영역에서 안 쓰는 메모리를 회수해간다.

    다소 stop The World로 인해 비효율적인 면도 있지만, 개발자가 메모리를 별도로 관리할 필요가 없어진다.

     

    3. 안정성이 높다.

    C, C++와 같이 포인터 값을 사용하여 메모리를 관리하는 언어와는 다르게 Java에는 포인터 개념이 없다.

    어찌보면 자유도가 떨어지는 것처럼 보이겠지만, 포인터를 지원하지 않음으로서 프로그램의 취약점을 보호할 수 있다.

     

    4. 다양한 라이브러리와 개발 도구가 존재한다.

    Java에는 네트워크, DB, 통신 작업을 처리하는 방대한 라이브러리와 API가 존재한다.

    이를 통해 필요한 기능을 추가하는데 훨씬 수월하다.

     

    Java의 단점

    1. 속도

    JVM을 거쳐 실행이 되기 때문에 상대적으로 C/C++과 같은 로우레벨의 언어보다 속도가 느리다.

     

    2. Garbage Collection

    Stop The World

     

    Garbage Collection이 메모리를 관리 해준다는 장점이 존재하지만,
    그 이면으로 Garbage Collection이 동작하는 동안 다른 동작을 멈추는 과정에서 오버헤드가 발생한다.

     

    또한, new delete와 같이 메모리 해제 시점을 명시 할 수 없어 메모리가 해제되는 시점을 알 수 없게 된다.

     

     

     

     

Designed by Tistory.