posted by changhozz 2012. 5. 7. 13:52

1.운영체제와 독립적이다.

2.객체지향언어이다.

3.자동 메모리 관리

(가비지 컬렉터가 자동적으로 메모리를 관리한다.)

4.네트워크와 분산처리를 지원한다.

5.멀테쓰레드를 지원한다.

(하나의 프로그램에서 동시에 여러개의 일을 수행할수있도록 해주는것)

6.동적로딩을 지원한다.

posted by changhozz 2012. 5. 4. 14:40

javac.exe - 자바 컴파일러. 자바소스코드를 바이트코드로 컴파일함
컴파일 - 고급언어로 작성된 프로그램을 저급언어로 번역하는것.
바이트코드 - 자바전용기계어 (자바프로그램의 컴파일된 형태)
고급언어 - 인간이 구분하고 쉬운 언어
저급언어 - 컴퓨터등의 기계가 이해할수있는언어.
java.exe - 자바인터프리터. 컴파일러가 생성한 바이트코드를 해석하고 실행한다.
인터프리터 - 해석.
javap.exe - 역어셈블러. 컴파일된 클래스파일을 원래의 소스로 변환한다
소스 - 컴파일하기전에 짠 고급언어로 쓰여진 프로그램.
JDK(java development kit) -자바개발도구
자바용 소프트웨어 개발 툴.
JDK = JRE + 개발에 필요한 실행파일(ex- java.exe)
JRE = Java API + JVM
JRE (Java Runtime enviroment) 자바실행환경
자바로 작성된 응용프로그램이 실행되기위한 최소환경.
JVM(Java Virtual Machine) - 자바가상도구
자바를 실행하기 위한 가상 컴퓨터
일반 어플리케이션은 OS와 바로 맞붙어 있기 때문에 OS종속적이다.
따라서 다른 OS에서 실행시키기 위해서는 어플리케이션을 그 OS에 맞게 변경해야한다.
반면 Java 어플리케이션은 JVM 하고만 상호작용을 하기  때문에 OS와 하드웨어 독립적이라,
다른 OS에서도 프로그램의 변경없이 실행이 가능한것이다.
Java API(Application Programming Interface) - 자바 클래스 라이브러리로 프로그램에서 사용할수있는 클래스들.
라이브러리(Library) - 컴퓨터 프로그램에서 자주 사용되는 부분 프로그램을 모아 놓은것.
언제든지 자유롭게 사용할수있도록 모아 놓은 것.
확장자 - 파일종류를 구분하기 위해서 파일명의 마침표뒤에 붙이는 문자 ex) java.class
인코딩 - 정보의 형태나 형식을 변환하는 처리나 처리방식이다.
디렉토리 - 디스크에 저장된 파일들의 목록을 담고있는 영역.
패키지 - 서로 연관된 클래스들의 집합
변수 - 값을 저장할수있는 메모리상의 공간.
변수의 값은 바뀔수있으며, 하나의 변수에는 단 하나의 값만을 저장할수있다.
상수 - 값을 한번 지정하면 변경할수 없는 저장 공간.
리터럴 - 그 자체로 데이터인것.
1의보수 - 0은1로 1은0으로 바꿔주는것.
2의보수 - 1의보수에 1을 더한것.
피연산자 - 연산의 대상이 되는 데이터
Math.round - 반올림해주는애.