2013-03-13 1 views
0

우리가 c/C++에서 알고있는 것처럼 포인터 컨셉이 존재하고 포인터 컨셉은 아주 좋은 것입니다. 그렇다면 왜 자바 개발자들은 그것을 제거하고 우리가 자바에서 사용할 수없는 것들이 무엇인지 장단점입니다.왜 자바에서 포인터 개념을 사용하지 않습니까?

+0

무능한 C/C++ 프로그래머에게 Java의 주요 판매 포인트 중 하나 "더 이상 포인터가 없습니다"이동 –

+1

더 많이 자바처럼 포인터가 있지만 안전한 방식으로 관리합니다. – Thilo

답변

1

포인터는 메모리 관리를 불투명하게 할 수 있도록 기본적으로 관리되는 언어로 금지되어 있습니다. 예를 들어 오브젝트를 더 가깝게 이동시켜 가벼운 여유 공간 블록을 확보하고 캐시 일관성을 향상시키는 압축 가비지 컬렉터를 가질 수 있습니다 포인터가 아닙니다. 그러나 포인터가있는 경우 모든 포인터는 업데이트 할 수 없거나 실행 불가능한 모든 가비지 수집에서 유효해야합니다.

의 C#과 같은 일부 관리 언어에서

(이 대폭 프로그래밍 언어가 무엇을 할 수 있는지 변경 한 과정의 이유 :하지만 어떻게 수 있도록 포인터의 예입니다), 당신은 어디를 unsafe {} 블록을 선언 할 수 있습니다 관리되지 않는 메모리와 포인터를 사용할 수 있지만 그곳에 만 존재합니다.

관련 문제