java main 예제

자바 주요 방법에 대한 아주 좋은 설명 … 각 부분….큰 주의 main() 메서드를 정으로 만들지 않으면 컴파일 오류가 없습니다. 런타임 오류가 발생합니다. java.exe를 실행하면 JNI(Java 네이티브 인터페이스) 호출이 몇 개 있습니다. 이러한 호출은 실제로 JVM인 DLL을 로드합니다(맞습니다 – java.exe는 JVM이 아닙니다). JNI는 가상 머신 세계와 C, C++등의 세계를 연결해야 할 때 사용하는 도구입니다. 그 반대의 경우도 마찬가지입니다. JNI를 사용하지 않고는 실제로 JVM을 실행할 수 없습니다. /* * 진입점. */ int JLI_Launch (int argc, char ** argv, /* 메인 argc, argc */ int jargc, const char** jargv, /* 자바 args */ int appclassc, const char** appclassv, /* 앱 클래스경로 */ const char* 풀 버전 정의 */ const char* 도트* / const char* pname, /* 프로그램 이름 */ const char* lname, /* 런처 이름 */ jboolean 자바, /* JAVA_ARGS */ jboolean cpwildcard, /* 클래스 패스 와일드 카드 * / jboolean 자바우, /* 윈도우 전용 자바우 */ 진트 에르고 /* ergonomics 클래스 정책 */ 단일 인수: 문자열 형식의 요소 배열입니다. 우리가 보여 준 모든 예제는 구문 측면에서 유효하지만 교육 목적에 부합하며 대부분의 경우 일반적인 서명을 고수하여 작업을 수행합니다. 또 다른 큰 질문. 이를 이해하려면 주 메서드가 정적으로 없다고 가정해 보겠습니다.

이제 모든 메서드를 호출하려면 인스턴스가 필요합니다. 오른쪽? Java 클래스 디스어셈블러인 javap에 -c 옵션을 사용하여 생성된 바이트 코드를 볼 수 있습니다. 예: http://hg.openjdk.java.net/jdk7/jdk7/jdk/raw-file/jdk7-b24/src/share/bin/java.c 163: int JNICALL 자바메인(무효 * 아르그); /* 진입점 */ 줄에 정의 된 번호 308 주요 호출: mainClassName = GetMainClassName (env, jarfile); 라인 번호 400 내 의견은 main() 메서드가 없지만 Applet, Swing, Servlet, EJB와 같은 특정 계약을 올바르게 구현하는 Java 소스 코드가 관리되는 환경에서 실행되고 자동으로 호출되는 수명 주기 콜백이 있다는 것입니다. 서블릿 컨테이너 (Servlet), jre 플러그인이 설치된 브라우저 (애플트), JNLP 프로토콜 (또한 적절한 사전 설치된 JRE가 필요) 원격 스윙 코드 또는 로컬 스윙 코드JRE, J2EE 서버 / 응용 프로그램 서버 EJB에 대한 JRE와 같은 런타임 환경. 더 추가하려면; JVM 사양에도 JVM 공급업체에 대한 규칙이 있습니다. 호환되지 않는 JVM을 작성하지 못하게 합니다(비공개 주를 허용할 수 있음). 그러나 일부 프로그래머는 main() 메서드를 자체 클래스에 넣으면 만드는 Java 구성 요소를 재사용할 수 있도록 하는 데 도움이 될 수 있다고 지적합니다. 예를 들어 아래 디자인에서는 main() 메서드에 대해 별도의 클래스를 만들므로 다른 프로그램이나 메서드에서 ServerFoo 클래스를 호출할 수 있습니다.

Java 프로그래밍은 반환 형식을 요구하지만 예는 메서드 서명의 일부가 아닙니다. 좋은 게시물 로케시.

Ο ΚΑΙΡΟΣ
facebook
facebook
ΑΡΙΘΜΟΣ ΕΠΕΣΚΕΠΤΩΝ
  • 0Total visitors:
  • Visitors today:
  • Visitors yesterday:
  • Visitors last week:
  • Visitors per month:
  • 0.00Visitors per day:
  • 0Visitors currently online: