> Java > java지도 시간 > 본문

Java의 특징과 장점에 대한 자세한 설명(파워 노드 배열)

黄舟
풀어 주다: 2017-03-30 10:19:14
원래의
1158명이 탐색했습니다.

Java 언어의 디자이너들은 C++ 언어에 매우 익숙하기 때문에 디자인할 때 C++ 언어에서 교훈을 얻었습니다. Java 언어는 C++ 언어보다 "더 객체" 지향적인 프로그래밍 언어라고 할 수 있는 특징과 장점에 대해 이야기해보겠습니다. 이 글을 통해 자바

자바의 특징

자바 언어는 훌륭한 프로그래밍 언어입니다. 가장 큰 장점은 플랫폼 독립적이라는 점입니다. Windows 9x, Windows NT, Solaris, Linux, MacOS 및 기타 플랫폼에서 동일한 코드를 사용할 수 있습니다. "한 번 작성하면 어디서나 실행" 기능을 통해 인터넷에서 널리 채택됩니다.

Java 언어 디자이너들은 C++ 언어에 매우 익숙하기 때문에 디자인할 때 C++ 언어에서 교훈을 얻었습니다. Java 언어는 C++ 언어보다 "객체 지향적"인 프로그래밍 언어라고 할 수 있습니다. Java 언어의 문법 구조는 C++ 언어의 문법 구조와 매우 유사하므로 C++ 프로그래머가 Java 언어를 더 쉽게 배울 수 있습니다.

물론, 단지 C++의 페이스리프트였다면 오늘날 Java 열풍은 없었을 것입니다. Java 언어가 제공하는 몇 가지 유용한 새 기능을 사용하면 C++ 언어보다 Java 언어를 사용하여 "오류 없는 코드"를 더 쉽게 작성할 수 있습니다.

새로운 기능은 다음과 같습니다.

1) 메모리 자동 관리 기능을 제공하며, 프로그래머가 프로그램에서 메모리를 할당하고 해제할 필요가 없습니다. , 이러한 끔찍한 메모리 할당 오류는 더 이상 사용자를 괴롭히지 않습니다.

2) C++ 언어에서 혼란스럽고 오류가 발생하기 쉬운 "포인터"를 제거하고 이를 보완하기 위해 다른 방법을 사용합니다. 3) 할당문(예: a = 3)과 논리 연산문(예: a = = 3) 간의 혼동을 방지합니다.

4) 다중

상속

기능의 복잡한 문제를 취소합니다.

몇 가지 참고 사항: "다중 상속"은 "객체 지향" 용어로, 이에 대해서는 2장에서 자세히 설명합니다. 이러한 장점이 Java 열풍의 배경이 되었습니다. 강력한 포팅 기능, 멀티스레딩 처리 및 네트워킹 기능을 갖춘 Java는 전 세계적으로 인기를 얻었으며 점차 휴대용 장치, 인터넷 및 차량용 컴퓨터의 표준이 되었습니다.

몇 가지 팁: Java 언어 사양은 공개되어 있으며 Oracle 공식 웹사이트에서 찾을 수 있으며 Java 언어 사양을 읽어보세요. 기술을 향상시키는 좋은 방법입니다.

Java 언어의 주요 기능Java 언어에는 프로그래머의 관심을 끄는 효과적인 기능이 많이 있으며, 가장 중요한 기능은 다음과 같습니다.

1. 간단하고 효과적입니다.

Java 언어는 상당히 간결한 "객체 지향" 프로그래밍 언어입니다. Java 언어는 헤더 파일, 포인터, 구조체, 단위,

연산자 오버로딩

, 가상 기본 클래스 등과 같은 C++ 언어의 이해하기 어렵고 혼란스러운 기능을 모두 생략합니다. 더 엄격하고 간결합니다.

참고: Visual Basi

c 언어

