안드로이드가 작동하는 방식. Java 개발자를 위한 소개. Java Virtual Machine과 JVM이라는 용어를 들어본 적이 있습니다. 이것은 자바 소프트웨어입니까? 클래스와 객체



Chrome 브라우저 버전 42 이상. Chrome 버전 42(2015년 4월 출시)부터 Chrome은 브라우저가 플러그인을 지원하는 표준 방식을 비활성화했습니다. 더 많은 정보


자바 다운로드 및 설치

오프라인 설치 프로그램 패키지 사용해 보기(Windows에만 해당)

온라인 설치 프로그램 패키지에 문제가 발생한 경우에도 오프라인 설치 프로그램 패키지가 성공적으로 완료되는 경우가 많습니다. 오프라인 설치 프로그램 패키지 파일은 크기가 커서 온라인 설치 프로그램보다 다운로드하는 데 시간이 더 오래 걸립니다.
» Windows 오프라인 설치 프로그램 다운로드

작동하지 않는 Java 설치 제거

다시 설치하기 전에 작동하지 않는 이전 Java 설치를 제거하십시오.
» Windows용 Java 제거
» Mac용 Java 제거

방화벽 또는 바이러스 백신 클라이언트를 일시적으로 끄십시오.

활성 방화벽이나 바이러스 백신 소프트웨어로 인해 Java가 제대로 설치되지 않을 수 있습니다. Java 설치를 성공적으로 완료한 후에는 방화벽이나 바이러스 백신 소프트웨어를 다시 켜십시오.

Java 설치 중에 파일 손상 메시지가 나타나는 이유는 무엇입니까?

이 메시지는 Windows XP 사용자에게 가장 흔히 표시됩니다. Microsoft 유틸리티를 실행하고 오프라인 설치 프로그램을 시도하면 문제가 해결될 수 있습니다. 자세한 내용은 installshield FAQ를 참조하세요.

아래 섹션의 지침을 사용하여 Java 설치를 테스트할 수 있습니다.

자바 사용

Java가 올바르게 설치되었는지 확인했으면 다음 항목을 시도하여 특정 Java 응용 프로그램을 실행하는 데 도움을 받으십시오.

새 버전을 활성화하려면 Java를 설치한 후 브라우저를 다시 시작하세요.

최신 버전을 설치한 후에도 Java를 업데이트하라는 메시지가 계속 표시되면 브라우저를 다시 시작해 보세요. 브라우저 창을 모두 닫은 다음 Java가 필요한 웹 페이지를 다시 엽니다. 대부분의 경우 새 브라우저 세션을 시작하면 최신 설치된 Java 버전이 브라우저에서 활성화됩니다.
메모: 업데이트하라는 메시지가 계속 표시되면 시스템을 다시 시작해 보세요. 일부 시스템에서는 새로 설치된 Java 플러그인을 등록하려면 다시 시작해야 합니다.

브라우저에서 메시지가 표시되면 Java 실행 권한을 부여하세요.

브라우저는 브라우저에서 Java 플러그인을 실행할 수 있는 권한을 요청합니다. 권한 프롬프트는 브라우저에 따라 다릅니다.
» 브라우저에서 Java 플러그인 활성화

브라우저에서 Java 플러그인이 활성화되어 있는지 확인하십시오.

브라우저는 기본적으로 Java 플러그인 또는 관련 추가 기능을 비활성화할 수 있습니다. Java 플러그인을 활성화하려면 브라우저를 구성해야 할 수도 있습니다.
» 브라우저에서 Java 플러그인 활성화

Java 제어판에서 Java가 활성화되어 있는지 확인하십시오.

Java 제어판에서 Java가 활성화되어 있지 않으면 어떤 브라우저에서도 Java 응용 프로그램을 실행할 수 없습니다.
» Java 제어판을 사용하여 브라우저에서 Java 컨텐츠를 활성화합니다.

보안 설정 구성

Java 보안 수준으로 인해 애플리케이션 실행이 방해되지 않는지 확인하십시오. 기본 보안 수준은 컴퓨터에 위험을 초래할 수 있는 응용 프로그램 실행 기능을 제한할 수 있습니다.
» Java 제어판에서 보안 수준 설정 구성

보안 설정으로 차단된 애플리케이션을 어떻게 실행할 수 있나요?

예외 사이트 목록 기능은 Java 7 업데이트 51 릴리스부터 도입되었습니다. 예외 목록에 응용 프로그램 URL을 추가하면 사용자는 일반적으로 보안 검사에 의해 차단되는 RIA(Rich Internet Application)를 실행할 수 있습니다.
» 예외 사이트 목록 구성

쿠폰이나 배송 라벨을 인쇄할 수 없는 이유는 무엇입니까?

일부 Java 애플리케이션은 새로운 Java 보안 표준을 충족하도록 업그레이드되지 않았습니다. 결과적으로 이러한 앱이 차단되어 인쇄가 비활성화됩니다. 웹사이트나 애플리케이션 개발자에게 문의하여 문제를 알립니다.
» 인쇄 문제 FAQ

Java 캐시(임시) 파일 지우기

때때로 Java 캐시의 손상된 파일로 인해 애플리케이션이 실행되지 않을 수 있습니다. Java가 다운로드한 임시 파일을 다시 다운로드하고 최신 상태인지 확인하므로 안전하게 삭제할 수 있습니다.
» Java 캐시 지우기

Java와 관련된 바이러스 백신 또는 방화벽 설정을 확인하세요.

