Programming/Java

Java 특징

gukbap 2011. 7. 29. 22:10
반응형
- 기술적인 부분에 대한 이해
객체지향, 네트웍에 대한 이해가 없으면 결국 C와 같은 프로시저 형태의 프로그램이 나오고 Socket 클래스를 쓰면서도 뭔 말인지 못 알아먹는 경우가 생긴덴다.

특징들
- simple

- Object-Oriented
객체지향이다. 즉, 소프트웨어의 재사용성과 정보의 캡슐화 등등의 장점을 가지게 된다.
객체지향의 개념으로 다른 많은 기술들을 수용 가능.
 
- Distributed
분산환경에 적합하다. 이는 인터넷이나 네트웍 솔루션 개발에 용이한 정도가 아니라 강하다.
다양한 프로토콜에 대한 라이브러리를 제공해준다.

- Interpreted
원천소스를 컴파일하여 자바가상머신(Java Virtual Machine)이 실행할 수 있는 바이트 코드
(byte code)를 만들어낸다. 이 바이트 코드는 해석기인 Java Virtual Machine이 설치만 되있다면
어느 시스템에서도 실행이 가능하게 된다. 컴파일 방식의 장점인 소스 번역기능과 인터프리터 방식의 장점인 이식성이 결합.
하지만 한줄한줄 읽어서 실행하기 때문에 실행 속도가 느리다는 단점을 품게 된다.

- Robust
견고하고 안정화된 프로그래밍.
한 번 작성이 되면 여러 시스템에서 작동이 되야 하니까..

* 엄격한 데이터 형의 점검
* 보안에 치명적인 포인터 사용을 하지않음
* Garbage Collectoin 기능으로 자동적으로 메모리 관리
* 에외 처리 구문으로 에러 처리

- Secure
/*/*
개발환경과 실행환경이 분리되어있다. 이 때 Java Virtual Machine은 개발시 생성된 코드와 실제 실행 환경에 변화가 없는지 Byte Code에 대해 무결성 검사를 한다.

- Architecture Neutral
앞서 말했듯 OS가 뭐건 CPU가 32bit건 64bit건 가리지 않는다.

- Portable
이식성. 이것도 앞서 말한 내용들. 

- Multithread
/*/*/*/*
시스템과 무관하게 Java에서 멀티스레드를 지원. 스레드(Thread)란 프로그램(프로세스) 안에서 독립적으로 실행되는 작은 실행단위. 하나의 프로그램 안에서 실행되기 때문에 메모리 공유가 가능하면서 프로그램이 보다 효율적으로 실행되도록한다.

- Memory
Java Virtual Machine이 알어서 메모리 관리를 해주기에 신경 안 써도 된다.

- Perforamance
/*/*/*/* 

Byte Code는 인터프리터에 의해 효율적으로 수행되도록 설계.
효율성을 위해 컴파일 된듯한 파일을 만들어주는 JIT(Just-In-Time)도 제공.

- Cost (Money)
공짜. JDK에 서버까지..





 
반응형

'Programming > Java' 카테고리의 다른 글

배열  (0) 2011.11.15
Math Class의 random()  (0) 2011.08.09
비트연산자  (0) 2011.08.09
기본 구조, 유형  (0) 2011.07.29
Learning Java  (0) 2011.07.29