에 익숙한 일부 독자는 Java 언어가 더 복잡하다고 생각할 수도 있습니다. VB보다 실제로 Java 프로그래밍을 사용하는 것이 VB를 사용하는 것보다 더 힘듭니다. 그러나 VB는 시각적 도구 덕분에 GUI 프로그램 개발을 위한 통합 개발 도구가 되었지만 언어로 간주할 수는 없다는 사실을 모두가 알아야 합니다. 그 기반은 가장 간단한 언어인 Basic 언어이지만 그 기능은 C, C++, Java만큼 완벽하지는 않습니다. Java 언어는 매우 작은 기계에서 독립적으로 실행될 수 있는 특수 소프트웨어

구축 방법

을 사용합니다. 40K만이 가장 기본적인 인터프리터를 수용할 수 있습니다. 기본 표준 라이브러리와 스레드 지원이 있어도 175K이면 충분합니다. 이는 자바 언어의 성공 비결이기도 하다.

2. 높은 이식성

작성된 프로그램은 프로그래머의 입장에서 수정 없이 Windows, MacOS, LINUX 및 기타 플랫폼에서 동시에 사용할 수 있습니다. 그것은 단순히 꿈이 이루어진 것입니다! Java 언어는 원래 접근할 수 없었던 이것을 우리에게 점점 더 가깝게 만듭니다. Java 언어로 작성된 프로그램은 약간만 수정하거나 때로는 전혀 수정하지 않고도 다양한 플랫폼에서 실행될 수 있습니다. Java는 확실히 크로스 플랫폼 프로그래밍 언어입니다.

예를 들어 플랫폼마다 데이터 유형 크기에 대한 규정이 다릅니다. 일부 플랫폼에서는 정수 유형(int)이 16비트 이진수로 표시되는 반면, 다른 플랫폼에서는 32비트 이진수로 표시됩니다. C/C++ 언어는 다양한 플랫폼으로 인해 발생하는 이러한 차이를 보호하지 않습니다. 이런 식으로, 16비트 이진수를 사용하여 정수를 표시하는 플랫폼에서 개발된 C 언어 소스 프로그램이 32비트 이진수를 사용하여 정수를 표시하는 플랫폼에서 실행되어야 한다면 이는 단순히 나쁜 소식입니다.

Java 언어에서는 플랫폼으로 인한 이러한 차이가 보호됩니다. Java의 정수는 32비트 바이너리로 표현되어야 하며 Java Virtual Machine은 이러한 차이를 소화합니다. 16비트 이진수를 사용하여 정수를 표시하는 플랫폼에서 개발된 Java 언어 소스 프로그램을 32비트 이진수를 사용하여 정수를 표시하는 플랫폼에서 실행되도록 이식하려는 경우 이를 수정할 필요가 없습니다.

Java 언어가 이렇게 높은 이식성을 갖는 것은 피할 수 없는 일입니다. Java 언어의 디자인 컨셉이 "한 번 작성하면 어디에서나 실행 가능"이기 때문입니다.

3. "객체 지향"

"객체 지향"은 인간의 소프트웨어 개발 능력을 크게 향상시킨 소프트웨어 공학의 혁명이라고 할 수 있습니다. . 소프트웨어 개발에 있어 큰 진전이자 중요한 이정표입니다.

지난 30년 동안 '객체지향'은 눈부신 발전을 이루며 그 가치를 충분히 발휘해 왔으며 지금까지 '객체지향 시스템 분석', '객체지향 시스템 설계', "객체 지향 프로그래밍" 시스템. 그러므로 현대 프로그래밍 언어로서 이러한 방향에서 벗어날 수 없으며, 자바 언어도 예외는 아니다.

참고:

Java 언어는 C++보다 "객체 지향적"이라고 합니다. "객체"라는 개념을 잘 갖춘 Java 언어.

4. 해석

아직도 기본언어를 기억하시나요? 프로그래밍을 위해 기본 언어를 사용하려면 먼저 기본 언어 환경에 들어간 다음 소스 프로그램을 입력하고 실행해야 합니다. 기본 언어 환경은 문장별로 해석하고 실행하여 결과를 직접 얻습니다. 이 언어는 해석된 언어입니다.

