[java] javax 대 자바 패키지

javax 패키지의 근거는 무엇입니까? Java에는 무엇이 있고 javax에는 무엇이 있습니까?

나는 많은 엔터프라이즈 패키지가 javax로 알고 있지만 Swing, 새로운 날짜 및 시간 API (JSR-310) 및 기타 J2SE 패키지도 알고 있습니다.



답변

패키지가 기존 JRE에 추가 ​​된 것으로 소개되면 다음과 같이 제공됩니다 javax. JRE의 일부로 처음 소개 된 경우 (NIO와 마찬가지로) 생각 java합니다. 새 날짜 및 시간 API가 왜이 javax논리 를 따르는 지 확실하지 않습니다 . 몇 년 후 참고하십시오. 실제로 결국에는 끝났습니다 java.

java패키지 에 제한이 있다고 생각합니다. 클래스 로더는 클래스 java.* 로드 rt.jar하거나 이와 유사한 것을 허용하도록 설정되어 있다고 생각 합니다. (체크인이 ClassLoader.preDefineClass있습니다.)

편집 : 공식 설명 (첫 번째 페이지에서 제안 된 검색 orbfish가 나오지 않았습니다)은 “핵심”대 “확장자”에 대해 의심의 여지가 없지만 여전히 많은 경우 특정 패키지에 대한 결정에 그 뒤에 역사적인 이유도 있습니다. 가 java.beans자바가 “핵심”예를 들어, 정말?


답변

원래 javax는 확장 용으로 만들어졌으며 때로는 javaxJava로 홍보 될 수 있습니다 .

한 가지 문제는 Java 패키지에있을 수있는 Netscape (및 아마도 IE) 제한 클래스였습니다.

스윙이 “졸업”으로 설정되었을 때 java부터 javax정렬합니다이 있던 사람들이 자신의 수입을 모두 수정해야한다는 것을 깨달았 때문에 최대 미니 날려. 이전 버전과의 호환성은 Java의 주요 목표 중 하나이므로 마음이 바뀌 었습니다.

그 시점에서, 적어도 커뮤니티 (Sun에게는 해당되지 않음)의 경우 전체 포인트 javax가 손실되었습니다. 이제 우리는 javax에 있어야 할 것들이 java있지만 패키지 이름을 선택한 사람들을 제외하고 누군가가 이론적 근거가 사례별로 무엇인지 알 수 있는지 모르겠습니다.


답변

java패키지는 base 이고 javax패키지는 확장입니다.

AWT가 원래 UI API이기 때문에 Swing은 확장이었습니다. 이후 버전 1.1에서 스윙이 나왔습니다.


답변

javax 네임 스페이스는 일반적으로 현재 선택적 패키지 로 알려진 표준 확장에 사용됩니다 (로드 된 단어 임) . 표준 확장은 비 핵심 API의 하위 집합입니다. 비 코어 API의 다른 세그먼트는 분명히 비표준 확장이라고하며 com.sun. * 또는 com.ibm과 같은 네임 스페이스를 차지합니다. . 핵심 API는 Java를 사용합니다. 네임 스페이스.

Java API 세계의 모든 것이 핵심에서 시작되는 것은 아니기 때문에 확장은 일반적으로 JSR 요청에서 생성됩니다. 그들은 결국 ‘현명한 조언’을 바탕으로 핵심으로 승진합니다.

이 명명법에 대한 관심은 썬 측의 가짜 문제에서 나왔다. 확장은 코어로 승격 될 수있다. 즉, javax. *에서 java. *로 이동하여 이전 버전과의 호환성 약속을 깨뜨릴 수있다. 프로그래머는 쉰 목소리를 내며 더 나은 감각이 우세했습니다. 이것이 Swing API가 코어의 일부이지만 javax. * 네임 스페이스에 계속 남아있는 이유입니다. 또한 확장에서 코어로 패키지를 승격시키는 방법도 있습니다. JDK 및 JRE의 일부로 간단히 다운로드 할 수 있습니다.


답변

Javax는 확장 기능에만 사용되었습니다. 그러나 나중에 sun은 x를 제거하는 것을 잊어 버린 Java 라이브러리에 추가했습니다. 개발자들은 javax로 코드를 만들기 시작했습니다. 그러나 나중에 태양은 그것을 자바로 바꾸기로 결정했습니다. 개발자들은 코드가 망가 졌기 때문에 아이디어가 마음에 들지 않았습니다. 그래서 javax가 유지되었습니다.


답변

java. * 패키지는 핵심 Java 언어 패키지입니다. 즉, Java 언어를 사용하는 프로그래머가 Java 언어를 가치있게 사용하려면 패키지를 사용해야했습니다.

javax. * 패키지는 선택적 패키지이며, Java 플랫폼에서 실행되는 모든 응용 프로그램에서 사용자 정의 API를 사용할 수 있도록 확장 가능한 표준 방법을 제공합니다.


답변

같은 일부 패키지 javax.swing는 처음에 Java 표준 라이브러리에 포함되지 않았습니다. 썬 회사는 그것들을 공식적인 것으로 간주하고 표준 라이브러리 또는 표준 확장으로 자바의 초기 버전에 포함시켰다.

관례에 따르면 모든 표준 확장 프로그램은 X잠시 후에 시작하여 시간이 지남에 따라 일등석으로 승격 될 수 있습니다 javax.swing.