사용자는 바이러스 백신 보안 앱과 방화벽 설정을 확인하여 Java 플러그인을 구성할 영역이 있는지, 신뢰할 수 있는 사이트를 추가할 수 있는지 확인해야 합니다.

프록시 설정 확인

특정 인터넷 구성에 필요한 경우 적절한 프록시 설정을 사용하고 있는지 확인하십시오.
» Java 제어판에서 프록시 설정 지정

Firefox(Windows)에서 독립형 JavaFX 설치 제거

Java 버전 7u10 이상과 이전 JavaFX 독립 실행형 설치 간의 충돌로 인해 Firefox가 설치된 Java 버전을 인식하지 못할 수 있습니다.
» Firefox 문제 보기

자바 테스트

브라우저에서 Java가 활성화되어 있는지 확인하십시오.

Java 설치가 완료되면 Java가 브라우저에서 작동하는지 확인할 수 있습니다. 귀하의 브라우저에서 Java가 비활성화되었거나 실행되지 않도록 차단되었을 수 있습니다. Java 실행 권한을 부여하는 방법은 사용 중인 브라우저에 따라 다릅니다.

Java - Sun 마이크로시스템즈의 언어입니다. 원래 전자 장치 프로그래밍을 위한 언어로 개발되었지만 나중에 서버 소프트웨어 응용 프로그램을 작성하는 데 사용되기 시작했습니다. Java 프로그램은 크로스 플랫폼입니다. 즉, 모든 운영 체제에서 실행될 수 있습니다.

자바 프로그래밍 기초

객체 지향 언어인 Java는 OOP의 기본 원칙을 따릅니다.

  • 계승;
  • 다형성;
  • 캡슐화.

다른 OYA와 마찬가지로 Java의 중심에는 생성자와 속성이 있는 객체와 클래스가 있습니다. 공식 리소스가 아닌 초보자용 매뉴얼에서 Java 프로그래밍 언어 학습을 시작하는 것이 좋습니다. 이러한 매뉴얼에서는 기능을 자세히 설명하고 코드 예제를 제공합니다. "초보자를 위한 Java 프로그래밍 언어"와 같은 책에서는 명명된 언어의 기본 원리와 기능을 자세히 설명합니다.

특징

Java 프로그래밍 언어 코드는 바이트코드로 변환된 다음 JVM에서 실행됩니다. 바이트코드로의 변환은 Javac, Jikes, Espresso, GCJ에서 수행됩니다. C 언어를 Java 바이트코드로 변환하는 컴파일러가 있습니다. 따라서 C 애플리케이션은 모든 플랫폼에서 실행될 수 있습니다.

Java 구문의 특징은 다음과 같습니다.

  1. 클래스 이름은 대문자로 시작해야 합니다. 이름이 여러 단어로 구성된 경우 두 번째 단어는 대문자로 시작해야 합니다.
  2. 여러 단어를 사용하여 메서드를 구성하는 경우 두 번째 단어는 대문자로 시작해야 합니다.
  3. 처리는 main() 메소드로 시작됩니다. 이는 모든 프로그램의 일부입니다.

유형

Java 프로그래밍 언어에는 8가지 기본 유형이 있습니다. 아래에 제시되어 있습니다.

  • Boolean은 true와 false라는 두 가지 값만 허용하는 Boolean 유형입니다.
  • Byte는 1바이트를 측정하는 가장 작은 정수 유형입니다. 파일이나 원시 바이너리 데이터로 작업할 때 사용됩니다. 범위는 -128부터 127까지입니다.
  • Short는 -32768부터 32767까지의 범위를 가지며 숫자를 표현하는데 사용됩니다. 이 유형의 변수 크기는 2바이트입니다.
  • Int도 숫자를 의미하지만 크기는 4바이트입니다. 정수 데이터 작업에 가장 자주 사용되며 byte 및 short는 때때로 int로 승격됩니다.
  • Long은 큰 정수에 사용됩니다. 가능한 값의 범위는 -9223372036854775808부터 9223372036854775807까지입니다.
  • Float 및 double은 분수 값을 나타내는 데 사용됩니다. 차이점은 숫자의 소수 부분에 높은 정밀도가 필요하지 않을 때 float가 편리하다는 것입니다.
  • Double은 "." 구분 기호 뒤의 모든 문자를 표시하는 반면, float는 첫 번째 문자만 표시합니다.
  • 문자열은 문자열을 정의하는 데 사용되는 가장 일반적으로 사용되는 기본 유형입니다.

클래스와 객체

클래스와 객체는 초보자를 위한 Java 프로그래밍 언어 학습에서 중요한 역할을 합니다.

클래스는 객체에 대한 템플릿을 정의합니다. 클래스에는 반드시 속성과 메서드가 있습니다. 이를 생성하려면 Class 키워드를 사용하십시오. 별도의 파일로 생성하는 경우에는 클래스 이름과 파일 이름이 동일해야 합니다. 이름 자체는 이름과 확장자.Java의 두 부분으로 구성됩니다.

Java에서는 상위 클래스의 메서드를 상속하는 하위 클래스를 만들 수 있습니다. 확장이라는 단어는 다음과 같은 경우에 사용됩니다.

  • 클래스 class_name은 superclass_name()을 확장합니다.

생성자는 명시적으로 지정되지 않은 경우에도 모든 클래스의 구성 요소입니다. 이 경우 컴파일러는 이를 독립적으로 생성합니다.

  • 공용 클래스 클래스( 공용 클래스())( ) 공용 클래스(문자열 이름)( ))

