메모리를 조정할수잇다는게 얼마나 좋은건지 모르겟음 프로그래밍할때 메모리도 다 염두에 두고함? 그이유가??
댓글 4
현재 존재하는 메모리 자동 관리 기술들(가비지 컬렉션, 선형 타입시스템)이 불완전하거나 엔지니어링이 덜되었기 때문에 수동으로 메모리 모델을 관리하는 언어가 장점을 가지는 부분이 있지. 본인이 해결하려고 하는 문제에 따라 메모리 관리를 컴퓨터에게 맡기냐 수동으로 하냐에 따른 기회비용과 편익을 계산해서 적당한 선택을 하는게 좋음.
cc(221.155)2015-12-09 13:44
8808 // 메모리 관리는 힙영역 뿐만 아니라 스택영역도 해당됨. C는 스택영역은 물론 데이터영역까지 직접 관리할 수 있는 언어라서 힙영역의 할당과 해제만 놓고 보기엔 무리가 있지(물론 땔감들의 세계에선 힙이 전부겠지만). Java가 아직도 꼬리재귀 최적화를 못하는 이유가 JVM이 스택을 직접 관리하기 때문임.
cc(221.155)2015-12-09 13:50
자바가 못하는거랑 jvm이랑 무슨상관임. 스칼라같은 언어는 tail call recursion지원하는데
현재 존재하는 메모리 자동 관리 기술들(가비지 컬렉션, 선형 타입시스템)이 불완전하거나 엔지니어링이 덜되었기 때문에 수동으로 메모리 모델을 관리하는 언어가 장점을 가지는 부분이 있지. 본인이 해결하려고 하는 문제에 따라 메모리 관리를 컴퓨터에게 맡기냐 수동으로 하냐에 따른 기회비용과 편익을 계산해서 적당한 선택을 하는게 좋음.
8808 // 메모리 관리는 힙영역 뿐만 아니라 스택영역도 해당됨. C는 스택영역은 물론 데이터영역까지 직접 관리할 수 있는 언어라서 힙영역의 할당과 해제만 놓고 보기엔 무리가 있지(물론 땔감들의 세계에선 힙이 전부겠지만). Java가 아직도 꼬리재귀 최적화를 못하는 이유가 JVM이 스택을 직접 관리하기 때문임.
자바가 못하는거랑 jvm이랑 무슨상관임. 스칼라같은 언어는 tail call recursion지원하는데
http://stackoverflow.com/questions/105834/does-the-jvm-prevent-tail-call-optimizations
스칼라가 하는 taill call optimization도 JVM때문에 한계가 있음.