>Java >java지도 시간 >Java의 악명 높은 Date API가 왜 역사적 실수가 되었습니까?

Java의 악명 높은 Date API가 왜 역사적 실수가 되었습니까?

DDD
DDD원래의
2024-12-22 19:28:16339검색

Why Did Java's Infamous Date API Become Such a Historical Blunder?

악명 높은 Java Date API: 역사적 실수

악명 높은 것으로 알려진 Java date API는 다음과 같은 몇 가지 결함으로 시달렸습니다. Java SDK의 악명 높은 구성 요소로 만들었습니다. 여기에는 가변성, 날짜 자체가 아닌 날짜 타임스탬프의 잘못된 표현, 날짜 구성 요소와 Date 개체 간의 간단한 변환 부족 등이 포함됩니다. 또한 Calendar 클래스는 투박한 것으로 간주되어 여러 달력 시스템을 단일 클래스로 병합하려고 시도합니다.

이러한 눈에 띄는 문제가 어떻게 Java SDK에 영향을 미쳤는지에 대한 호기심이 많습니다. 이러한 단점의 명백한 단순성, 특히 Date 클래스의 가변성에도 불구하고 이러한 문제가 어떻게 탐지를 회피했는지는 미스터리로 남아 있습니다.

소스에 따르면 유명한 Java 프로그래머 FAQ 버전 07.X.1998, Peter van der Linden이 작성하여 문제를 간결하게 설명했습니다.

"수업 날짜는 특정 순간을 밀리초 단위로 나타냅니다. 정밀도 이 클래스의 디자인은 매우 형편없는 농담입니다. 심지어 훌륭한 프로그래머도 얼마나 실수를 하는지 보여주는 냉철한 예입니다."

저자는 계속해서 Calendar 클래스와 GregorianCalendar 하위 클래스를 "과도하게 엔지니어링된 쓰레기"라고 비판했습니다. "는 Taligent에서 라이센스를 받았습니다.

Date를 포함한 초기 JDK 클래스의 가변성에 대한 이론적 근거는 잘못된 최적화에 기인합니다. 의도는 객체 재사용을 장려하고 불필요한 복사본을 피하는 것이었지만 이 접근 방식은 최신 VM에서는 잘못되었을 수 있습니다.

많은 단점에도 불구하고 Java 날짜 API는 SDK 내에서 유지되어 잠재적인 함정을 심각하게 상기시켜 줍니다. API 설계의 한계와 경험이 풍부한 프로그래머라도 실수는 피할 수 없습니다.

위 내용은 Java의 악명 높은 Date API가 왜 역사적 실수가 되었습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.