생성자의 이름은 기본적으로 클래스 이름과 동일하며 매개변수는 하나만 있습니다.

  • 공개 강아지(문자열 이름)

객체는 new() 연산자를 사용하여 클래스에서 생성됩니다.

  • 포인트 p = 새로운 Point()

클래스의 모든 메서드와 속성을 수신하여 다른 개체와 상호 작용합니다. 하나의 객체는 다른 변수에서 여러 번 사용될 수 있습니다.

    포인트 p = 새로운 Point()

    클래스 TwoPoints(

    공개 정적 무효 메인(문자열 인수) (

    포인트 p1 = 새로운 포인트();

    포인트 p2 = 새로운 포인트();

    객체 변수와 객체는 완전히 다른 엔터티입니다. 개체 변수는 참조입니다. 이는 기본이 아닌 유형의 모든 변수를 가리킬 수 있습니다. C++와 달리 유형 변환은 엄격하게 규제됩니다.

    필드 및 방법

    필드는 클래스나 개체와 관련된 모든 변수입니다. 기본적으로 로컬 클래스이므로 다른 클래스에서 사용할 수 없습니다. 필드에 액세스하려면 '.' 연산자를 사용하세요.

    • 클래스 이름.변수

    static 키워드를 사용하여 정적 필드를 정의할 수 있습니다. 이러한 필드는 전역 변수를 저장하는 유일한 방법입니다. 이는 Java에 전역 변수가 없기 때문입니다.

    다른 패키지에서 액세스할 수 있도록 변수를 가져오는 기능을 구현했습니다.

    • 정적 클래스 이름 가져오기;

    메소드는 자신이 선언된 클래스에 대한 서브루틴입니다. 변수와 동일한 수준으로 설명됩니다. 함수로 지정되며 void를 포함한 모든 유형이 될 수 있습니다.

    • 클래스 포인트(int x, y;

      무효 초기화(int a, int b) (

    위의 예에서 Point 클래스에는 init() 메서드인 정수 x와 y가 있습니다. 변수와 마찬가지로 메소드는 "." 연산자를 사용하여 액세스됩니다.

    • Point.init();

    init 속성은 아무것도 반환하지 않으므로 void 유형입니다.

    변수

    Java 프로그래밍 언어 튜토리얼에서 변수는 특별한 위치를 차지합니다. 모든 변수에는 특정 유형이 있으며, 이에 따라 값을 저장하는 데 필요한 위치, 가능한 값의 범위 및 작업 목록이 결정됩니다. 값을 조작하기 전에 변수가 선언됩니다.

    여러 변수를 동시에 선언할 수 있습니다. 쉼표를 사용하여 나열합니다.

    • int a, b, c;

    초기화는 선언 이후 또는 선언 도중에 발생합니다.

    정수 a = 10, b = 10;

    여러 가지 유형이 있습니다.

    • 지역변수(local);
    • 인스턴스 변수;
    • 정적 변수(정적).

    지역 변수는 메소드와 생성자에서 선언되며, 생성자가 실행될 때 생성되고 완료되면 소멸됩니다. 이들의 경우 액세스 수정자를 지정하고 가용성 수준을 제어하는 ​​것이 금지되어 있습니다. 선언된 블록 외부에서는 표시되지 않습니다. Java에서는 변수에 초기값이 없으므로 처음 사용하기 전에 변수를 할당해야 합니다.

    인스턴스 변수는 클래스 내부에서 선언되어야 합니다. 메소드로 사용되지만 객체가 생성된 후에만 액세스할 수 있습니다. 객체가 소멸되면 변수도 소멸됩니다. 로컬 변수와 달리 인스턴스 변수에는 기본값이 있습니다.

    • 숫자 - 0;
    • 논리 - 거짓;
    • 링크가 null입니다.

    정적 변수를 클래스 변수라고 합니다. 해당 이름은 대문자로 시작하고 static 한정자로 지정됩니다. 이는 상수로 사용됩니다. 따라서 목록에서 하나의 지정자가 추가됩니다.

    • 결정적인;
    • 사적인;
    • 공공의.

    프로그램 시작 시 시작되고 실행이 중지되면 삭제됩니다. 인스턴스 변수와 마찬가지로 빈 변수에 할당되는 표준 값이 있습니다. 숫자의 값은 0이고 부울 변수의 값은 false이며 개체 참조는 처음에 null입니다. 정적 변수는 다음과 같이 호출됩니다.

    • 클래스명.변수명.

    쓰레기 수집가

    "초보자를 위한 Java 프로그래밍 언어" 튜토리얼에서 자동 가비지 수집에 관한 섹션이 가장 흥미롭습니다.

    Java에서는 C 언어와 달리 메모리에서 객체를 수동으로 제거하는 것이 불가능합니다. 이를 위해 가비지 수집기라는 자동 제거 방법이 구현되었습니다. null을 통한 기존 삭제에서는 개체에 대한 참조만 제거되고 개체 자체는 삭제됩니다. 강제로 가비지 수집을 수행하는 방법이 있지만 일반 작업에서는 사용하지 않는 것이 좋습니다.

    사용하지 않는 개체를 자동으로 삭제하는 모듈은 백그라운드에서 작동하며 프로그램이 비활성화될 때 시작됩니다. 메모리에서 개체를 지우려면 메모리를 비운 후 프로그램이 중지되고 중단된 작업이 다시 시작됩니다.

    수정자

    다양한 유형의 수정자가 있습니다. 액세스 방법을 결정하는 것 외에도 메서드, 변수 및 클래스의 수정자가 있습니다. private으로 선언된 메서드는 선언된 클래스에서만 사용할 수 있습니다. 이러한 변수는 다른 클래스 및 함수에서 사용할 수 없습니다. Public은 모든 클래스에 대한 접근을 허용합니다. 다른 패키지에서 Public 클래스를 가져와야 하는 경우 먼저 해당 클래스를 가져와야 합니다.

    protected 수정자는 사실상 public과 유사합니다. 즉, 클래스의 필드에 대한 액세스를 엽니다. 두 경우 모두 변수를 다른 클래스에서 사용할 수 있습니다. 그러나 public 수정자는 절대적으로 모든 사람이 사용할 수 있으며 protected 수정자는 상속된 클래스에서만 사용할 수 있습니다.

    메소드를 생성할 때 사용되는 수정자는 정적입니다. 이는 생성된 메서드가 클래스 인스턴스와 독립적으로 존재함을 의미합니다. Final 수정자는 액세스를 제어하지 않지만 오히려 개체 값의 추가 조작이 불가능함을 나타냅니다. 지정된 요소를 변경하는 것을 금지합니다.

    필드에 대한 Final을 사용하면 변수의 첫 번째 값을 변경할 수 없습니다.

      공개 정적 무효 mthod(문자열 인수) (

      최종 정수 이름 = 1;

      int Name = 2;// 오류가 발생합니다.

    최종 수정자가 있는 변수는 상수입니다. 일반적으로 대문자로만 작성됩니다. CamelStyle 및 기타 방법이 작동하지 않습니다.

    메소드에 대한 Final은 상속된 클래스에서 메소드 변경이 금지됨을 나타냅니다.

      최종 무효 myMethod() (

      System.out.printIn("안녕하세요.");

    클래스의 Final은 클래스 자손을 생성할 수 없음을 의미합니다.

      최종 공개 클래스 클래스 (

    Abstract - 추상 클래스를 생성하기 위한 수정자입니다. 모든 추상 클래스와 추상 메서드는 다른 클래스와 블록에서 추가로 확장될 예정입니다. 수정자 Transient는 가상 머신에 주어진 변수를 처리하지 말라고 지시합니다. 이 경우 단순히 저장되지 않습니다. 예를 들어, temporary int Name = 100은 저장되지 않지만 int b는 저장됩니다.

    플랫폼 및 버전

    Java 프로그래밍 언어의 기존 제품군:

    • 스탠다드 에디션.
    • 기업용 에디션.
    • 마이크로 에디션.
    • 카드.

    1. SE는 개인용 맞춤형 애플리케이션을 만드는 데 널리 사용되는 주요 프로그램입니다.
    2. EE는 엔터프라이즈 소프트웨어 개발을 위한 사양 집합입니다. SE보다 더 많은 기능을 포함하고 있어 대기업과 중소기업에서 상업적 규모로 사용됩니다.
    3. ME - 전력과 메모리가 제한된 장치용으로 설계되었으며 일반적으로 디스플레이 크기가 작습니다. 이러한 장치로는 스마트폰, PDA, 디지털 TV 수신기 등이 있습니다.
    4. 카드 - 스마트 카드, SIM 카드, ATM과 같이 컴퓨팅 리소스가 극도로 제한된 장치용으로 설계되었습니다. 이러한 목적을 위해 바이트코드, 플랫폼 요구 사항 및 라이브러리 구성 요소가 변경되었습니다.

    애플리케이션

    Java 프로그래밍 언어로 작성된 프로그램은 속도가 느리고 RAM을 더 많이 차지하는 경향이 있습니다. Java와 C 언어를 비교 분석한 결과 C가 조금 더 생산적인 것으로 나타났습니다. JVM(Java Virtual Machine)은 수많은 변경과 최적화를 거쳐 성능이 향상되었습니다.

    Android 애플리케이션에 적극적으로 사용됩니다. 프로그램은 비표준 바이트코드로 컴파일되어 ART 가상 머신에서 실행됩니다. 컴파일에는 Android Studio가 사용됩니다. Google의 이 IDE는 Android 개발을 위한 공식 IDE입니다.

    Microsoft는 Java 가상 머신 MSJVM의 자체 구현을 개발했습니다. 크로스 플랫폼의 기본 개념을 깨뜨리는 차이점이 있었습니다. 일부 기술과 방법에 대한 지원이 없었고 Windows 플랫폼에서만 작동하는 비표준 확장이 있었습니다. Microsoft는 구문과 전반적인 작업이 Java와 매우 유사한 J# 언어를 출시했습니다. 공식 사양을 따르지 않아 결국 표준 Microsoft Visual Studio 개발자 도구 키트에서 제거되었습니다.

    Java 프로그래밍 언어 및 환경

    소프트웨어 개발은 ​​다음 IDE에서 수행됩니다.

    1. 넷빈즈 IDE.
    2. 이클립스 IDE.
    3. IntelliJ 아이디어.
    4. JDeveloper.
    5. iOS용 자바.
    6. 지니.

    JDK는 Oracle에서 Java 개발 키트로 배포됩니다. 컴파일러, 표준 라이브러리, 유틸리티 및 실행 시스템이 포함됩니다. 최신 통합 개발 환경은 JDK에 의존합니다.

    Netbeans 및 Eclipse IDE에서는 Java 프로그래밍 언어로 코드를 작성하는 것이 편리합니다. 이는 무료 통합 개발 환경이며 모든 Java 플랫폼에 적합합니다. Python, PHP, JavaScript, C++ 프로그래밍에도 사용됩니다.

    Jetbrains의 IntelliJ IDE는 무료 버전과 상용 버전의 두 가지 버전으로 배포됩니다. 다양한 프로그래밍 언어로 코드 작성을 지원합니다. 더 많은 언어를 구현하는 개발자의 타사 플러그인이 있습니다.

    JDeveloper는 Oracle의 또 다른 개발 제품입니다. 완전히 Java로 작성되었으므로 모든 운영 체제에서 작동합니다.

Java 프로그래머들 사이에서는 Android 개발에 대한 이야기를 가끔 듣게 됩니다. Android는 지난 몇 년간 Java를 선두로 유지해 온 요소입니다. Java 개발자가 Android를 이해하거나 아는 것이 얼마나 중요합니까? 글쎄, 그것은 당신이 앱 개발을 좋아하는지, 그리고 많은 사람들이 당신의 앱을 사용하기를 원하는지 여부에 달려 있습니다. 그렇다면 Android가 이러한 기회를 제공할 것입니다. Android 운영 체제를 실행하는 휴대폰의 수는 수백만 대에 달하며 iOS를 실행하는 iPhone의 수보다 계속 빠르게 증가하고 있습니다. 이는 Java 개발자가 Android용 프로그래밍 방법을 배우는 것이 합리적이라는 것을 의미하며, 이 기사에서는 이에 전념합니다. 이는 Java 프로그래밍을 처음 배우는 좋은 이유 중 하나이기도 합니다. 이 리뷰를 통해 불필요한 세부 사항은 없지만 충분한 양으로 Android의 기본 사항을 배울 수 있습니다. 확실한 장점 하나 Java 개발자는 다른 개발자에 비해 이점이 있습니다. Android API는 Java 언어 API와 매우 유사하며 Android는 J2SE SDK에서 사용할 수 있는 모든 클래스는 아니지만 최소한 가장 중요한 클래스를 지원합니다. 또 다른 장점: Android 개발에도 Java와 동일한 도구를 사용할 수 있습니다. 예를 들어 Eclipse IDE는 Google이 Android 애플리케이션 개발을 위해 Eclipse용 플러그인을 제공하기 때문입니다. Android를 시작할 때 Java 개발자를 위한 최고의 Android 도서 중 두 권인 Android in Action(3판)과 같은 가이드를 살펴보는 것이 좋습니다.

반대로 iOS 개발을 시작하려면 Objective-C 언어와 iOS SDK를 배우는 어려운 과정을 거치게 됩니다. 제가 보기에는 Objective-C와 iOS로 전환하는 것이 Java 개발자보다 C++ 개발자에게 더 적합한 것 같습니다. 따라서 Java와 C++ 사이의 고전적인 전쟁은 스마트폰 앱 개발에서도 계속됩니다. 어쨌든 Android의 내부 동작을 이해해 봅시다.

안드로이드는 어떻게 작동하나요?

이미 언급했듯이 Android 운영 체제는 Java를 사용하여 애플리케이션을 개발합니다. 제공된 코드를 사용하여 Android 애플리케이션 코드를 작성할 수 있습니다. 구글 API 자바 , 클래스 파일로 컴파일됩니다. 이것이 유사성이 끝나는 곳입니다. Android는 클래스 파일을 실행하기 위해 JVM(Java Virtual Machine)을 사용하지 않고 가상 머신을 사용합니다. 달빅 , 이는 실제 JVM이 아니며 Java 바이트코드를 실행하지 않습니다. Dalvik 가상 머신에서 실행하기 위해 클래스 파일은 DEX 형식(Dalvik EXecutable - Dalvik 실행 파일)으로 컴파일됩니다. DEX 형식으로 변환되면 클래스 파일은 다른 리소스와 함께 Android 패키지(APK)로 번들되어 다양한 장치에 배포 및 설치됩니다. 알아야 할 가장 중요한 점은 기본 Dalvik 가상 머신 클래스 라이브러리가 Apache Harmony 프로젝트의 하위 집합을 기반으로 하기 때문에 모든 J2SE API를 지원하지는 않는다는 것입니다. Eclipse IDE를 사용하여 Android 애플리케이션용 코드를 작성하는 경우 코드 완성 기능이 있으므로 너무 걱정할 필요가 없습니다. 이제 Android 애플리케이션이 기기에서 어떻게 실행되는지 살펴보겠습니다.

Android 앱이 기기에서 어떻게 실행되나요?

Linux 운영체제와 프로세스 개념에 익숙하다면 Android 애플리케이션이 어떻게 실행되는지 쉽게 이해할 수 있습니다. 기본적으로 Android 운영 체제는 각 애플리케이션에 고유한 사용자 ID를 할당합니다. Android 애플리케이션이 시작되면 각 애플리케이션은 자체 가상 머신에서 자체 프로세스로 실행됩니다.

Android 운영 체제는 필요에 따라 애플리케이션 프로세스의 시작 및 종료를 제어합니다. 이는 모든 Android 애플리케이션이 서로 분리되어 작동하지만 물론 하드웨어 및 기타 시스템 리소스에 대한 액세스를 요청할 수 있음을 의미합니다. J2ME 등의 모바일 애플리케이션 개발에 익숙하다면 아마도 액세스 권한(허가)이라는 개념을 접했을 것입니다. Android 애플리케이션을 설치하거나 실행하면 인터넷, 전화번호부 또는 기타 시스템 리소스에 액세스하는 데 필요한 권한을 요청합니다. 사용자는 이러한 권한을 명시적으로 부여합니다. 그렇지 않으면 작업이 거부됩니다. 이러한 모든 권한은 Android 애플리케이션의 매니페스트 파일에 설명되어 있습니다. Java와 달리 Android 매니페스트는 모든 애플리케이션 구성 요소와 해당 설정을 나열하는 XML 파일입니다. Android 애플리케이션의 네 가지 주요 구성요소는 활동, 서비스, 콘텐츠 제공자 및 브로드캐스트 수신기입니다. 이 중 가장 일반적인 것은 Android 애플리케이션의 별도 화면 형태에 해당하는 활동입니다. 예를 들어 Android 운영 체제용 게임에는 로그인, 기록, 지침, 게임 화면 등 여러 화면이 있을 수 있습니다. 이러한 각 요소는 애플리케이션의 다양한 활동에 해당합니다.

Java와 마찬가지로 Android의 좋은 점은 활동 객체 생성과 같은 개발자를 위한 일부 작업을 수행한다는 것입니다. System 클래스는 활동 구성을 담당합니다. 활동을 시작해야 하는 경우 Intent 객체를 매개변수로 사용하여 startActivity() 메서드를 호출하면 됩니다. 이 호출에 대한 응답으로 System 클래스는 새 활동 개체를 생성하거나 이전 활동 개체를 재사용합니다. 메모리 재사용이라는 가장 중요한 작업을 처리하는 Java의 가비지 수집과 유사하게 Android는 애플리케이션의 시작, 중지, 생성 및 삭제를 관리합니다. 너무 많이 제한하는 것처럼 보일 수도 있지만 그렇지 않습니다. Android는 이 프로세스를 방해하기 위해 재정의할 수 있는 수명 주기 이벤트를 제공합니다. 그게 다야 안드로이드는 어떻게 작동하나요?. Java 개발자로서 Android는 Java를 사용하므로 배우는 것이 합리적이므로 Java 프로그래밍 기술, 디자인 패턴 및 모범 사례에 대한 지식을 활용하여 좋은 Android 애플리케이션을 만들 수 있습니다. 물론 일부 Android 관련 사항에 적응해야 하지만 시간이 지나면 자연스럽게 적응될 것입니다. 그래서 당신은 무엇을 기다리고 있습니까? 계속해서 Android를 배우고 첫 번째 HelloWorld Android 앱을 작성해 보세요! 마지막으로 Android에 관한 최고의 책인 Head First Android Development와 같이 Android 개발의 기초에 관한 좋은 책을 살펴보는 것이 좋습니다.


직업 "웹 개발자"를 위한 교육
"게임개발자"가 되기 위한 공부 + 취업

JDK를 사용하는 방법과 작업 방법은 무엇입니까?

JDK는 MS Windows 또는 X Window System과 같은 그래픽 환경에서 실행되는 프로그램을 작성하기 위한 것이지만 명령줄에서 MS Windows의 명령 프롬프트 창을 실행하는 데 중점을 둡니다. UNIX, Linux 및 BSD 시스템에서는 텍스트 모드와 Xterm 창 모두에서 작업할 수 있습니다.

메모장, MS Windows의 워드패드, UNIX의 vi, emacs 편집기 등 모든 텍스트 편집기에서 Java로 프로그램을 작성할 수 있습니다. 그래픽 형식이 아닌 텍스트 형식으로 파일을 저장하고 java 확장자를 지정하기만 하면 됩니다. 예를 들어 파일 이름을 MyProgram.java로 지정하고 파일 자체는 현재 디렉터리에 저장됩니다.

이 파일을 생성한 후 명령줄에서 javac 컴파일러가 호출되고 소스 파일이 매개변수로 전달됩니다.

javac MyProgram.java

컴파일러는 프로그램에 설명된 각 클래스에 대해 동일한 디렉터리에 하나의 파일을 생성하고 각 파일을 확장 클래스가 있는 클래스 이름으로 호출합니다. 예제에서는 MyProgram이라는 클래스가 하나만 있다고 가정하고 바이트코드가 포함된 MyProgram.class라는 파일을 얻습니다.

컴파일러는 조용합니다. 컴파일이 성공하면 아무 것도 보고하지 않고 운영 체제 프롬프트만 화면에 나타납니다. 컴파일러가 오류를 발견하면 오류에 대한 메시지를 표시합니다. JDK 컴파일러의 가장 큰 장점은 많은 오류를 포착하고 상세하고 이해하기 쉬운 메시지를 생성한다는 것입니다.

프로그램의 출력이나 런타임 오류 메시지가 화면에 나타납니다.

운영 체제의 그래픽 셸에서 작업할 때 우리는 실행 파일 이름을 두 번 클릭하거나(MS Windows에서는 실행 파일 이름의 표준 확장자가 exe입니다) 실행을 위해 프로그램을 호출하는 데 익숙합니다. 지름길. Java 기술에도 이러한 기능이 있습니다. 바이트 코드가 포함된 클래스 파일을 특별한 유형의 JAR 아카이브로 압축하면 됩니다. 이를 수행하는 방법은 25장에 설명되어 있습니다. MS Windows에 JDK를 설치할 때 jar 확장자를 가진 파일의 경우 java 인터프리터와의 연결이 자동으로 생성되며, 이는 jar 아카이브를 두 번 클릭할 때 호출됩니다.

또한 배치 파일(MS Windows의 경우 확장자가 bat인 파일, UNIX의 경우 쉘 파일)을 작성하여 필요한 모든 매개변수와 함께 Java 인터프리터를 호출하는 행을 작성할 수 있습니다.

운영 체제를 사용하여 Java 프로그램을 실행하는 또 다른 방법은 Java 가상 머신용 로더(런처)를 작성하는 것입니다. 이는 표준 JDK 배포판에서 수행됩니다. java.exe 실행 파일에는 Java 가상 머신을 시작하고 실행을 위해 main() 메서드가 있는 Java 클래스에 전달하는 C로 작성된 프로그램이 포함되어 있습니다. 이 프로그램의 소스 코드는 src/launcher 디렉터리의 Java 소스 코드에 포함되어 있습니다. 이를 사용하여 자신만의 부트로더를 작성할 수 있습니다. SyncEdit의 Java Launcher(http://www.syncedit.com/software/javalauncher/) 또는 Caphyon의 Java용 고급 설치 프로그램(http://www.advancedinstaller.com)과 같이 부트로더 작성을 더 쉽게 해주는 많은 프로그램이 있습니다. /.

마지막으로, 실행 중인 운영 체제의 실행 파일에 직접 Java로 작성된 소스 코드 컴파일러가 있습니다. 일반적인 이름은 AOT(Ahead-Of-Time) 컴파일러입니다. 예를 들어, 유명한 GCC 컴파일러(GNU Compiler Collection)에는 GCJ라는 입력이 있으며, 이를 통해 바이트코드와 실행 파일을 모두 컴파일할 수 있을 뿐만 아니라 바이트코드를 실행 파일로 다시 컴파일할 수도 있습니다.

Unixoids의 핵심인 명령줄에서 작업하는 것이 약간 구식으로 보인다면 통합 개발 환경을 사용하십시오.

아시다시피 Java는 세계에서 가장 인기 있는 프로그래밍 언어 중 하나이며 이를 알면 프로그래머로서의 가치가 크게 높아질 것입니다. 그래서 당신은 이 언어로 글쓰기를 시작하기로 결정했습니다. Java 프로그램을 작성하고 실행하려면 JDK를 설치해야 합니다. JDK는 컴파일러(javac), 런타임 환경(Java Runtime Environment), 표준 언어 라이브러리, 예제 및 문서를 포함하는 Oracle에서 개발한 소프트웨어 세트입니다. 이 기사를 읽은 후에는 시스템에 JDK를 설치 및 구성하는 방법, 개발 환경이 무엇인지, Java용 IDE 옵션이 무엇인지 배우게 됩니다. 또한 Java로 첫 번째 프로그램을 작성하게 됩니다.

Java 개발 키트 설치

  1. Oracle 웹사이트로 이동하여 해당 플랫폼에 맞는 JDK를 다운로드하세요.
  2. 다운로드 후 결과 아카이브를 추출하고 추출된 애플리케이션을 실행하십시오.
  3. 설치 과정에서 "개발 도구" 옵션을 선택하고 "다음"을 클릭하세요.
  4. 잠시 후 설치가 완료됩니다.

따라서 Java Development Kit를 설치했지만 그게 다가 아닙니다. 시스템에 맞게 구성해야 합니다.

Windows를 예로 들어 JDK 설정

  1. 설치한 jdk%\bin의 %ProgramFiles%\Java\%version 폴더로 이동하여 이 폴더에 있는 파일의 속성을 클릭하고 경로를 복사합니다.
  2. 컴퓨터 속성으로 이동하여 "고급" 탭을 열고 "환경 변수..."를 클릭합니다. 열리는 창에서 새 변수를 만들고 이름을 Path 로 지정한 다음 이전에 복사한 경로를 해당 값에 붙여넣습니다.
  3. 이제 가장 중요한 부분이 나옵니다. 명령 프롬프트를 열고 javac를 입력하여 JRE가 설치 및 구성되었는지 확인합니다. javac 명령에 대한 인수 목록을 얻었으면 축하합니다. Java를 사용하는 데 필요한 모든 것을 성공적으로 설치하고 구성한 것입니다!

JDK 및 JRE를 설치한 후 컴퓨터에 IDE 중 하나를 설치해도 문제가 없습니다.

IDE 설치

먼저 그것이 무엇인지 알아봅시다. IDE.

IDE(통합 개발 환경)은 프로그래머가 소프트웨어를 개발하는 데 사용하는 소프트웨어 도구 세트입니다. IDE를 사용하면 코드 작성, 실행, 디버그 및 테스트가 쉬워집니다.

복잡한 프로그램을 작성하려면 IDE를 사용하는 것이 좋습니다. 가장 인기있는 것을 살펴 보겠습니다.

공책

예, 메모장에서 코드를 작성할 수 있습니다! 개발하려면 JDK를 설치하고 경로를 지정하기만 하면 됩니다. 메모장에 코드를 작성하고 명령줄을 사용하여 컴파일합니다. 그러나 복잡한 프로그램을 개발하는 경우 고급 IDE에 추가 ​​기능이 없기 때문에 이는 최선의 선택이 아닙니다.

넷빈즈

NetBeans는 전문 Java 개발자가 선택한 제품입니다. 여기에는 프로그램을 크로스 플랫폼으로 만들고 코드를 읽을 수 있게 만드는 고유한 기능과 도구가 있습니다. NetBeans는 Java뿐만 아니라 데스크탑 및 웹 개발을 위한 다른 프로그래밍 언어도 지원합니다. 완전 무료이며 공식 웹사이트에서 다운로드할 수 있습니다. 다음은 그 기능 중 일부입니다:

  • 코드 형식화;
  • 타사 라이브러리 설치;
  • 간단한 그래픽 인터페이스;
  • 그리고 많은 다른 사람들…

Netbeans과 마찬가지로 Eclipse는 가장 널리 사용되는 IDE 중 하나입니다. Java 애플리케이션을 편안하게 개발할 수 있는 인상적이고 직관적인 인터페이스와 강력한 개발 환경을 제공합니다. 공식 홈페이지에서 Eclipse를 무료로 다운로드할 수 있습니다. 장점:

  • 원하는 대로 코드 형식을 지정하는 기능
  • 코드를 모듈로 분할하는 기능 지원;
  • 다른 프로젝트에서 동일한 코드를 쉽게 사용할 수 있습니다.
  • 끌어서 놓기;
  • 라이브러리 콘텐츠 보기;
  • 편리한 인터페이스.

IntelliJ 아이디어

IntelliJ IDEA는 잘 알려진 Java용 IDE로, 이상하게도 Java로 작성되었습니다. 고유한 도구가 장착되어 있어 프로그램을 쉽게 탐색할 수 있습니다. IntelliJ IDEA를 사용하는 것보다 오류를 찾고 코드를 디버깅하는 것이 결코 쉬운 일은 아닙니다.

제이크리에이터

JCreator는 C++로 작성된 가장 발전되고 빠른 Java IDE입니다.

첫 번째 프로그램 작성

이제 Java용 JDK, JRE 및 IDE를 설치하고 구성했습니다. 다음 단계는 무엇입니까? 물론, 최종적으로 모든 것이 제대로 작동하고 언어를 배울 준비가 되었는지 확인하는 프로그램을 작성하세요. Java 코드의 기본 구조를 배우고 첫 번째 프로그램을 작성하게 됩니다! Java를 배우기 전에 최소한 객체 지향 프로그래밍의 가장 간단한 원칙을 숙지해야 한다는 점은 주목할 가치가 있습니다.

Java 프로그램의 구조는 다음과 같이 표현될 수 있습니다.

자바 프로그램 구조

소스 코드 파일에는 여러 클래스가 포함되어 있습니다. 이는 특정 기능을 가진 프로그램의 일부입니다. 프로그램을 각각 고유한 목적을 가진 여러 소스 코드 파일로 분할하는 것이 좋습니다. 클래스에는 메서드(이 클래스의 개체가 수행할 수 있는 작업)가 포함되어 있습니다. 이 방법에는 원하는 결과를 얻을 수 있는 명령이 포함되어 있습니다.

프로그램 만들기를 시작하기 전에 프로젝트를 만들고 그 안에 코드가 포함될 파일을 만들어야 합니다. Eclipse IDE에서 프로젝트를 생성하는 것을 고려해 보도록 하겠습니다. 하지만 다른 IDE에서도 프로세스는 크게 다르지 않습니다. 상단에서 "파일"을 선택한 다음 "새로 만들기" 위로 마우스를 가져가면 열리는 메뉴에서 "Java 프로젝트"를 선택합니다. 나타나는 창에서 필요한 프로젝트 이름과 기타 설정을 입력하고(무엇을 해야 할지 확실하지 않은 경우 모든 것을 그대로 두면 됩니다) "다음"을 클릭합니다. 완료되었습니다. 프로젝트가 생성되었습니다! 남은 것은 첫 번째 프로그램을 작성할 클래스를 만드는 것뿐입니다. 프로젝트(오른쪽에 표시되어야 함)를 마우스 오른쪽 버튼으로 클릭하고 새로 만들기 → 클래스를 선택합니다. 새 클래스에 이름을 지정하고(이 예에서는 먼저) 마침을 클릭합니다.

첫 번째 프로그램 작성을 시작해 보겠습니다. 전통적으로 이것은 화면에 “Hello, world!”를 표시하는 프로그램입니다.

공용 클래스 우선( public static void main(String args) ( System.out.println("Hello, world!"); ) )

우리가 쓴 내용을 하나씩 살펴보겠습니다.

  • public은 우리 클래스를 사용할 수 있는 프로그램 부분을 결정하는 액세스 한정자입니다. 귀하의 예에서 공개는 모든 코드입니다.
  • class는 다른 것이 아닌 클래스를 선언하고 있음을 나타내는 키워드입니다.
  • 첫 번째는 수업 이름입니다. 괄호는 클래스 코드의 시작과 끝을 정의합니다.
  • public static void main(String args) - 공용 정적 메소드 선언(즉, 클래스 객체를 생성하지 않고 호출할 수 있음) 예제의 메서드는 아무것도 반환하지 않으며 문자열 배열을 인수로 사용합니다. 이 메서드의 유일한 명령은 "Hello, world!"라는 메시지를 콘솔에 인쇄합니다. println 대신 print 를 작성할 수 있지만 유일한 차이점은 println의 경우 줄 바꿈 문자가 추가로 표시된다는 것입니다.

좋습니다. 첫 번째 프로그램을 작성했습니다. 이제 실행해야 합니다. 이렇게 하려면 상단 패널의 녹색 원에 있는 흰색 화살표를 클릭하기만 하면 됩니다(마우스를 위에 올리면 "실행"이 나타납니다). 아래를 클릭하면 "Hello, world" 메시지가 표시되는 콘솔이 열립니다! 축하합니다. Java로 첫 번째 프로그램을 작성했으며 이 언어의 매혹적인 세계로 뛰어들 준비가 되었습니다!



질문이 있으신가요?

오타 신고

편집자에게 전송될 텍스트: