Google v Oracle 사례에 대해 읽었을 때, 나는 이러한 질문에 직면했습니다 (주재 판사)
...
적어도 1996 년 기준으로 다음과 같은 사실에 동의합니까?다음은 핵심 Java 응용 프로그램 프로그래밍 인터페이스 java.lang, java.util 및 java.io입니다.
Java 프로그래밍 언어가 위 세 가지 이외의 메소드, 클래스 또는 패키지를 참조하거나 필요합니까?
...
출처 : Groklaw
분명히 많은 법적 파급 효과가 있으며, 구글과 오라클은 일부 시점에서 동의 하지 않을 것 입니다. 변호사에게 법률을 맡기십시오.
그러나 나는 여기에 흥미로운 역사가 있다고 생각합니다.
자바 버전 1.0 (첫번째 약 2001 버전 1.3의 코딩 자바를했던 사람으로) 아무것도의 외부를 요구되었다 내 질문은 java.lang
, java.util
및 java.io
유효한 자바 프로그램을 컴파일하려면?
예를 들어 (C # 5.0 사용) await
키워드는 다른 것들에 의존합니다 . 컴파일러는 해당 클래스가 없으면 사양을 지정할 수 없습니다.Task<T>
GetAwaiter()
마찬가지로 다른 패키지에 종속 된 핵심 런타임 기능 (예 : ClassLoader *)이 있습니까?
호기심을 불러 일으킬 것입니다. 최소 실행 가능한 Java (언어, 주변의 모든 법적 비트를 무시)에 필요한 것이 흥미 롭습니다.
* ClassLoader는 Java 1.0의 기능이라고 가정합니다 . 7.0 의 사양 중 일부 이며 아마도 많은 이전 버전 일 것입니다.
await
키워드는에 의존하지 않습니다 Task<T>
. Task
클래스는 단지 그 일을 만족시키기 위해 발생 await
키워드가 않습니다 (메소드 호출에 의존 GetAwaiter()
등).
yield
. IEnumerator 또는 이와 함께 있어야 합니다. 그냥 너무 흥분 await
.