답변
전혀 아님!
Java는 추상 레벨의 거의 모든 부분을 C와 달리 실제 레지스터와 버퍼의 관점에서 실제로 코딩하는 하드웨어 및 메모리 또는 어셈블리에 직접 액세스 할 수 없습니다.
효율적인 Java 코드를 작성하려면 사용중인 알고리즘의 효율성을 확인하면됩니다. 비효율적 인 알고리즘을 사용하는 경우 프로그램에 상관없이 비효율적입니다. 올바른 유형의 데이터 구조를 사용하고 있습니다. 이것이 사람들이 어셈블리로 코딩하는 한 가지 이유입니다. 매우 유연한 데이터 구조를 만들 수 있습니다. 그러나 주류 목적을 위해, java.util에있는 클래스는 충분할 것입니다.
최신 기계에서는 가상 기계 사용으로 인해 발생하는 비용이 거의 들지 않으므로 Java는 어셈블리 나 C와 비교할 때 많은 단점이 없습니다.
어쨌든 Java와 어셈블리 코드를 함께 사용할 수 없으므로 언어 지식이 도움이되지 않지만 효율적인 알고리즘 (정렬 등) 및 데이터 구조 (linkedlists, trees 등)에 대한 지식이 도움이됩니다.)
이것은 오해의 소지가 있습니다. 언어와 마찬가지로 언어 런타임/구현에 대한 지식은 효율적인 알고리즘과 데이터 구조를 설계하는 데 필요합니다. Java의 경우 이것은 GC와 그 한계에 대한 기본적인 지식을 포함합니다. (약한 참조가 마음에 ...) – Christoph
@Christoph 저수준 최적화의 의도와 프로그래밍이 복잡해지기 때문에 코드의 속도가 느려지는 것처럼 보입니다 (그리고 일반적으로 품질이 떨어지는 코드로 만드는 것보다). 깨끗한 코드와 측정은 가장 중요한 도구입니다. –
@Tom : 나는 마이크로 최적화에 대해 이야기하는 것이 아니라 실행 환경의 본질적 속성에 대해 말하고있다. 대부분의 C 구현은 (현재의) 자바 스크립트에서 재귀 (반복적 인) 결정에 대한 반복을 선호한다. .in'은 배열을 반복 할 때'for (;;)'보다 느리다 (자바 최적화에서는 문장의 의미상의 차이로 인해 마이크로 최적화와 나쁜 예가 나타난다). 자바를 사용하면 언제, 왜 사용해야하는지 이해할 필요가있다. 'StringBuilder','WeakReference','ArrayList'와'LinkedList','volatile' 모두 구현의 속성과 관련이 있습니다 ... – Christoph
- 1. Android에 깊은 Java 지식이 필요합니까?
- 2. 낮은 수준의 소켓 프로그래밍
- 3. 낮은 수준의 Android 디버깅
- 4. 효율적인 Java 코드를 작성하는 방법은 무엇입니까?
- 5. 낮은 수준의 후크 모니터링 [C]
- 6. RDBMS를 잘 배우려면 이론적 지식이 필요합니까?
- 7. 낮은 수준의 WCF 오류를 처리하는 방법은 무엇입니까?
- 8. DirectX/OpenGL보다 낮은 수준의 API가 있습니까?
- 9. JDO와 낮은 수준의 API 간의 트랜잭션 유지
- 10. 낮은 수준의 형식으로 성능을 향상시킬 수 있습니까?
- 11. 낮은 수준의 액세스 권한이있는 pendrive에 쓰기
- 12. Windows에서 화면 이동 - 낮은 수준의 프로그래밍
- 13. 인스턴스를 한 번만 실행할 수있는 Java 코드를 작성하려면 어떻게해야합니까?
- 14. SubSonic을 사용하여이 코드를 작성하려면 어떻게해야합니까?
- 15. 낮은 수준의 아키텍처 비 효율성 분석을위한 오픈 소스 프로파일 러?
- 16. Rails에 데이터베이스 수준의 제약 조건이 필요합니까?
- 17. C# 낮은 수준의 마우스 후크 및 양식 이벤트 처리
- 18. 구성 설정 낮은 수준의 web.config 파일에서 재정의 할 수 없습니다.
- 19. 터치 이벤트에 대한 더 낮은 수준의 정보를 얻을 수 있습니까?
- 20. 낮은 수준의 웹 서비스 참조 통화 전송을 사용자 정의로 바꿉니다.
- 21. Visual Studio 2003에서 낮은 수준의 시스템 예외를 디버깅하는 방법?
- 22. 낮은 수준의 오류를 wpf gui로 처리하고 통신하려면 어떻게해야합니까?
- 23. Ruby에 대한 매우 낮은 수준의 질문 및 라이브러리에 대한 연결
- 24. 어셈블리로의 C/C++ 번역, 낮은 수준의 메모리 동작 : 어떻게 수행됩니까?
- 25. 높은 수준의 SSE 플래그는 GCC/clang에서 낮은 SSE 플래그를 암시합니까?
- 26. 낮은 수준의 폴더 이름 + 저장된 이미지 URL에 대한 image_tag 만들기
- 27. 개체 데이터를 개체로로드하는 방법 - GoogleAppEngine - 낮은 수준의 API
- 28. PL/SQL에서 Java 메소드를 작성하려면
- 29. Java strings에서 효율적인
- 30. 유니 코드를 파이썬 수준의 문자열로 변환하려면 어떻게해야합니까?
http://programmers.stackexchange.com –
에게 문의하십시오. 명확한 견해에 감사드립니다. –
FYI : http://programmers.stackexchange.com/questions/34890/how-to-learn-java –