.Net이란 무엇입니까? 주로 어떤 내용이 포함되나요? 이 문서에서는 .NET의 몇 가지 일반적인 문제를 요약합니다. 비교적 초기 단계이고 .NET 플랫폼이 지난 몇 년 동안 빠르게 발전했지만 이 문서에서 소개된 개념은 기본적으로 변경되지 않았습니다.
이 문서에는 .NET에 대한 몇 가지 일반적인 질문과 대답이 요약되어 있습니다. 이러한 .NET 자주 묻는 질문은 .NET의 전반적인 개념을 이해하려는 독자에게 도움이 될 것입니다.
1. .Net이란 무엇입니까? 주로 어떤 내용이 포함되어 있나요?
.Net은 3세대 인터넷의 고도로 분산된 환경에서 애플리케이션 개발을 단순화하기 위해 구축된 차세대 컴퓨팅 및 통신 플랫폼입니다. 이는 개방형 인터넷 표준 및 프로토콜을 기반으로 하며 이종 언어 및 플랫폼과의 높은 상호 작용을 달성합니다.
.Net에는 주로 Common Language Runtime과 .Net 아키텍처 클래스 라이브러리가 포함되어 있습니다.
2. Net의 주요 장점은 무엇입니까?
.Net의 주요 장점은 교차 언어, 교차 플랫폼, 보안, 개방형 인터넷 표준 및 프로토콜 지원입니다.
.Net은 여러 언어의 상호 운용성을 지원합니다. 즉, 한 언어로 개발된 구성 요소를 객체 지향 상속을 통해 다른 구성 요소에서 재사용할 수 있습니다. 현재 .Net은 20개 이상의 언어를 지원합니다.
.Net은 먼저 각 언어를 중간 언어(IL)로 컴파일한 다음, 실행 중에 Just In Time(Just In Time) 컴파일러를 사용하여 이를 로컬 플랫폼 코드로 컴파일함으로써 이종 플랫폼에서 개체의 상호 운용성을 실현합니다. .Net은 Windows, Linux 및 Unix에 대한 플랫폼 지원을 개발 중입니다.
.Net은 공용 언어 런타임을 통해 리소스 개체 및 유형 안전성을 구현합니다.
.Net은 HTTP, XML, SOAP 및 WSDL과 같은 인터넷 표준에 대한 강력한 지원을 통해 이기종 네트워크 환경에서 원격 서비스를 얻고, 원격 장치를 연결하고, 원격 애플리케이션과 상호 작용하기 위한 프로그래밍 인터페이스를 제공합니다.
3. .Net의 공용 언어 런타임은 무엇을 의미합니까?
CLR(Common Language Runtime) 공용 언어 런타임은 전체 .net 프레임워크의 기반이자 크로스 플랫폼, 크로스 언어, 코드 보안 등 .Net의 핵심 기능을 구현하는 핵심입니다. 이는 실제로 메모리에 상주하며 .net 전체 실행 중에 코드 관리를 담당하는 에이전트 코드입니다. 일반적인 예로는 메모리 관리, 스레드 관리, 원격 관리, 코드 필수 보안 유형 등이 있습니다. 이는 .net 프레임워크의 생명선이라고 할 수 있습니다. 실제로 일반 언어 런타임은 운영 체제의 관리 기능 중 일부를 위임합니다.
4. Net 아키텍처 클래스 라이브러리란 무엇입니까?
.Netl 아키텍처 클래스 라이브러리는 런타임의 객체 지향 기능을 기반으로 구축되었으며 일반 언어 런타임과 긴밀하게 통합된 재사용 가능한 클래스 컬렉션입니다. 소프트웨어 개발을 크게 단순화하고 타사 구성 요소와 원활하게 통합하기 쉽습니다.
.Net 아키텍처 클래스 라이브러리에는 주로 다음 프로그래밍 모델에 대한 지원이 포함됩니다.
1. 콘솔 애플리케이션.
2. 스크립트 및 호스트 애플리케이션.
3. Windows Forms 애플리케이션(Windows 데스크탑 GUI 애플리케이션).
4. ASP.Net 애플리케이션.
5. 웹 서비스 애플리케이션.
6. Windows 서비스 프로그램
5. .Net에서 지원하는 개발 언어는 무엇입니까? .Net 언어의 상호 운용성은 무엇을 의미합니까?
.Net은 시중에서 20개 이상의 언어를 지원한다고 주장하지만 현재 Microsoft에서는 C#, Visual Basic.Net, Managed C++ 및 Jsript만 공식적으로 출시하고 있으며 다른 제조업체에서는 COBOL, 에펠, Perl 등의 지원 도구를 개발 중이라고 주장합니다. , 스몰토크, 파이썬.
.Net 언어의 상호 운용성은 Common Language Runtime 사양을 따르는 언어에서의 객체 상속 지원을 의미합니다. 즉, 한 언어로 .Net 플랫폼에서 개발된 클래스를 다른 언어에서 재사용할 수 있음을 통해 달성됩니다. Microsoft Intermediate Language MIL이라는 것, 즉 언어 컴파일러가 먼저 언어를 Microsoft Intermediate Language로 컴파일한 다음 해당 플랫폼에서 기본 코드를 컴파일합니다. 이 모든 작업은 일반 언어 런타임 사양에 따라 수행됩니다.
6. Net은 어떤 플랫폼을 지원합니까? 크로스 플랫폼 구현이 얼마나 잘 되나요?
현재 .Net을 지원하는 플랫폼에는 Windows 2000, NT4 SP6a, Windows Me 및 Windows 98이 포함됩니다. 지원한다고 주장하는 플랫폼에는 Unix, Linux 등이 포함됩니다. 현재 Linux에서 .Net 플랫폼을 개발하는 세 가지 프로젝트가 있습니다: Ximian의 Mono 프로젝트, DotGNU 및 Potable .NET.
7. .Net과 COM의 관계는 무엇입니까? .Net은 COM의 종말을 의미합니까?
COM은 구성 요소 개체 간의 통신을 위한 이진 표준을 정의합니다. .Net은 이를 위한 또 다른 방법을 제공하는 구성 요소의 내장 유형 시스템을 통해 유사한 메커니즘을 제공합니다. .Net이 COM의 종말을 의미하지는 않지만 개발자의 COM 의존도를 크게 줄일 것입니다. .Net은 COM과 .Net 구성 요소 간의 상호 운용성을 지원합니다. 실제로 RCW(런타임 호출 가능 래퍼)를 통해 .Net에서 COM 구성 요소를 얻을 수 있고 CCW(COM 호출 가능 래퍼) 구성 요소를 통해 COM에서 .Net을 얻을 수 있습니다.
8. .Net에서 IL(중간 언어)은 무엇입니까? .Net 플랫폼에서 IL(중간 언어)은 어떤 역할을 합니까? 개발자가 IL(중간 언어)로 프로그래밍할 수 있습니까?
.Net의 중간 언어는 일반 언어 런타임 사양에 따라 Just In Time(Just In Time) 컴파일러를 통해 로컬 코드로 변환할 수 있는 명령 집합을 말하며 CPU와 독립적입니다. .Net 플랫폼에서 언어 상호 운용성을 구현하는 핵심 링크입니다. 모든 .Net 플랫폼 언어는 먼저 중간 언어(IL)로 컴파일되어야 합니다. 프로그래머는 중간 언어(IL)를 직접 사용하여 프로그래밍할 수도 있지만 중간 언어는 .Net 개체 및 디버깅 프로그램의 특정 동작을 이해하는 데 매우 유용합니다.
9. .Net의 자동 가비지 수집이란 무엇입니까? .Net 플랫폼에서의 프로그래밍에 어떤 변화가 있습니까?
.Net 가비지 수집기는 전체 .Net 런타임 관리 코드에 대한 메모리 할당 및 릴리스 작업을 담당합니다. 특정 최적화 알고리즘을 통해 수집할 개체와 시간을 선택합니다. 프로그래머는 관리되는 리소스를 대량으로 해제할 경우에만 즉시 강제 가비지 수집을 수행할 수 있으며, 관리되지 않는 리소스를 해제할 경우 프로그램 실행 중에 해제해야 하는 리소스는 Finalize 작업을 사용하여 처리해야 합니다. 분명해요. 다른 경우에는 리소스 재활용이 .Net 가비지 수집에 맡겨집니다.
10. Net의 관리 코드와 비관리 코드의 차이점은 무엇입니까?
.Net의 관리 코드는 공용 언어 런타임 사양을 준수하고 메모리 관리, 스레드 관리, 원격 관리 및 코드 적용 보안 유형을 위해 메모리에 있는 런타임 코드 에이전트의 적용을 받는 코드를 의미합니다. 비관리 코드는 메모리, 파일, 데이터베이스 등과 같은 관리되지 않는 리소스에서 작동하는 코드를 의미합니다. 일반적으로 런타임 코드 에이전트에 의해 관리되지 않으며 안전하지 않습니다. 관리되는 코드를 프로그래밍할 때는 프로그래밍 논리에만 집중하면 되며, 메모리 등의 리소스 관리는 공용 언어 런타임에 맡겨집니다. 그러나 관리되지 않는 코드를 프로그래밍할 때는 개발자가 각 측면을 신중하게 처리해야 합니다. 관리되지 않는 리소스.
위의 10가지 .NET 자주 묻는 질문을 읽고 나면 .NET 플랫폼에 대한 이해가 향상되기를 바랍니다.
이 기사는 CSDN 블로그에서 가져온 것입니다. 재인쇄할 때 출처를 표시하십시오: http://blog.csdn.net/thy822/archive/2009/12/23/5061127.aspx
-