본문 바로가기

JAVA/JAVA

[ JAVA ] 자바프로그래밍 -02

[ JAVA ] 자바프로그래밍 -02 


JAVA 

개요

JAVA는 썬 마이크로시스템즈에서 1995년에 개발한 객체 지향 프로그래밍 언어로, 제임스 고슬링이 최초 개발하였습니다. 제임스 고슬링이 '자바 커피' 애호가이기 때문에 자바라는 이름이 사용되었다는 썰이 있습니다.( 자바 커피(자바섬)는 무슨 횡재인가 싶습니다 ㅎㅎ )

 현재는, 2010년 썬이 오라클에 인수됨에 따라, 자바의 저작권자는 오라클 입니다. 


summary JAVA is an object-oriented programming language developed by Sun Microsystems in 1995 and was first developed by James Gosling. Because James Gosling is an enthusiast of 'Java coffee', there is a tongue that the name of the bellows is used. (I would like to know what a japanese coffee is.)

 Now, as Sun's acquisition of Oracle in 2010, Oracle is the copyright holder of Java. 


특징 (Characteristic)

1. 자바는 운영체제에 종속되지 않는 플랫폼 독립적인 언어이다. 

- 운영체제(리눅스,윈도우 등)에 종속적인 일반적인 프로그램과 달리, 각각의 운영체제에 적합한 자바가상머신 (JVM, Java Virtual Machine)이 설치되어 있다면, 어떤 자바 프로그램이든지 안정적인 구동이 가능합니다.


1. Java is a platform independent language that does not depend on the operating system.

- Unlike general programs that depend on the operating system (Linux, Windows, etc.), if you have a Java Virtual Machine (JVM) suitable for each operating system, any Java program can run reliably.

2. 자바는 객체지향적인 언어입니다. 

- 객체지향 프로그래밍 언어인 만큼, 객체지향적입니다.


3. 자바는 메모리 관리를 하지 않아도 됩니다.
- Garbage Collection 라는 메모리 관리 기법을 염두하고 설계되었기 때문에 프로그램에 해당 관리기법이 적용되어있습니다. 가비지 컬렉션은 동적으로 할당했던 메모리 영역 중에서 필요 없게 된 영역을 탐지하여, 자동으로 해제하는 기법을 의미합니다.


4. 자바는 개발자가 예외처리를 해주어야 합니다.
- 일반적인 언어에서는 원하는대로 동작이 이루어지지 않은 경우, Exception 을 발생시켜 에러처리를 할 수 있습니다. 하지만, 자바의 경우, 개발자가 직접 예외처리를 해주어야 합니다. 


5. 자바는 동적로딩 ( Dynamic Loading ) 을 지원합니다.

- 프로그램 실행시에 모든 클래스가 로딩되는 것이아니라, 필요한 시점에서 필요한 클래스를 로딩하여 사용하는 것을 지원해줍니다. 동적로딩은 2가지의 동작방식이 있습니다. 

- 로드타임 동적 로딩과 런타임 동적 로딩

로드타임 동적로딩은, 하나의 클래스를 로딩하는 과정에서 동적으로 클래스를 로딩하는 것

런타임 동적로딩은, 클래스를 로딩할 때가 아닌, 코드를 실행하는 순간에 클래스를 로딩하는 것


6. 이외의 특징 
- 오픈 소스이기 때문에 많으 라이브러리 존재. 멀티 쓰레딩이 용이. 배우기 쉬운 언어이다. 네트워크와 분산처리를 지원해줍니다. 

많은 특징들을 가지고 있습니다만, 위의 5가지가 가장 중요하다고 생각되어 설명되어있고, 나머지는 이런 특징이 있구나~ 하고 넘기면 될거 같아서 모아서 작성하였습니다.


2. Java is an object-oriented language.

It is object-oriented, as it is an object-oriented programming language.


3. Java does not have to manage memory.

- Because it is designed with a memory management technique called garbage collection in mind, the program has applied the corresponding management technique. Garbage collection refers to a mechanism that automatically detects and deallocates dynamically allocated memory areas.


4. Java should be handled by the developer.

- In normal language, if an operation is not performed as desired, an exception can be generated and error handling can be performed. However, in the case of Java, the developer should handle the exception directly.


5. Java supports dynamic loading.

- It does not load all the classes at the time of executing the program, but it supports loading the required classes at the necessary time. There are two types of dynamic loading.

- Load-time dynamic loading and run-time dynamic loading

Load-time dynamic loading is a dynamic loading of classes during the loading of one class

Runtime dynamic loading means loading the class at the moment of executing the code, not when loading the class



6. Other features

- Many libraries exist because they are open source. Multithreading is easy. It is a language that is easy to learn. It supports network and distributed processing.

I have many features, but the above five are considered to be the most important and explained, and the rest have these characteristics.



JVM

개요

 자바 바이트코드를 실행할 수 있는 주체입니다. 자바 바이코트는 JVM을 실행하는 명령어 형태이며, 어셈블리어와 같은 맥락의 기계어와 고급언어의 중간단계로 인지하면 될 것 이다.


summary  The subject that can execute Java bytecode. The JavaBeCoat is a form of instruction that runs the JVM and should be understood as an intermediate step between the machine language and the high-level language in the same context as the assembly language.



앞서, 자바 설명에서 나왔던 그림이 다시나왔군요. 자바 프로그램이 운영체제에 종속되지 않을 수 있는 점은 바로, JVM에 종속적이기 때문입니다. 리눅스 OS에서는 리눅스 체제에 맞는 JVM , Windows OS 에서는 윈도우 체제에 맞는 JVM 이 존재하며, 해당 JVM이 정상 설치된 환경에서는 JAVA 프로그램은 어디서든지 동작할 수 있도록 운영체제와 자바프로그램 사이를 중계자 역활을 하고 있습니다.


Previously, the picture from the Java description came back. The reason that Java programs may not depend on the operating system is that they are JVM-dependent. In Linux OS, JVM is suitable for Linux system. In Windows OS, JVM is suitable for Windows system. In normal environment where JVM is installed properly, JAVA program acts as an intermediary between operating system and Java program so that it can operate anywhere.





부족한 내용, 틀린 내용, 지적하고 싶은 부분, 공감되는 부분 

댓글 , 공감등을 통한 참여는 언제든지 환영합니다.

 지식 공유를 통해 함께 앞으로 

나아갈 수 있도록 도와주시면 감사하겠습니다. ^^


★ 공감, 광고 클릭 한번으로 저에게 큰 힘이 됩니다 ★



Inadequate content, wrong content, points to point out, part of sympathy Please feel free to participate in comments, sympathy, etc.  Forward together through knowledge sharing I would appreciate it if you could help me move forward. :)


★ Empathy, the click of an ad is a great power to me