일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 자바
- 상속
- nth-of-type()
- datalist
- 부정 선택자
- spring
- ES6
- JavaScript
- nth-child()
- 가상요소 선택자
- optgroup
- 부스트코스
- HTML Templating
- jsp
- vmax
- 서블릿
- vmin
- 웹개발
- EDWITH
- 즐거운 자바
- 보충필요
- 즐거운자바
- 김성박
- 소스트리
- 복합 선택자
- 다시보자
- 가상클래스 선택자
- 속성 선택자
- 깃헙
- 다시볼 것
Archives
- Today
- Total
기억의 DataBase
JAVA Start 본문
-
JAVA Start
김성박의 즐거운 자바
-자바는 리눅스, 유닉스 환경에서 많이 사용된다. 리눅스를 공부할 필요가 있다.
(리눅스를 공부하기 가장 좋은 방법은 윈도우를 지우고, 리눅스를 OS로 사용하는 것이 가장 빠르다)
-JRE : 자바를 실행하는데는 JRE만 있으면 된다.
-JDK : 자바를 개발하는데 필요한 도구
- 환경변수 설정 : 2가지 환경변수를 추가
-
변수이름 : JAVA_HOME(리눅스는 대소문자를 구분하므로 대문자가 좋다)
변수값 : JDK 경로
-
변수이름 : CLASSPATH
변수값 : .%JAVA_HOME%₩lib₩tools.jar
(tools.jar의 경우 다른 웹 프로그램이나 안드로이드를 사용할때 필요)
(에버노트에서 ₩(역슬래쉬)가 \으로만 입력이 되서 특수문자(₩)를 쓴 것 - 그대로 복사하시면 Error)
.%JAVA_HOME%₩lib;.;
(cmd창에서 java Hello 실행이 안되서 classpath 변수값을 변경함 - 확장자를 알 수 있게 해주는 것)
- cmd와 환경설정
-cmd 창은 환경변수 변경시, 껏다가 다시 켜야 변경사항이 적용됨
-파일탐색기 > 보기 > 옵션 > 보기 > 파일 및 폴더
> 알려진 파일 형식의 파일 확장명 숨기기(체크 해제) > 모든 폴더에 적용
(이렇게 해야 파일 생성시 원하는 확장자로 파일을 생성할 수 있다
> 설정을 안하면 hello.java라고 하면 hello.java.txt로 생성됨)
> 설정을 안하면 hello.java라고 하면 hello.java.txt로 생성됨)
-cmd 창 명령어 간단 정리
1.cd >> 디렉토리 이동
2.dir >> 디렉토리 내의 파일목록
- Java 코드의 실행과정
aaa.java >> 사람이 읽을 수 있는 언어(English)로 된 파일 - 자연어
aaa.class >> 컴퓨터가 읽을 수 있는 언어(0,1) - 기계어
-javac >> aaa.java 파일을 aaa. class 파일(바이트 코드)로 컴파일
-java >> 컴파일 된 class파일을 실행
자연어(.java) > javac > class파일(바이트 코드) > java(JVM - JRE에 포함)가 class파일을 읽어서 한줄한줄 실행
컴파일 인터프리터
※바이트 코드는 완전한 기계어가 아니다
>> JVM내부의 JIT로 한번 더 번역해야하므로, 한번의 컴파일로 기계어인 C, C++에 비해 느릴 수 밖에 없음.
>> 바이트 코드는 하나지만, JVM에 의해서 번역되는 기계어는 운영체제에 따라서 달라짐
(운영체제에 따라서 같은 0,1에 대한 해석이 다르다!)
※바이트 코드와 바이너리 코드의 차이
CPU가 이해할 수 있는 언어가 바이너리 코드라면 바이트 코드는 가상 머신이 이해할 수 언어이다.
CPU가 아닌 가상 머신에서 이해할 수 있는 코드를 위한 이진 표현법이다.
즉, 가상 머신이 이해할 수 있는0과 1로 구성된 이진코드를 의미.
출처 : http://shrtorznzl.tistory.com/82
'Java' 카테고리의 다른 글
생성자 (0) | 2019.01.17 |
---|---|
예외처리(Exception) (0) | 2019.01.17 |
객체지향 (0) | 2019.01.16 |
package(디렉토리)와 중요 package (0) | 2019.01.14 |
OOP(Object Oriented Programming) - 객체지향과 Memory (0) | 2019.01.14 |
Comments