U E D R , A S I H C RSS

Java Study2003/첫번째과제/장창재

  • .
    - 바(Java)를 게 두 가로 나 다. 먼, 기, 블리(Assembly), 란(FORTRAN), 볼(COBOL), (PASCAL), 또는 C 과 같 로그래밍 고, 다른 나는 로그래밍 바 API(Application Programming Interface) 로그램 바 가(Java Virtual Machine) 가리(Platform) 다. 다, 는 Visual C++ 고, 95/98/NT 및 95/98/NT API 다.
    (Java Language)를 로그램(Java Program) 러(Java Compiler)를 바 바드(Java Byte code)로 되고, 바 바드는 바 가 되는데, 바 가 바 바 (interpreter)로 동게 됩다. 렇게 로그램 모두 된다는 것다.

  • 러(Java Compiler):
로그램 (intermediate language) 바 바드로 다<.
바 바드(Java Byte code):
는 각 CPU 따라 로 다른 기를 갖다. 때문 또는 95/98/NT 되는 로그램 는 것다. 그러나, 바 바드는 바 가 다. 따라, 바 바드로 되기만 면, 바 가 는 곳 다. 바 개발 또는 로그램 개발 때 그 95/98/NT, , 또는 매 다.
(Java Interpreter) 또는 바 가(Java Virtual Machine):
바 바드 명령고, ( 95/98/NT, , 매 ) 맞게 다. 바 바드를 기능바 가 바 가과 같 미로 되며, 바 가로 많 다.
바 바드는 바 가 되는 기라고 면 됩다. 그리고, 모든 바 가로, 바 가를 같 다. . 바 가 JDK(Java Development Kit) 고, 브라 다. 또는, 과 같 다. 바 바드는 “write once, run anywhere”라는 말 가능 다. 다, 로그램( 95/98/NT, 리, , 매 ) 맞게 공되는 러를 드로 다. 그리고, 드는 바 가 떤 곳 다.
그림 2. 독립



로그램 되는 또는 다. 대부 다. 그러나 무관게 동 다른 과 다릅다. 과 같 두 가를 갖다.

바 가(Java Virtual Machine; Java VM):
바 가 기반 루며, 다 기반 (poring) 됩다. 다, 바 가 95/98/NT, , 또는 매 과 같 또는 로러 과 같 브라 , 러 가 며, 바 바드로 로그램 바 가 면 됩다.
바 API(Java Application Programming Interface):
바 API는 API 는 라브러리다. 다, 로그램 개발 는 라브러리 또는 다. 바 API는 로 관련된 공되고 다.


보면 다과 같다.

다(Simple):
C/C++ 문법 기본로 따르고, C/C++ 가 갖는 리기, , , 다 , (overloading) 기 난 로그램 개발 로그램 개발 다.
다(Object-Oriented):
바는 C++는 달리 개념 기반 고, 객 (Abstraction), (Inheritance), 그리고 다(Polymorphism) 과 같 모두 다. 또, 경, / 기반 갖는 다.
(Reliability) 갖는다:
바는 러 검고, 게 검 가 높 로그램 다. 또, C/C++ 로그램 개발 럽게 고, 로그램 류를 발 , 로그래머가 범 류를 다는 것다.
(Security) 갖는다:
바는 다. 그러나, 바는 바 런 기능 기 때문 로그램 개발 다. 로그램 과 같 로그램 려는 것 다.
(Architecture-neutral)(Portable) 높다:
바는 로 다른 (Heterogeneous) 다. 로그램들 다. 러는 드를 드를 다. 는 동 로그램 바 바드가 바 가 는 것다. 또, 바는 기본 다. 를 들, int 과 같 기본 데 기를 과 무관고, 기능 게 규다. C int 때, 는 16, 95/98/NT 32 는 32, 는 32 따라 기가 다르만, 32로 고다. 로그램 되는 바 가로 동기 때문다.
능(High-performance) 다:
-리가 런 록 구기 때문 다. 기(garbage collector) 메모리 관리로 낮 그라드로 메모리가 만 동, 바 가게 무리를 보다 나 다. 또, 방대 로그램 본래 는 기 드로 로그램과 다.
(Interpreter) 방다:
로그램 바 바드로 고, 렇게 바 바드를 , (porting)된 모든 바 바드를 다.
드(Multi-thread)를 다:
드 기능 드를 로그램 만들 다. 바는 동기드들 기본드로 , 드를 다. 바 API드를 Thread 며, 바 런 는 모 다.


바는 몇 가는데, 는 문들과 그 떤 기 또는 방법 다.

, 바는 기 드를 는 것 고, 독립 드를 바 가 므로 느린 다. 로 C보다 균 8배 느리고, 대 20배까 느립다. 렇게 느린 과 같 다.

