16. 컴퓨터 이해하기 ( 언어의 종속성 )

jhnada·2022년 7월 27일
0

컴퓨터이해하기

목록 보기
10/10

  1. 어셈블리는 ㅡ CPU에 종속적이며 CPU에게만 맞는 언어이다.

  2. C 언어는 ㅡ 운영체제에 종속적이며 운영체제에게만 맞는 언어이다. 운영체제가 CPU에 맞는 언어로 변환시켜 주기때문이다.

  3. JAVA 는 ㅡ 종속적이지 않고, 다양하게 활용 가능한 언어이다.

JVM 이 효율적으로 사용되기 위해 3개의 부분으로 나눠져있음

    1. heap 부분은 상태에 대한 정보를 저장한다,
      사용한뒤 삭제해도 되는 데이터를 모아놓는 공간이고, 동적이며 다이나믹하다 많은 데이터들이 들어왔다가 금방 사라지기 때문이다.

    1. stack 부분(지역변수)은 행위를 할때 잠깐 기억해야될 부분을 저장하는 공간
      ex) 엑셀을 밟을때 속도제한 표시판에 50이면 50을 안넘기 위해 기억하듯이, 행위가 종료되면 바로 사라진다.

    1. static 부분은 태양,달 등 프로그램 시작 전부터 필요하고 저장되어있는 데이터들이다.

      이때 자바와 C 언어 간의 차이가 있는 부분이 있다.

  • 자바 언어는 heap의 필요없는 정보들 (사라져야될 정보 및 데이터)을 자동으로 버려준다. 하지만 알고리즘이 완벽할 순 없다.
  • C 언어는 비관리 언어로써 사용자가 직접 heap의 필요없는 정보들을 버려야 한다.
  • 버리는 행위 또한 연산이기 때문에 느려 질 수 있으며 C언어는 직접 버리고 연산을 몰아서 하기 때문에 느려질 일이 없다.
profile
밑바닥부터 배우는 초짜 개발자

0개의 댓글