다잇소


[IT/트랜드] Java 기초 – ① ( Java 개요 , Java Source 구성 및 실행)

2017.08.20
 


 




 


1.         Java 개요


1.         Java란


– 제임스 고슬링에 의해서 개발


– 객체 지향 언어(OOP) Programming Language


– source에서 compile 후에 Java 가상머신(JVM)에서 interpreter 방식으로 java byte 코드 실행


– 강력한 보안


– 특정 platform에 종속적이지 않고, 거의 모든 경우에 이식가능


 


2.         Java의 발전


– Java 1.0 : 느리고, 주로 Web에서 동적 표현을 위한 Applet 용도로 사용


– Java 1.1 : JIT (just-in-compliation time) -> 속도 향상


– Java 1.2 : Swing의 도입, Java Collection framework


– Java 5 ( Java 1.5 ) – 명칭변경, Generics, Annotation, Autoboxing, Enumeration, Varargs, Static import 도입


– Java 8 ( Java 1.8) – Lambda expression, Method reference, Stream, default method


 


3.         Java의 구성요소


Java – Programming language


Java source – 인간이 읽기 가능한 Program의 원본


Java byte – Java source를 compile 후 class file


JVM – Java Virtual Machine


      Java byte 적재, Java byte를 binary code로 compile, 그리고 실행


JRE – Java Runtime Environment (JVM + Java library) , Java byte 실행 환경


JDK – Java Development Kit ( JRE + Java compiler 및 기타 도구 )


 


4.         Java의 동작원리


1502972100228


5.         설치


– 내려받기 위치 : http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html


– 지원 OS : Linux, Solaris, Mac OS, Windows


– x86은 32 bit OS 용, x64: 64 bit OS용


 


2.         Java Source 구성 및 실행


1. HelloWorld.java










package com.kds.java.basic.char01; // 현재 class 속한 package 선언


 


import java.util.Date; // 사용할 class 가져오기


 


public class HelloWorld { // class 선언 시작


public static void main(String[] args) { // method 시작


String banner = “Hello World!!”;// 지역 변수 선언


Date now = new Date();


System.out.println(banner + ” at “ + now); // 다른 object내에 method 호출


}


}



 


2. Java 실행하기


1) Java source compile










D:\Workspace\Java\JavaBasic\src>javac com\kds\java\basic\char01\HelloWorld.java ( O )


D:\Workspace\Java\JavaBasic\src\com\kds\java\basic\char01>javac HelloWorld.java ( O )



2) Java byte code 실행하기










D:\Workspace\Java\JavaBasic\src>java com.kds.java.basic.char01.HelloWorld ( O )


Hello World!! at Sun Aug 13 12:18:37 KST 2017
 


D:\Workspace\Java\JavaBasic\src>java com.kds.java.basic.char01.HelloWorld.class ( X )


오류: 기본 클래스 com.kds.java.basic.char01.HelloWorld.class을(를) 찾거나 로드할 수 없습니다.


 


D:\Workspace\Java\JavaBasic\src\com\kds\java\basic\char01>java HelloWorld ( X )


오류: 기본 클래스 HelloWorld을(를) 찾거나 로드할 수 없습니다.


 


D:\Workspace\Java\JavaBasic\src\com\kds\java\basic\char01>java com.kds.java.basic.char01.HelloWorld ( X )


오류: 기본 클래스 com.kds.java.basic.char01.HelloWorld을(를) 찾거나 로드할 수 없습니다.


 



3) java를 이용하여 실행 할 경우 해당 class에서 main이라는 method를 시작점으로 시작


 


3. Java 실행 환경 및 command


1) Windows










windows


C:\Users\BK>setx JAVA_HOME “C:\Program Files\Java\jdk1.8.0_112”
C:\Users\BK>setx PATH “%PATH%;%JAVA_HOME%\bin”


C:\Users\BK>setx CLASSPATH “%CLASSPATH%;.



2) Unix


사용자 .profile을 수정










JAVA_HOME=/opt/java/ jdk1.8.0_112


PATH=$PATH:$JAVA_HOME/bin


CLASSPATH=$CLASSPATH:.


export JAVA_HOME PATH CLASSPATH



환경 변수 CLASSPATH – java program을 실행 시, 참조할 library로 이용 될 jar, zip 및 directory


3) javac 명령어


– Java source file를 java byte code인 class로 compile


– 주요 option


① g : debugging 정보 생성 , g:none : debugging 정보 생성 하지 않음


② cp : 환경변수 CLASSPATH를 사용하지 않고, 지정하여 사용


③ source : source file의 java version 지정


④ d : class 생성 경로 지정. 지정하지 않으면 source file과 동일 위치


⑤ encoding : java source file 문자셋 지정


⑥ target : 생성될 class 의 java version.


 


4) java 명령어


실제로 java byte를 실행


– 주요 option


① version : Java version를 알려 줍니다.


② cp,classpath : 환경변수 CLASSPATH를 사용하지 않고, 지정하여 사용


③ D : Java의 속성을 지정, 예)  -Dfile.encoding=euc-kr :  한글 encoding


 


5) 기타 명령어


– jar : java 압축 명령어


     압축 시 : jar cvf 압축file명(예:java.jar) 압축대상file(directory, files)


     압축 풀기 : jar xvf 압축file명
– javadoc : java document을 만들 때 사용


– javap : class file를 disembling 합니다.


– jdb : Java debugger


 


※ Quiz


1. 다음 HelloWorld2.java를 compile하고 , 실행 후에 결과 확인하고, hello2.jar로 압축하세요.


HelloWorld2.java










package com.kds.java.basic.char01;


 


public class HelloWorld2 {


public static void main(String[] args) {


String msg = “Hello World!!”;


Banner banner = new Banner();


banner.displayBanner(msg, 20 );


}


}


 


class Banner {


void displayBanner(String msg, int times) {


for(int i=1; i <= times;i++) {


if( i%10==1 ) {


System.out.println(i +“st “ + msg );


}


else if( i%10==2 ) {


System.out.println(i +“nd “ + msg );


}


else if( i%10==3 ) {


System.out.println(i +“rd “ + msg );


}


else {


System.out.println(i +“th “ + msg );


}


}


}


}



 




 




설정된 프로필 사진이 없습니다.
| Wise리더
관심분야 IT,여행,맛집

카테고리 레이어 닫기