C/C++ 같은 언어는 그렇지 않습니다. 우리는 먼저 편집 소프트웨어나 통합개발환경(IDE)을 이용해 소스 프로그램을 작성한 뒤 컴파일해서 실행 파일을 생성합니다. 그런 다음 운영 체제를 통해 이 실행 파일을 실행하여 결과를 얻습니다. 이 언어는 컴파일된 언어입니다.

통역 언어는 비효율적이고 느리지만, 컴파일 언어는 효율적이고 빠릅니다.

Java 언어는 해석형 언어입니다. 네, 맞습니다. 해석된 언어입니다. 즉, C/C++ 언어에 비해 Java 언어로 작성된 프로그램은 비효율적이고 실행 속도가 느립니다. 그러나 다양한 플랫폼에서 Java 인터프리터를 실행하고 Java 코드를 해석함으로써 "한 번 작성하면 어디서나 실행"이라는 큰 목표를 달성합니다. 목표를 달성하려면 효율성을 희생할 가치가 있습니다. 게다가 컴퓨터 기술은 날이 갈수록 변하고 있으며, 컴퓨팅 속도는 점점 더 빨라지고 있습니다.

몇 가지 팁:

사실 Java 언어는 기본 언어처럼 완전히 해석되지는 않습니다. Java 언어를 사용하여 프로그램을 작성하려면 먼저 편집 소프트웨어나 IDE(통합 개발 환경)를 사용하여 소스 프로그램을 작성한 다음 Java 컴파일러를 사용하여 의사 컴파일을 수행하고 중간 코드(바이트코드라고도 함)로 컴파일합니다. . 그런 다음 Java 인터프리터를 사용하여 해석합니다.

5. 분산 컴퓨팅에 적합

Java 언어는 강력하고 사용하기 쉬운 네트워킹 기능을 갖추고 있으며 분산 컴퓨팅 프로그램 개발에 매우 ​​적합합니다. Java 애플리케이션은 로컬 파일 시스템에 액세스하는 것처럼 URL을 통해 원격 개체에 액세스할 수 있습니다.

Java 언어를 사용하여 소켓 통신 프로그램을 작성하는 것은 매우 간단합니다. 그리고 공용 게이트웨이 인터페이스(CGI) 스크립트 개발에도 매우 적합합니다. 또한 Java 애플릿(Applet) 및 Java Server Page(Java Server Page, JSP), 서블릿 및 기타 더 풍부한 웹 페이지를 구축하기 위한 수단입니다.

6. 성능이 더 좋습니다

앞서 언급했듯이 Java는 해석형 언어이므로 실행 효율성이 상대적으로 느립니다. , 성능은 여전히 ​​좋습니다.

1) 자바 언어 소스 프로그램을 작성한 후, 먼저 자바 의사 컴파일러를 이용해 의사 컴파일을 하고, 이를 중간 코드(바이트코드라고도 함)로 변환한 후 해석합니다.

2) "Just-in-Time"(JIT) 컴파일러를 제공합니다. 더 빠른 속도가 필요한 경우 JIT 컴파일러를 사용하여 바이트코드를 기계어 코드로 변환한 다음 버퍼링할 수 있습니다.

몇 가지 팁:

이런 종류의 JIT 컴파일러는 이름에서 알 수 있듯이 Just-In-Time이며 런타임에만 작동하므로 it 플랫폼에 따른 기계어 코드로 컴파일합니다(이제 실행 중이므로 이식성을 고려할 필요가 없습니다). 이러한 방식으로 처리한 후에는 속도가 10배, 심지어 20배 증가할 수 있습니다. 또한, 이 기술은 앞으로 지속적으로 수정될 것이며 JIT 컴파일러는 더 지능화되어 어떤 코드가 자주 실행되는지 모니터링하여 적절하게 최적화하고 실행 속도를 더욱 높일 수 있습니다.

7. 견고하고 문제가 발생하기 전에 예방합니다.