JIT(Just-In-Time):
기를 로 동다.
HotSpot:
로그램 병목는 부 다.
바-기 기:
드 대 드를 다.
:
러를 때 '-O' 다.
브 메드:
C 다른 다.
경:
또는 바를 만들 다.
, 릿 로부 가 다로드 게 되는데, 가 느리다는 문다. 런 문는 다과 같 다.

(JAR 또는 ZIP):
릿 릿로드 는데, 릿 는 데 다. 를 들, 릿 는 HTML 릿 , 릿 릿 는 각 다. 따라, 릿 물론 릿 로드 릿 대로 . 때, 릿 과 관련된 모든 JAR 또는 ZIP 로 묶 게 됩다. 렇게 , 느린 릿과 관련된 로드 는데 드는 다.
(Caching):
로드 릿과 릿 관련 다. 를 들, 릿 를 보다가 다른 깐 들렀다가 릿 로 다, 릿과 관련된 모든 로드는 것 릿 관련 게 됩다. 렇게 , 느린 릿과 관련된 로드 는데 리는 다.
느린(lazy) 로딩:
HTML 릿 만, 대부 러 개 따라 게 됩다. 러 개 , 모든 가 동 . 또 는 되만, 따라 . 따라, 를 로딩 게 됩다. 느린(lazy) 로딩 다.
, 모 , 바 가, API가 는 문 때문 다. , 는 다과 같 개발 가능 다.

:
바가 고, synchronized 명령가 모 기반 동기 기법만 대기 며, notify() 메드가 드를 깨고, (priority inversion_ 가능 다. 는 API 결되 고, 리를 고, (priority inheritance) 또는 (priority ceiling) 과 같 (priority inversion avoidance) 고, MuteX, (Binary Semaphore), (Counting Semaphore) 다.
바 가:
느린(Lazy) 로딩나 메모리 당과 가 고 느린 (worst-case) 며 stop-start 방로 모든 드를 다는 문 다. 를 미리 로딩(class preloading) (static initializer)를 브러리는 가 로그램는 명 기법 다. 그리고, 메모리 당과 (garbage collection) 가능 는 것다. 또는 API를 다.

* 로그램
C C 로그램 다면 반드 main라는 고, 로그램 다고 WinMain라는 를 꼭 . (protocol)다. 로, 러 가 로그램 는데, 때 각 로그램 따라 당 규 로 다릅다. 렇듯 바를 로그램 다는 것로그램 는 규 로그램 다는 것다. 로그램 류를 보면 다과 같다.

(Application):
JDK 공되는 바 가 독립 로그램다. 다, 또는 과 같 바 가 로그램다. 는 그림 다.

릿(Applet):
<APPLET>~</APPLET> 그를 HTML , 브라 로그램다. 다, 브라 록 규 로그램는 것다. 다는 그림 릿 다.

블릿(Servlet):
CGI 로그램과 같 로그램 기능 로그램, 바 런 경과 공되는 바 가 로그램다. 블릿 바 런 경과 공되는 바 가 되고, 릿 로 다로드 되 브라바 가 된다는 다. 렇게 블릿 되는 로그램 CGI 로그램 록 고다. 다는 그림 블릿 다.


(Bean):
또는 로그램 때, 과 같 롤들 로 끌로그램 내 록 되 는데, 기능 갖고 록 만들 다. 공되는 ActiveX 로그램 가능 다.

(package):
다른 로그램 (import)되 로그램다. 는 기 로그래밍 던 라브러리 또는 는 API 과 같다고 볼 다. 당 규 갖겠. 는 기본 로 'casses.zip"라는 공되고 고, 는 디렉리 단 다. 다는 그림 JDK 1.2.2 공되는 를 보다.



따라, 로그램 때, 맞게 로그램 만, 로그램 두 개 다.

렇게 두 개 로그램 규로그램 로그램 게 됩다. 를 들, 로그램 는데, 로그램 릿 다면, 로그램 JDK 공되는 바 가 되는 독립 고, 브라바 가 릿 다는 것다. 렇게 러 규 맞는 로그램 만, 로그램 두 개 모두 만로그램 는 경릿고는 다.

~cpp 
class HelloWorldApp { 
public static void main(String args[]) {

System.out.println("Hello World!"); // Display the string

}

}
 

뭐 대 는데, 개념부 듣고 디가 것 같다.

바를 , 독 10보다 며, 기대로 높게 다.

것만 려고 말고, 디를 끝날때까 '바란 무가?'

개념만 다.

물론 람들 .

디로..... 것부 나갔.

가 내


  • 던 바가 바로 "바를 는 것가?" 가 바로 는데 & 를 끝 같군. 밑 단 10% 를 못다는 느낌. 근 다 "바는 무 는가?" 기 바랍다.
  • 다른 꼼꼼 기 바랍다. 느껴(물론 랑 내;;) 그 기 바랍다.
  • 로그램. 로그램 기 바랍다.


Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:33
Processing time 0.0526 sec