Java 언어는 의사 컴파일 중에 초기에 잠재적인 문제를 확인하고 런타임 중에 많은 작업을 수행합니다. 해당 검사는 가장 엄격한 "컴파일러"라고 할 수 있습니다. "문제가 발생하기 전에 예방하는" 방법은 많은 프로그램에서 오류가 발생하기 전에 제거합니다. 다른 언어에서는 런타임에만 표시되지만 컴파일 단계에서 발견되는 오류가 많이 있습니다. 또한 Java 언어는 프로그램 안정성과 견고성을 보장하는 많은 기능을 제공하여 오류를 효과적으로 줄이고 Java 애플리케이션을 더욱 강력하게 만듭니다.

8. 멀티스레딩 기능

스레드는 경량 프로세스이며 현대 프로그래밍의 필수 기능입니다. 다중 스레드 처리 기능을 통해 프로그램은 더 나은 상호 작용성과 실시간 성능을 가질 수 있습니다. Java는 멀티스레딩에서 탁월한 성능을 발휘하고 여러분을 놀라게 할 강력한 기능을 가지고 있으며, Java 언어에서는 멀티스레딩이 매우 간단합니다.

참고:

각 주류 플랫폼의 스레드 구현이 매우 다르기 때문에 Java 언어를 사용할 수 없다는 점에 유의해야 합니다. 이와 관련하여 당분간 "플랫폼 독립적"을 위해 Java는 다양한 운영 체제에 대한 일련의 멀티스레딩 메커니즘을 구현합니다. 그리고 프로그래머의 경우 멀티스레딩 메커니즘을 호출하는 코드는 다른 컴퓨터에서도 여전히 동일합니다.

9. 높은 보안

Java 언어를 설계할 때부터 보안을 세심하게 고려하여 많은 연구가 이루어졌습니다. Java 언어는 현재 가장 안전한 프로그래밍 언어입니다. 썬은 한때 “자바를 통해 안티 바이러스, 안티 해커 시스템을 쉽게 구축할 수 있다”고 약속했지만, “세상에 절대적인 보안은 없다”는 진실도 누군가의 약속 때문에 무효가 되지는 않을 것이다. JDK(Java Development Kit) 1.0이 출시된 직후 미국 프린스턴대학교 보안 전문가 그룹이 자바 1.0의 보안 기능에서 첫 번째 오류를 발견했다. 이후 자바 보안 문제가 주목받기 시작했다. 그러나 지금까지 발견된 보안 위험은 매우 사소한 것이며, Java 개발 팀은 시스템 보안 버그를 매우 심각하게 받아들이고 발견된 버그를 즉시 수정할 것이라고 주장합니다. 그리고 Sun은 Java 인터프리터의 세부 사항을 공개했기 때문에 모든 계층이 이러한 보안 위험을 공동으로 발견, 예방 및 중지하는 데 도움이 됩니다.

10. 동적 언어입니다

Java는 다음 두 가지 측면에서 의미하는 동적 언어입니다.

1) Java에서는 언어에서는 런타임 정보를 간단하고 직관적으로 쿼리할 수 있습니다.

2) 실행 중인 프로그램에 새 코드를 추가할 수 있습니다.

11. 중립 객체 언어

"Java 컴파일러는 중립 객체 파일 형식을 생성합니다." 즉, Java 컴파일러는 의사 컴파일 후 " 모든 컴퓨터 시스템과 독립적인 중립" 바이트코드가 생성됩니다. 이 중립 구조는 실제로 Java에서 최초의 것은 아닙니다. UCSD Pascal 시스템은 이미 상용 제품에서 이 작업을 수행했으며 구현된 UCSD Pascal도 있었습니다. 작성자: Niklaus Wirth. 더 나은 이식성과 다양성을 대가로 일부 성능을 줄이는 이 방법은 Pascal 언어에서 채택되었습니다. Java의 바이트코드는 많은 신중한 설계를 거쳐 오늘날 가장 널리 사용되는 컴퓨터 시스템과 잘 호환되고 모든 시스템에서 쉽게 해석될 수 있으며 동적으로 기계어 코드로 쉽게 변환될 수 있습니다.

위 내용은 Java의 특징과 장점에 대한 자세한 설명(파워 노드 배열)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